From 0543f9d24ae1e8a387b12f3c20eab7df36d96efa Mon Sep 17 00:00:00 2001 From: John Daley Date: Wed, 17 May 2017 15:38:11 -0700 Subject: [PATCH] net/enic: flow API documentation Update enic NIC guide, release notes and add flow API to the supported features list. Signed-off-by: John Daley Reviewed-by: Nelson Escobar --- doc/guides/nics/enic.rst | 52 ++++++++++++++++++++++++++ doc/guides/nics/features/enic.ini | 1 + doc/guides/rel_notes/release_17_08.rst | 6 +++ 3 files changed, 59 insertions(+) diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst index 89a3015853..cb5ae12505 100644 --- a/doc/guides/nics/enic.rst +++ b/doc/guides/nics/enic.rst @@ -213,6 +213,45 @@ or ``vfio`` in non-IOMMU mode. Please see :ref:`Limitations ` for limitations in the use of SR-IOV. +.. _enic-genic-flow-api: + +Generic Flow API support +------------------------ + +Generic Flow API is supported. The baseline support is: + +- **1200 series VICs** + + 5-tuple exact Flow support for 1200 series adapters. This allows: + + - Attributes: ingress + - Items: ipv4, ipv6, udp, tcp (must exactly match src/dst IP + addresses and ports and all must be specified). + - Actions: queue and void + - Selectors: 'is' + +- **1300 series VICS with Advanced filters disabled** + + With advanced filters disabled, an IPv4 or IPv6 item must be specified + in the pattern. + + - Attributes: ingress + - Items: eth, ipv4, ipv6, udp, tcp, vxlan, inner eth, ipv4, ipv6, udp, tcp + - Actions: queue and void + - Selectors: 'is', 'spec' and 'mask'. 'last' is not supported + - In total, up to 64 bytes of mask is allowed across all haeders + +- **1300 series VICS with Advanced filters enabled** + + - Attributes: ingress + - Items: eth, ipv4, ipv6, udp, tcp, vxlan, inner eth, ipv4, ipv6, udp, tcp + - Actions: queue, mark, flag and void + - Selectors: 'is', 'spec' and 'mask'. 'last' is not supported + - In total, up to 64 bytes of mask is allowed across all haeders + +More features may be added in future firmware and new versions of the VIC. +Please refer to the release notes. + .. _enic_limitations: Limitations @@ -260,9 +299,21 @@ Limitations - The number of SR-IOV devices is limited to 256. Components on target system might limit this number to fewer than 256. +- **Flow API** + + - The number of filters that can be specified with the Generic Flow API is + dependent on how many header fields are being masked. Use 'flow create' in + a loop to determine how many filters your VIC will support (not more than + 1000 for 1300 series VICs). Filter are checked for matching in the order they + were added. Since there currently is no grouping or priority support, + 'catch-all' filters should be added last. + How to build the suite ---------------------- +The build instructions for the DPDK suite should be followed. By default +the ENIC PMD library will be built into the DPDK library. + Refer to the document :ref:`compiling and testing a PMD for a NIC ` for details. @@ -313,6 +364,7 @@ Supported features - Scattered Rx - MTU update - SR-IOV on UCS managed servers connected to Fabric Interconnects. +- Flow API Known bugs and unsupported features in this release --------------------------------------------------- diff --git a/doc/guides/nics/features/enic.ini b/doc/guides/nics/features/enic.ini index 94e7f3cbaf..0de3ef53cf 100644 --- a/doc/guides/nics/features/enic.ini +++ b/doc/guides/nics/features/enic.ini @@ -20,6 +20,7 @@ VLAN filter = Y CRC offload = Y VLAN offload = Y Flow director = Y +Flow API = Y L3 checksum offload = Y L4 checksum offload = Y Packet type parsing = Y diff --git a/doc/guides/rel_notes/release_17_08.rst b/doc/guides/rel_notes/release_17_08.rst index 74aae10f74..e3a920438d 100644 --- a/doc/guides/rel_notes/release_17_08.rst +++ b/doc/guides/rel_notes/release_17_08.rst @@ -41,6 +41,12 @@ New Features Also, make sure to start the actual text at the margin. ========================================================= +* **Added Generic Flow API support to enic.** + + Flow API support for outer Ethernet, VLAN, IPv4, IPv6, UDP, TCP, SCTP, VxLAN + and inner Ethernet, VLAN, IPv4, IPv6, UDP and TCP pattern items with QUEUE, + MARK, FLAG and VOID actions for ingress traffic. + Resolved Issues --------------- -- 2.20.1