aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Bowling <kbowling@FreeBSD.org>2026-07-29 02:57:46 +0000
committerKevin Bowling <kbowling@FreeBSD.org>2026-07-30 02:47:20 +0000
commit7eb7ff6459219e802d51add3ba9d1d9d874db561 (patch)
tree5ce24f43b269e921916bd8c2cd3ca334f6c43952
parent88229544807f0f8aedd202a980f251df5757fe5c (diff)
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
-rw-r--r--sys/dev/e1000/igb_txrx.c3
1 files changed, 2 insertions, 1 deletions
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