[E810 Offload VLAN Stripping]
David Marchand
david.marchand at redhat.com
Mon Mar 11 16:11:14 CET 2024
Hello Carlos,
On Mon, Mar 11, 2024 at 10:29 AM Carlos de Souza Moraes Neto
<carlosmn at 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
More information about the users
mailing list