Bug 1154

Summary: RTE flow: Getting a conflict error even though the rules doesn't have a conflict
Product: DPDK Reporter: Nikhil Thamminedi (lthammin)
Component: otherAssignee: dev
Status: UNCONFIRMED ---    
Severity: normal    
Priority: Normal    
Version: 22.03   
Target Milestone: ---   
Hardware: x86   
OS: Linux   

Description Nikhil Thamminedi 2022-12-18 00:32:57 CET
I am configuring below two flows on i40e through VPP and am seeing errors saying "Failed to create flow" and "i40e_flow_set_fdir_inset(): Conflict with the first rule's input set" although I don't see any conflict between the flows. Other combinations work good say if protocol is not 'any' (wildcard). Let me know if I am doing it wrong or if it's a bug.

The 2 flows are:
1. type/pattern: src-ip 1.1.1.1 dst-ip 2.2.2.2 protocol any
   action: redirect-to-queue 0
2. type/pattern: src-ip 3.3.3.3 dst-ip 4.4.4.4 protocol icmp
   action: redirect-to-queue 1


Logs:

DBGvpp# sh int
              Name               Idx    State  MTU (L3/IP4/IP6/MPLS)     Counter          Count
TenGigabitEthernetb5/0/3          1      up          9000/0/0/0
local0                            0     down          0/0/0/0
DBGvpp#
DBGvpp#
DBGvpp# test flow add src-ip 1.1.1.1 dst-ip 2.2.2.2 proto any redirect-to-queue 0
flow 0 added
DBGvpp# test flow add src-ip 3.3.3.3 dst-ip 4.4.4.4 proto icmp redirect-to-queue 1
flow 1 added
DBGvpp#
DBGvpp# sh flow entry
flow-index 0 type ipv4 active 0
  match: src_addr 1.1.1.1, dst_addr 2.2.2.2, protocol any
  action: redirect-to-queue
    redirect-to-queue 0
flow-index 1 type ipv4 active 0
  match: src_addr 3.3.3.3, dst_addr 4.4.4.4, protocol ICMP
  action: redirect-to-queue
    redirect-to-queue 1
DBGvpp#
DBGvpp# clear log
DBGvpp#
DBGvpp# test flow enable index 0 TenGigabitEthernetb5/0/3
DBGvpp#
DBGvpp# show log
DBGvpp#
DBGvpp# show flow int TenGigabitEthernetb5/0/3
supported flow actions   : count mark buffer-advance redirect-to-node redirect-to-queue rss drop
last DPDK error type     : 0
last DPDK error message  : n/a
DBGvpp#
DBGvpp# test flow enable index 1 TenGigabitEthernetb5/0/3
test flow: flow error: "not supported"
DBGvpp#
DBGvpp# show flow int TenGigabitEthernetb5/0/3
supported flow actions   : count mark buffer-advance redirect-to-node redirect-to-queue rss drop
last DPDK error type     : 2
last DPDK error message  : Failed to create flow.
DBGvpp#
DBGvpp# show log
2022/12/17 23:13:47:439 notice     dpdk           i40e_flow_set_fdir_inset(): Conflict with the first rule's input set.
DBGvpp#
DBGvpp#


Thanks,
Nikhil