Hi, The diff below fixes Rx desc RSS type. This matches what Linux and FreeBSD do. ok?
Index: sys/dev/pci/if_ix.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_ix.c,v retrieving revision 1.178 diff -u -p -u -p -r1.178 if_ix.c --- sys/dev/pci/if_ix.c 22 Dec 2020 23:25:37 -0000 1.178 +++ sys/dev/pci/if_ix.c 14 Jul 2021 05:41:08 -0000 @@ -3071,7 +3071,8 @@ ixgbe_rxeof(struct rx_ring *rxr) i = rxr->next_to_check; while (if_rxr_inuse(&rxr->rx_ring) > 0) { - uint32_t hash, hashtype; + uint32_t hash; + uint16_t hashtype; bus_dmamap_sync(rxr->rxdma.dma_tag, rxr->rxdma.dma_map, dsize * i, dsize, BUS_DMASYNC_POSTREAD); @@ -3101,7 +3102,8 @@ ixgbe_rxeof(struct rx_ring *rxr) vtag = letoh16(rxdesc->wb.upper.vlan); eop = ((staterr & IXGBE_RXD_STAT_EOP) != 0); hash = lemtoh32(&rxdesc->wb.lower.hi_dword.rss); - hashtype = lemtoh32(&rxdesc->wb.lower.lo_dword.data) & + hashtype = + lemtoh16(&rxdesc->wb.lower.lo_dword.hs_rss.pkt_info) & IXGBE_RXDADV_RSSTYPE_MASK; if (staterr & IXGBE_RXDADV_ERR_FRAME_ERR_MASK) {