git: 7eb7ff645921 - main - igbv: Correct I350 loopback VLAN byte order
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 30 Jul 2026 02:48:03 UTC
The branch main has been updated by kbowling:
URL: https://cgit.FreeBSD.org/src/commit/?id=7eb7ff6459219e802d51add3ba9d1d9d874db561
commit 7eb7ff6459219e802d51add3ba9d1d9d874db561
Author: Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2026-07-29 02:57:46 +0000
Commit: Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2026-07-30 02:47:20 +0000
igbv: Correct I350 loopback VLAN byte order
I350 loopback receive descriptors report VLAN tags byte-swapped for
both PFs and VFs. The receive path handled the PF device types but
omitted e1000_vfadapt_i350, causing an admitted VF VLAN packet to be
delivered untagged to the VF parent.
Include the I350 VF type in the existing correction. This matches the
dedicated IGB_RXQ_FLAG_LB_BSWAP_VLAN handling in DPDK igbvf.
MFC after: 1 week
Sponsored by: BBOX.io
---
sys/dev/e1000/igb_txrx.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/sys/dev/e1000/igb_txrx.c b/sys/dev/e1000/igb_txrx.c
index 513e0c29dd09..07a01274064c 100644
--- a/sys/dev/e1000/igb_txrx.c
+++ b/sys/dev/e1000/igb_txrx.c
@@ -513,7 +513,8 @@ igb_isc_rxd_pkt_get(void *arg, if_rxd_info_t ri)
if (staterr & E1000_RXD_STAT_VP) {
if (((sc->hw.mac.type == e1000_i350) ||
- (sc->hw.mac.type == e1000_i354)) &&
+ (sc->hw.mac.type == e1000_i354) ||
+ (sc->hw.mac.type == e1000_vfadapt_i350)) &&
(staterr & E1000_RXDEXT_STATERR_LB))
ri->iri_vtag = be16toh(rxd->wb.upper.vlan);
else