Hello All,

We are running software components that use synchronous rte flow rules to match 
IP in IP packets. That means, we are matching packets with pattern of eth / 
ipv6 / ipv4 using rte flow rules. This approach works until DPDK 24.11.2. After 
investigation, we discover that, this patching commit [1] breaks matching of 
the above described header pattern, as it seems to only consider IP in IP 
tunneling coexisting with VXLAN encapsulation. To reproduce the error, the 
following testpmd commands can be used.


```
sudo ./dpdk-testpmd -a 
0000:3b:00.0,class=rxq_cqe_comp_en=0,rx_vec_en=1,representor=pf[0]vf[0-3] -a 
0000:3b:00.1,class=rxq_cqe_comp_en=0,rx_vec_en=1 -- -i --rxq=1 --txq=1 
--flow-isolate-all

flow create 0 ingress pattern eth / ipv6 proto is 0x0004 / end actions queue 
index 0 / end
or
flow create 0 ingress pattern eth / ipv4 proto is 0x0004 / end actions queue 
index 0 / end
```

and the following error will be emitted:
```
port_flow_complain(): Caught PMD error type 13 (specific pattern item): cause: 
0x7ffc9943af78, multiple tunnel not supported: Invalid argument
```

It would be appreciated to know if it is intended behavior or negative side 
effect of the mentioned DPDK patch commit. Would it be possible to again 
support IP in IP encapsulation for the outer headers?

[1] 
https://github.com/DPDK/dpdk-stable/commit/116949c7a7b780f147613068cbbd6257e6053654

Best regards,
Tao Li

Reply via email to