Bug ID 1203
Summary ice: cannot create 2 rte_flows with 2 actions, only with 1 action
Product DPDK
Version 23.03
Hardware All
OS All
Status UNCONFIRMED
Severity normal
Priority Normal
Component ethdev
Assignee dev@dpdk.org
Reporter maxime.leroy@6wind.com
Target Milestone ---

kernel driver: 1.10.1.2.2
firmware-version: 4.10 0x80015191 1.3310.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 7 -a 17:00.0 -a 0000:17:00.1  --  -i --nb-cores=2 --nb-ports=2
--total-num-mbufs=2048


RTE_FLOWS rules can be created
------------------------------


With queue action:

testpmd> flow create 0 ingress pattern eth / ipv4 proto is 1  / end actions
queue index 0 / end
ice_flow_create(): Succeeded to create (2) flow
Flow rule #0 created
testpmd> flow create 0 ingress pattern eth / ipv4 / udp src is 22 / end 
actions queue index 0 / end
ice_flow_create(): Succeeded to create (2) flow
Flow rule #1 created

With mark action:

testpmd> flow create 0 ingress pattern eth / ipv4 proto is 1  / end actions
mark id 1 / end
ice_flow_create(): Succeeded to create (2) flow
Flow rule #0 created
testpmd> flow create 0 ingress pattern eth / ipv4 / udp src is 22 / end 
actions mark id 1 / end
ice_flow_create(): Succeeded to create (2) flow
Flow rule #1 created

RTE_FLOWS rules cannot be created
---------------------------------

with mark + queue action:

testpmd> flow create 0 ingress pattern eth / ipv4 proto is 1  / end actions
mark id 1 / queue index 0 / end
ice_fdir_rx_parsing_enable(): FDIR processing on RX set to 1
ice_flow_create(): Succeeded to create (1) flow
Flow rule #0 created
testpmd> flow create 0 ingress pattern eth / ipv4 / udp src is 22 / end actions
 mark id 1 / queue index 0 / end
ice_fdir_cross_prof_conflict(): Failed to create profile for flow type 1 due to
conflict with existing rule of flow type 4.
ice_flow_create(): Failed to create flow
port_flow_complain(): Caught PMD error type 2 (flow rule (handle)): Profile
configure failed.: Invalid argument

with mark + passthru action:

testpmd> flow create 0 ingress pattern eth / ipv4 proto is 1  / end actions
mark id 1 / passthru / end
ice_fdir_rx_parsing_enable(): FDIR processing on RX set to 1
ice_flow_create(): Succeeded to create (1) flow
Flow rule #0 created
testpmd> flow create 0 ingress pattern eth / ipv4 / udp src is 22 / end actions
 mark id 1 / passthru / end
ice_fdir_cross_prof_conflict(): Failed to create profile for flow type 1 due to
conflict with existing rule of flow type 4.
ice_flow_create(): Failed to create flow
port_flow_complain(): Caught PMD error type 2 (flow rule (handle)): Profile
configure failed.: Invalid argument

Question
--------

1. Does ice nics support to have several actions ?
2. What is the difference between MARK vs MARK+PASSTRHU ?
   It seems to be the same:
   http://git.dpdk.org/dpdk/commit/?id=0f664f7d57268f9ab9bdef95f0d48b3ce5004a61
   In this case, there is no reason to support MARK and not MARK+PASSTRHU with
2   flows.
          


You are receiving this mail because: