diff options
| author | Kevin Bowling <kbowling@FreeBSD.org> | 2026-07-29 02:57:46 +0000 |
|---|---|---|
| committer | Kevin Bowling <kbowling@FreeBSD.org> | 2026-07-30 02:47:20 +0000 |
| commit | 7eb7ff6459219e802d51add3ba9d1d9d874db561 (patch) | |
| tree | 5ce24f43b269e921916bd8c2cd3ca334f6c43952 | |
| parent | 88229544807f0f8aedd202a980f251df5757fe5c (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.c | 3 |
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 |
