Tuesday, July 31, 2018 10:57 AM, Shahaf Shuler: > Subject: [dpdk-dev] [PATCH] net/mlx5: fix VLAN filtering > > The below commit has added a graph based expansion logic for RSS rule to > satisfy Verbs requirements. With this logic, for example, the rule: > > flow create 0 ingress pattern eth / end actions rss queues 0 1 end types ipv4- > tcp ipv6-tcp end / end > > will be expanded into the rules: > > flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss queues 0 1 > end > types ipv4-tcp ipv6-tcp end / end > > flow create 0 ingress pattern eth / ipv6 / tcp / end actions rss queues 0 1 > end > types ipv4-tcp ipv6-tcp end / end > > flow create 0 ingress pattern eth / end actions queue index 0 / end > > The below commit defined two graphs: > 1. graph for the tunnel case which starts from the ETH item 2. graph for the > non-tunnel case which starts from the ETH item > > The graphs are ignoring the VLAN case. Hence rules with VLAN item will fail to > traverse the graph and it will result in flow rule creation error. > > Adding the VLAN item to the existing graphs will not work as the flow engine > will reject any VLAN item without a specific vid. > > To solve this case two new graphs were added (for the tunnel and non- > tunnel case) which contain the VLAN item and are being used only when the > VLAN item exists in the flow pattern. > > Two cases left un-covered for the inner RSS: > 1. The case were VLAN exists in the pattern as part of the inner headers 2. > The case were VLAN exists in the pattern both in the outer and the inner > headers > > Solving those cases will require to add two more graphs. > Holding a VLAN for the overlay network is not common, the subnets are > usually defined by the tunnel protocol, for example the VXLAN vni. > Hence adding those two graphs seems like an overkill at this point. > Based on needs one can add those to provide the full support. > > Fixes: 592f05b29a25 ("net/mlx5: add RSS flow action") > Cc: nelio.laranje...@6wind.com > > Signed-off-by: Shahaf Shuler <shah...@mellanox.com>
Applied to next-net-mlx, thanks.