Bug 8218

Summary: 8021q - Vlan - Tag lost/missing on base interface when sniffing.
Product: Networking Reporter: Pieter E Smit (kernelbugzilla)
Component: OtherAssignee: Arnaldo Carvalho de Melo (acme)
Status: REJECTED WILL_NOT_FIX    
Severity: low CC: protasnb
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.20 Subsystem:
Regression: --- Bisected commit-id:

Description Pieter E Smit 2007-03-16 06:30:57 UTC
Most recent kernel where this bug did *NOT* occur: Unknown
Distribution:Debian
Hardware Environment:Laptop
Software Environment:
Problem Description:8021q vlan, tags not visible on base interface.
e.g. create vlans #vconfig add eth1 330
tcpdump -i eth1
ping [via eth1.330]
The dump has no vlan info/tag
If sniffing on a interface connected to a trunk port on a switch the tags can be
seen.

Steps to reproduce:
create a vlan
add a subnet to the vlan interface
run ping out the interface
sniff on base interface.

if done with 2 vlans, the base interface displays the traffic from both,
interleaved with no vlan tags.
Comment 1 Ben Greear 2007-03-16 14:41:09 UTC
This will be the case with any NIC that does hw-acceleration (e1000 and most
other newer NICs).

It would require modifying the driver to not advertise it's vlan hw-accel and
not strip tags internally for this sniffing to work.

It is possible you could get the NIC driver writer(s) to allow the
VLAN-HW-ACCEL to be disabled, so please redirect this bug to them.
Comment 2 Pieter E Smit 2007-03-18 09:33:02 UTC
Is there real value to HW vlan acceleration ? 
Adding and removing 4bytes form a packet header ? 
CRC HW acceleration makes sense as it is a CPU intensive task.

Being able to see the packets as they on the wire entering and leaving the
interface is valuable, and a great debugging tool.
Comment 3 Natalie Protasevich 2007-07-07 17:19:01 UTC
What's the course of action? This seems quite useful to have headers for sniffing, maybe it should be some configurable option (like module parameter) that driver would implement. But I agree this seems to be driver's task. You may want to bring up this topic on LKML for discussion.
Thanks.