Hello Carlos, On Mon, Mar 11, 2024 at 10:29 AM Carlos de Souza Moraes Neto <carlo...@weg.net> wrote: > Hello, >
Adding some Intel folks. > I'm currently working on enabling the RTE_ETH_RX_OFFLOAD_VLAN_STRIP offload > feature to strip VLAN tags and store the VLAN information in the vlan_tci > field while using an Intel E810-XXVDA2 NIC. However, the VLAN tags are not > being stripped. I’ve already tried to update DPDK (23.11), E810 firmware > (4.40), ICE and DDP (1.3.35.0) but nothing. My console output is: > > EAL: Detected CPU lcores: 8 > EAL: Detected NUMA nodes: 1 > EAL: Detected shared linkage of DPDK > EAL: Multi-process socket /var/run/dpdk/rte/mp_socket > EAL: Selected IOVA mode 'VA' > EAL: VFIO support initialized > EAL: Using IOMMU type 1 (Type 1) > EAL: Probe PCI driver: net_ice (8086:159b) device: 0000:01:00.0 (socket -1) > ice_load_pkg_type(): Active package is: 1.3.35.0, ICE OS Default Package > (single VLAN mode) > EAL: Probe PCI driver: net_ice (8086:159b) device: 0000:01:00.1 (socket -1) > ice_load_pkg_type(): Active package is: 1.3.35.0, ICE OS Default Package > (single VLAN mode) > EAL: Probe PCI driver: net_e1000_igb (8086:1521) device: 0000:02:00.0 (socket > -1) > EAL: Probe PCI driver: net_e1000_igb (8086:1521) device: 0000:02:00.1 (socket > -1) > EAL: Probe PCI driver: net_e1000_igb (8086:1521) device: 0000:02:00.2 (socket > -1) > EAL: Probe PCI driver: net_e1000_igb (8086:1521) device: 0000:02:00.3 (socket > -1) > TELEMETRY: No legacy callbacks, legacy socket not created > ice_set_rx_function(): Using AVX2 OFFLOAD Vector Rx (port 0). > ice_set_tx_function(): Using AVX2 OFFLOAD Vector Tx (port 0). > ice_vsi_config_outer_vlan_stripping(): Single VLAN mode (SVM) does not > support qinq > ice_set_rx_function(): Using AVX2 OFFLOAD Vector Rx (port 1). > ice_set_tx_function(): Using AVX2 OFFLOAD Vector Tx (port 1). > ice_vsi_config_outer_vlan_stripping(): Single VLAN mode (SVM) does not > support qinq I think I reproduce your issue (though I see messages claiming support for double VLAN in my setup). I tested with testpmd in v23.11 and a E810 nic: 04:00.0 Ethernet controller: Intel Corporation Ethernet Controller E810-XXV for SFP (rev 02) # ./build/app/dpdk-testpmd -a 0000:04:00.0 -- --enable-hw-vlan-strip -i ... ice_load_pkg_type(): Active package is: 1.3.30.0, ICE OS Default Package (double VLAN mode) ... testpmd> set verbose 1 Change verbose level from 0 to 1 testpmd> start ... port 0/queue 0: received 1 packets src=00:00:00:00:00:00 - dst=FF:FF:FF:FF:FF:FF - pool=mb_pool_0 - type=0x8100 - length=60 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN L3_IPV4 - l2_len=18 - l3_len=20 - Receive queue=0x0 ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD I did a bisect, v22.11 worked for me and I ended up on: de5da9d16430 ("net/ice: support double VLAN") as the first bad commit. Reverting it restores vlan stripping for me on RHEL9. port 0/queue 0: received 1 packets src=00:00:00:00:00:00 - dst=FF:FF:FF:FF:FF:FF - pool=mb_pool_0 - type=0x0800 - length=60 - nb_segs=1 - VLAN tci=0x2a - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 - l2_len=14 - l3_len=20 - Receive queue=0x0 ol_flags: RTE_MBUF_F_RX_VLAN RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_VLAN_STRIPPED RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD Carlos, do you see the same? Bruce, Vladimir, could you have a look and confirm on your side? Thanks! -- David Marchand