Add support for missing TUN/TAP parameters from Linux kernel #1066
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hey folks! This PR fixes TUN/TAP implementation to handle several kernel parameters we've been missing. No rocket science – just closing gaps with well-known features.
What's changed
New field in
Tuntap
structDisabledQueues
to track inactive multiqueue slots (critical for live migration in VMs).Now parsing kernel flags
IFLA_TUN_PI
→ setsTUNTAP_NO_PI
(for "raw" packet mode)IFLA_TUN_VNET_HDR
→ setsTUNTAP_VNET_HDR
(QEMU/virtio needs this)IFLA_TUN_MULTI_QUEUE
supportIFLA_TUN_NUM_QUEUES
/DISABLED_QUEUES
Why this is needed
VNET_HDR
or multiqueue configs got silently ignored.DisabledQueues
for VM migrationsMULTI_QUEUE
matters for anyone using DPDK/VPP for fast packet processingHow I tested
✓ 4 active + 2 disabled queues
✓
VNET_HDR
flag (matching QEMU's requirements)✓ Legacy configs (verified old behavior stays intact)
Notes for review
iproute2
's implementation (see here) – we're not inventing wheels.Signed-off-by: Ivan Tsvetkov [email protected]