From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ophir Munk Subject: [PATCH v1] doc: update mlx4 flow limitations Date: Thu, 8 Feb 2018 06:55:54 +0000 Message-ID: <1518072954-19082-1-git-send-email-ophirmu@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain Cc: Thomas Monjalon , Olga Shern , Ophir Munk , Matan Azrad To: dev@dpdk.org, Adrien Mazarguil , Moti Haimovsky Return-path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0061.outbound.protection.outlook.com [104.47.1.61]) by dpdk.org (Postfix) with ESMTP id 615A71B856 for ; Thu, 8 Feb 2018 07:56:10 +0100 (CET) List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Moti Haimovsky This patch updates mlx4 documentation with flow configuration limitations imposed by NIC hardware and PMD implementation Signed-off-by: Ophir Munk --- 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