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: [email protected]
>
> Signed-off-by: Shahaf Shuler <[email protected]>
Applied to next-net-mlx, thanks.