git: c4109200f17e - stable/14 - igb: Correct I350 loopback VLAN byte order
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 06 Aug 2026 07:41:00 UTC
The branch stable/14 has been updated by kbowling:
URL: https://cgit.FreeBSD.org/src/commit/?id=c4109200f17e8fd41031eec64ae63f2bb2ee4192
commit c4109200f17e8fd41031eec64ae63f2bb2ee4192
Author: Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2026-07-29 02:57:46 +0000
Commit: Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2026-08-06 07:39:29 +0000
igb: 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.
Sponsored by: BBOX.io
(cherry picked from commit 7eb7ff6459219e802d51add3ba9d1d9d874db561)
---
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 6f13348bdb3e..ab59cd607f2c 100644
--- a/sys/dev/e1000/igb_txrx.c
+++ b/sys/dev/e1000/igb_txrx.c
@@ -515,7 +515,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