From: Moti Haimovsky <mo...@mellanox.com> This patch updates mlx4 documentation with flow configuration limitations imposed by NIC hardware and PMD implementation
Signed-off-by: Ophir Munk <ophi...@mellanox.com> --- doc/guides/nics/mlx4.rst | 77 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst index 98b9716..b81a875 100644 --- a/doc/guides/nics/mlx4.rst +++ b/doc/guides/nics/mlx4.rst @@ -515,3 +515,80 @@ devices managed by librte_pmd_mlx4. Port 3 Link Up - speed 40000 Mbps - full-duplex Done testpmd> + +Limitations +----------- + +Flow rules +~~~~~~~~~~ + +L2 (eth) +^^^^^^^^ + +- Can only use real destination MAC +- Source MAC is not taken into consideration + + For example using testpmd command - src mask must be 00:00:00:00:00:00 + otherwise the following command will fail + +.. code-block:: console + + testpmd> flow create 1 ingress pattern eth + src spec 00:16:3e:2b:e6:47 src mask FF:FF:FF:FF:FF:FF + / end actions drop / end + +- Supports only full MASK + + For example the following testpmd command will fail + +.. code-block:: console + + testpmd> flow create 1 ingress pattern eth + src spec 00:16:3e:2b:e6:47 + dst spec 4A:11:6C:FA:60:D0 dst mask FF:00:FF:FF:FF:00 + / end actions drop / end + + +- When configured to run in promiscuous or all-multicast modes does + not support additional rules +- Does not support the explicit exclusion of all multicast traffic +- Does not support partial VLAN TCI VID matching + +L3 (ipv4) +^^^^^^^^^ + +- Supports only 0 or full mask. Prerequisites: Need to have eth dst spec + +L4 (tcp/udp) +^^^^^^^^^^^^ + +- Supports only full mask + + For example the following testpmd command will fail + +.. code-block:: console + + testpmd> flow create 0 ingress pattern eth + src spec e4:1d:2d:2d:8d:22 + dst spec 00:15:5D:10:8D:00 dst mask FF:FF:FF:FF:FF:FF + / ipv4 src spec 144.144.92.0 src prefix 16 + / end actions drop / end + + Prerequisites: Need to have eth dst spec and IPv4 before it with all + its limitations + +Flow actions +~~~~~~~~~~~~ + +RSS +^^^ + +RSS is performed on packets to spread them among several queues based on hash +function calculation and according to provided parameters. + +- RSS hash is calculated on fixed packet fields including: L3 source and + destination addresses (ipv4 or ipv6) and L4 source and destination addresses + (upd or tcp ports) +- Uses default constant RSS key +- Only power of two number of queues is supported +- Every Rx queue can be specified only once in RSS action -- 2.7.4