Bug 1402

Summary: net/ice: vlan stripping is broken
Product: DPDK Reporter: David Marchand (david.marchand)
Component: otherAssignee: Vladimir (vladimir.medvedkin)
Status: CONFIRMED ---    
Severity: normal CC: john.mcnamara
Priority: Normal    
Version: 23.07   
Target Milestone: ---   
Hardware: All   
OS: All   

Description David Marchand 2024-03-14 11:11:58 CET
Following de5da9d16430 ("net/ice: support double VLAN"), "single" vlan stripping is broken with net/ice devices.

This was reported on the users@ mailing list.

https://inbox.dpdk.org/users/CAJFAV8xvLmPrdVMyhBm0daCLcpG47D0z6vFMzjhjdKbLerFKuw@mail.gmail.com/T/#t


Basically, vlan does not get stripped and the vlan tci is not put in mbuf metadata:

With v24.03-rc2:

# ./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


After reverting the commit:

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