[Bug 260068] e1000 & igb in netmap mode removes VLAN headers
- In reply to: bugzilla-noreply_a_freebsd.org: "[Bug 260068] e1000 & igb in netmap mode removes VLAN headers"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 28 Nov 2021 18:24:23 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260068 Vincenzo Maffione <vmaffione@FreeBSD.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|New |In Progress --- Comment #4 from Vincenzo Maffione <vmaffione@FreeBSD.org> --- I think that after the latest changes, the e1000 drivers (em, lem, igb) are looking at the wrong "capability" bitmaps, and therefore they are basically ignoring your ifconfig commands to disable capabilities (vlanhwtag, rxcsum, ...). In particular, VLAN hw stripping is always done by the device, even if you disable it. This explains why you don't see the VLAN header when using netmap. In the non-netmap case, the stripped VLAN information gets stored in the mbuf metadata, so that the kernel is able to insert that back when passing the packet to tcpdump. In the netmap case, the stripped VLAN information is lost, because netmap has no space for that kind of metadata. The patch I attached fixes the e1000 drivers so that device capabilities are actually used to configure the device accordingly (i.e., VLAN stripping is disabled in the hardware). The patch also does some cleanup to make the e1000 drivers more uniform w.r.t. VLAN/CSUM offload processing. Could you please test the patch for em and igb? The patch is meant for FreeBSD HEAD. -- You are receiving this mail because: You are the assignee for the bug.