Date: Sun, 28 Nov 2021 18:24:23 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 260068] e1000 & igb in netmap mode removes VLAN headers Message-ID: <bug-260068-227-AHD0kxLBDj@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-260068-227@https.bugs.freebsd.org/bugzilla/> References: <bug-260068-227@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D260068 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 los= t, 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 e10= 00 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 Free= BSD HEAD. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-260068-227-AHD0kxLBDj>