Hello all,

Ita stumbled upon an issue with rte_flow 'count' and 'mark' actions on DPDK version 23.11 and higher on Intel ice driver. By the table at https://doc.dpdk.org/guides/nics/overview.html ice driver should support these actions.

Specifications:

    NIC version:                E810-C, 2x100G
    Firmware version:     4.7
    Kernel Driver:             1.16.3
    DDP:                             1.3.39.1
    DDP Comms                1.3.46.0

DPDK versions that did not accept the rules: 23.11, 24.11

Testpmd start: sudo dpdk-testpmd -a 0000:af:00.1 --log-level=pmd.net.ice.driver:8 --file-prefix=sad -l 0,1 -- --txq=4 --rxq=4 -i --disable-rss

input:
testpmd> flow create 0 ingress pattern eth / ipv4 dst is 159.58.1.0 src is 195.168.1.0 / end actions count identifier 128 / drop / end

output:
ice_flow_create(): Failed to create flow
port_flow_complain(): Caught PMD error type 16 (specific action): cause: 0x7ffc0c519398, Invalid action type: Invalid argument

input:
testpmd>  flow create 0 ingress pattern eth / ipv4 dst is 159.58.1.0 src is 195.168.1.0 / end actions mark id 2 / drop / end

output:
ice_flow_create(): Failed to create flow
port_flow_complain(): Caught PMD error type 16 (specific action): cause: 0x7fffc6ce9648, Invalid action type: Invalid argument

However, on DPDK version 23.07 both rules are accepted without an issue.

Were these features deprecated? Alternatively, is there any workaround for counting packets matched against a rule?

Thanks,
Adam.

Reply via email to