Bug ID 1210
Summary ice: 'eth / ipv4 / udp dst is 4500 / mark' rte_flow not marking any packet
Product DPDK
Version 22.11
Hardware All
OS All
Status UNCONFIRMED
Severity normal
Priority Normal
Component ethdev
Assignee dev@dpdk.org
Reporter maxime.leroy@6wind.com
Target Milestone ---

Environnement
-------------

distribution for host/vm: Ubuntu 22.04.2 LTS, kernel 5.15.0-67-generic
kernel driver: 1.10.1.2.2
firmware-version: 4.20 0x8001778a 1.3346.0
COMMS DDP: 1.3.37
ICE OS Default Package version 1.3.30.0
testpmd cmdline:  ./build/app/dpdk-testpmd --log-level=.*ice.*,debug
--legacy-mem -c 0x1110001110 -a 0000:17:00.0 -a 0000:17:00.1  --  -i
--nb-cores=5 --nb-ports=2 --total-num-mbufs=16384 --rxq=4 --txq=4
dpdk version:  22.11.1
NIC: Intel Corporation Ethernet Controller E810-C for QSFP 

Reproduction
------------


Configuration
.............

On dut device, test-pmd configuration:


testpmd> set fwd rxonly 
Set rxonly packet forwarding mode
testpmd> set verbose 1
Change verbose level from 0 to 
testpmd> flow create 0 ingress pattern eth  / ipv4 / udp dst is 4500 / end 
actions mark id 4 / end
ice_fdir_cur_prof_conflict(): Profile already exists for flow type 1.
ice_fdir_rx_parsing_enable(): FDIR processing on RX set to 1
ice_flow_create(): Succeeded to create (1) flow
testpmd> flow create 0 ingress pattern eth  / ipv4 / udp dst is 42 / end 
actions mark id 4 / end
ice_fdir_cur_prof_conflict(): Profile already exists for flow type 1.
ice_fdir_rx_parsing_enable(): FDIR processing on RX set to 1
ice_flow_create(): Succeeded to create (1) flow
Flow rule #1 created
testpmd> start

Test with dport=42
..................

On tester device:
$ cat port-42.scapy 
port = 42
p = []
p += Ether(src='b8:ce:f6:83:b3:13',
dst='40:a6:b7:7d:43:90')/IP(dst='10.100.0.2', src='10.100.0.1')/UDP(dport=port,
sport=port)
sendp(p, iface="eth0", count=3, inter=0.1)


$ scapy < port-42.scapy 
Welcome to Scapy (2.3.3.dev1)
...>>> >>> >>> >>> >>> 
Sent 3 packets

Result on dut device:
testpmd> port 0/queue 2: received 1 packets
  src=B8:CE:F6:83:B3:13 - dst=40:A6:B7:7D:43:90 - pool=mb_pool_0 - type=0x0800
- length=60 - nb_segs=1 - RSS hash=0x63245812 - RSS queue=0x2 - FDIR matched
ID=0x4 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_UDP  - sw ptype: L2_ETHER
L3_IPV4 L4_UDP  - l2_len=14 - l3_len=20 - l4_len=8 - Receive queue=0x2
  ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_FDIR
RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_FDIR_ID
RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD 
port 0/queue 2: received 1 packets
  src=B8:CE:F6:83:B3:13 - dst=40:A6:B7:7D:43:90 - pool=mb_pool_0 - type=0x0800
- length=60 - nb_segs=1 - RSS hash=0x63245812 - RSS queue=0x2 - FDIR matched
ID=0x4 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_UDP  - sw ptype: L2_ETHER
L3_IPV4 L4_UDP  - l2_len=14 - l3_len=20 - l4_len=8 - Receive queue=0x2
  ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_FDIR
RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_FDIR_ID
RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD 
port 0/queue 2: received 1 packets
  src=B8:CE:F6:83:B3:13 - dst=40:A6:B7:7D:43:90 - pool=mb_pool_0 - type=0x0800
- length=60 - nb_segs=1 - RSS hash=0x63245812 - RSS queue=0x2 - FDIR matched
ID=0x4 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_UDP  - sw ptype: L2_ETHER
L3_IPV4 L4_UDP  - l2_len=14 - l3_len=20 - l4_len=8 - Receive queue=0x2
  ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_FDIR
RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_FDIR_ID
RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD 

Packet is MARKED ! (excepted result)


Test with dport=4500
....................

On tester device:
$ cat port-4500.scapy 
port = 4500
p = []
p += Ether(src='b8:ce:f6:83:b3:13',
dst='40:a6:b7:7d:43:90')/IP(dst='10.100.0.2', src='10.100.0.1')/UDP(dport=port,
sport=port)
sendp(p, iface="eth0", count=3, inter=0.1)


$ scapy < port-4500.scapy 
Welcome to Scapy (2.3.3.dev1)
...>>> >>> >>> >>> >>> 
Sent 3 packets

Result on dut device:

testpmd> port 0/queue 3: received 1 packets
  src=B8:CE:F6:83:B3:13 - dst=40:A6:B7:7D:43:90 - pool=mb_pool_0 - type=0x0800
- length=60 - nb_segs=1 - RSS hash=0x749278c7 - RSS queue=0x3 - sw ptype:
L2_ETHER L3_IPV4 L4_UDP  - l2_len=14 - l3_len=20 - l4_len=8 - Receive queue=0x3
  ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD
RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD 
port 0/queue 3: received 1 packets
  src=B8:CE:F6:83:B3:13 - dst=40:A6:B7:7D:43:90 - pool=mb_pool_0 - type=0x0800
- length=60 - nb_segs=1 - RSS hash=0x749278c7 - RSS queue=0x3 - sw ptype:
L2_ETHER L3_IPV4 L4_UDP  - l2_len=14 - l3_len=20 - l4_len=8 - Receive queue=0x3
  ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD
RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD 
port 0/queue 3: received 1 packets
  src=B8:CE:F6:83:B3:13 - dst=40:A6:B7:7D:43:90 - pool=mb_pool_0 - type=0x0800
- length=60 - nb_segs=1 - RSS hash=0x749278c7 - RSS queue=0x3 - sw ptype:
L2_ETHER L3_IPV4 L4_UDP  - l2_len=14 - l3_len=20 - l4_len=8 - Receive queue=0x3
  ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD
RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD 

packet is NOT MARKED ! (not excepted result, bug)
          


You are receiving this mail because: