[dpdk-dev,v2,7/7] net/enic: flow API documentation
Checks
Commit Message
Update enic NIC guide, release notes and add flow API to the
supported features list.
Signed-off-by: John Daley <johndale@cisco.com>
---
doc/guides/nics/enic.rst | 44 ++++++++++++++++++++++++++++++++++
doc/guides/nics/features/enic.ini | 1 +
doc/guides/rel_notes/release_17_05.rst | 6 +++++
3 files changed, 51 insertions(+)
Comments
> -----Original Message-----
> From: John Daley [mailto:johndale@cisco.com]
> Sent: Friday, March 31, 2017 3:06 AM
> To: Yigit, Ferruh <ferruh.yigit@intel.com>; Mcnamara, John
> <john.mcnamara@intel.com>
> Cc: dev@dpdk.org; John Daley <johndale@cisco.com>
> Subject: [PATCH v2 7/7] 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 <johndale@cisco.com>
> ---
> doc/guides/nics/enic.rst | 44
> ++++++++++++++++++++++++++++++++++
> doc/guides/nics/features/enic.ini | 1 +
> doc/guides/rel_notes/release_17_05.rst | 6 +++++
> 3 files changed, 51 insertions(+)
>
> diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst index
> c535b589c..a71add3ab 100644
> --- a/doc/guides/nics/enic.rst
> +++ b/doc/guides/nics/enic.rst
> @@ -140,6 +140,43 @@ Masking of these feilds for partial match is also
> supported.
> Without advanced filter support, the flow director is limited to IPv4
> perfect filtering of the 5-tuple with no masking of fields supported.
>
> +.. _enic-genic-flow-api:
> +
> +Generic Flow API support
> +------------------------
> +
> +Generic Flow API is supported. The baseline support is:
> +
> +- **1200 series VICs**
If you wanted you could make the different series into sub headings.
However, that is up to you. The docs are also okay as is.
Acked-by: John McNamara <john.mcnamara@intel.com>
On 3/31/2017 3:06 AM, John Daley wrote:
> Update enic NIC guide, release notes and add flow API to the
> supported features list.
>
> Signed-off-by: John Daley <johndale@cisco.com>
> ---
> doc/guides/nics/enic.rst | 44 ++++++++++++++++++++++++++++++++++
> doc/guides/nics/features/enic.ini | 1 +
> doc/guides/rel_notes/release_17_05.rst | 6 +++++
Patch needs to be rebased on top of latest next-net, to switch release
file 17.08, also enic.rst merge conflicts.
Thanks,
ferruh
> 3 files changed, 51 insertions(+)
<...>
This V3 is rebased on dpdk-next-net and retargeted at 17.08. Also,
inner ipv4, ipv6, udp, tcp support added for 1300 series VICs.
thank you,
johnd
John Daley (6):
net/enic: flow API skeleton
net/enic: flow API for NICs with advanced filters enabled
net/enic: flow API for NICs with advanced filters disabled
net/enic: flow API for Legacy NICs
net/enic: flow API debug
net/enic: flow API documentation
config/common_base | 1 +
doc/guides/nics/enic.rst | 51 ++
doc/guides/nics/features/enic.ini | 1 +
doc/guides/rel_notes/release_17_08.rst | 6 +
drivers/net/enic/Makefile | 1 +
drivers/net/enic/enic.h | 15 +-
drivers/net/enic/enic_ethdev.c | 21 +-
drivers/net/enic/enic_flow.c | 1547 ++++++++++++++++++++++++++++++++
drivers/net/enic/enic_main.c | 3 +
drivers/net/enic/enic_res.c | 15 +
drivers/net/enic/enic_rxtx.c | 16 +-
11 files changed, 1671 insertions(+), 6 deletions(-)
create mode 100644 drivers/net/enic/enic_flow.c
On 5/17/2017 4:03 AM, John Daley wrote:
> This V3 is rebased on dpdk-next-net and retargeted at 17.08. Also,
> inner ipv4, ipv6, udp, tcp support added for 1300 series VICs.
>
> thank you,
> johnd
>
> John Daley (6):
> net/enic: flow API skeleton
> net/enic: flow API for NICs with advanced filters enabled
> net/enic: flow API for NICs with advanced filters disabled
> net/enic: flow API for Legacy NICs
> net/enic: flow API debug
> net/enic: flow API documentation
Hi John,
I am getting multiple build errors from multiple reasons, I suspect
there was a git merge issue in the patchset, can you please double check
building the patchset?
Thanks,
ferruh
@@ -140,6 +140,43 @@ Masking of these feilds for partial match is also supported.
Without advanced filter support, the flow director is limited to IPv4
perfect filtering of the 5-tuple with no masking of fields supported.
+.. _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 (full hdr masking)
+ - Actions: queue and void
+ - Selectors: 'is', 'spec' and 'mask'. 'last' is not supported
+
+- **1300 series VICS with Advanced filters enabled**
+
+ - Attributes: ingress
+ - Items: eth, ipv4, ipv6, udp, tcp, vxlan, inner eth (full hdr masking)
+ - Actions: queue, mark, flag and void
+ - Selectors: 'is', 'spec' and 'mask'. 'last' is not supported
+
+More features may be added in future firmware and new versions of the VIC.
+Please refer to the release notes.
+
Limitations
-----------
@@ -169,6 +206,13 @@ Limitations
- Flow director features are not supported on generation 1 Cisco VIC adapters
(M81KR and P81E)
+- 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
@@ -19,6 +19,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
@@ -98,6 +98,12 @@ New Features
Rx queues can be armed with an interrupt which will trigger on the
next packet arrival.
+* **Added Generic Flow API support to enic.**
+
+ Generic flow API support for Ethernet, VLAN, IPv4, IPv6, UDP, TCP, VxLAN and
+ inner Ethernet pattern items with QUEUE, MARK and FLAG action for ingress
+ traffic.
+
* **Updated the sfc_efx driver.**
* Generic flow API support for Ethernet, VLAN, IPv4, IPv6, UDP and TCP