X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fnics%2Fenic.rst;h=65e536d422dd34e687ed7a03586401c5af18ce85;hb=fb1a5a0fd6eb0d1fb6478402b4f4cf99c7cdd082;hp=526e58ce967c3e328110eee3b4171af47a2f023a;hpb=5af7af4d6b0c0e4a5842baaf373b7dbd04303ec2;p=dpdk.git diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst index 526e58ce96..65e536d422 100644 --- a/doc/guides/nics/enic.rst +++ b/doc/guides/nics/enic.rst @@ -107,24 +107,6 @@ Configuration information TCP, IPv4, TCP-IPv4, IPv6, TCP-IPv6, IPv6 Extension, TCP-IPv6 Extension. -.. _enic-flow-director: - -Flow director support ---------------------- - -Advanced filtering support was added to 1300 series VIC firmware starting -with version 2.0.13 for C-series UCS servers and version 3.1.2 for UCSM -managed blade servers. In order to enable advanced filtering the 'Advanced -filter' radio button should be enabled via CIMC or UCSM followed by a reboot -of the server. - -With advanced filters, perfect matching of all fields of IPv4, IPv6 headers -as well as TCP, UDP and SCTP L4 headers is available through flow director. -Masking of these fields 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. - SR-IOV mode utilization ----------------------- @@ -224,12 +206,18 @@ the use of SR-IOV. passthrough devices do not require libvirt, port profiles, and VM-FEX. -.. _enic-genic-flow-api: +.. _enic-generic-flow-api: Generic Flow API support ------------------------ -Generic Flow API is supported. The baseline support is: +Generic Flow API (also called "rte_flow" API) is supported. More advanced +capabilities are available when "Advanced Filtering" is enabled on the adapter. +Advanced filtering was added to 1300 series VIC firmware starting with version +2.0.13 for C-series UCS servers and version 3.1.2 for UCSM managed blade +servers. Advanced filtering is available on 1400 series adapters and beyond. +To enable advanced filtering, the 'Advanced filter' radio button should be +selected via CIMC or UCSM followed by a reboot of the server. - **1200 series VICs** @@ -247,7 +235,7 @@ Generic Flow API is supported. The baseline support is: in the pattern. - Attributes: ingress - - Items: eth, ipv4, ipv6, udp, tcp, vxlan, inner eth, ipv4, ipv6, udp, tcp + - Items: eth, vlan, ipv4, ipv6, udp, tcp, vxlan, inner eth, vlan, 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 headers @@ -255,16 +243,25 @@ Generic Flow API is supported. The baseline support is: - **1300 and later series VICS with advanced filters enabled** - Attributes: ingress - - Items: eth, ipv4, ipv6, udp, tcp, vxlan, inner eth, ipv4, ipv6, udp, tcp + - Items: eth, vlan, ipv4, ipv6, udp, tcp, vxlan, raw, inner eth, vlan, ipv4, ipv6, udp, tcp - Actions: queue, mark, drop, flag, rss, passthru, and void - Selectors: 'is', 'spec' and 'mask'. 'last' is not supported - In total, up to 64 bytes of mask is allowed across all headers -- **1400 and later series VICS with advanced filters enabled** +- **1400 and later series VICs with Flow Manager API enabled** - All the above plus: + - Attributes: ingress, egress + - Items: eth, vlan, ipv4, ipv6, sctp, udp, tcp, vxlan, raw, inner eth, vlan, ipv4, ipv6, sctp, udp, tcp + - Ingress Actions: count, drop, flag, jump, mark, port_id, passthru, queue, rss, vxlan_decap, vxlan_encap, and void + - Egress Actions: count, drop, jump, passthru, vxlan_encap, and void + - Selectors: 'is', 'spec' and 'mask'. 'last' is not supported + - In total, up to 64 bytes of mask is allowed across all headers - - Action: count +The VIC performs packet matching after applying VLAN strip. If VLAN +stripping is enabled, EtherType in the ETH item corresponds to the +stripped VLAN header's EtherType. Stripping does not affect the VLAN +item. TCI and EtherType in the VLAN item are matched against those in +the (stripped) VLAN header whether stripping is enabled or disabled. More features may be added in future firmware and new versions of the VIC. Please refer to the release notes. @@ -322,6 +319,18 @@ it through ``rte_eth_dev_udp_tunnel_port_{add,delete}``. However, as the current NIC has a single VXLAN port number, the user cannot configure multiple port numbers. +Geneve headers with non-zero options are not supported by default. To +use Geneve with options, update the VIC firmware to the latest version +and then set ``devargs`` parameter ``geneve-opt=1``. When Geneve with +options is enabled, flow API cannot be used as the features are +currently mutually exclusive. When this feature is successfully +enabled, PMD prints the following message. + +.. code-block:: console + + Geneve with options is enabled + + Ingress VLAN Rewrite -------------------- @@ -420,12 +429,6 @@ PKT_RX_VLAN_STRIPPED mbuf flags would not be set. This mode is enabled with the -w 12:00.0,ig-vlan-rewrite=untag -- Limited flow director support on 1200 series and 1300 series Cisco VIC - adapters with old firmware. Please see :ref:`enic-flow-director`. - -- Flow director features are not supported on generation 1 Cisco VIC adapters - (M81KR and P81E) - - **SR-IOV** - KVM hypervisor support only. VMware has not been tested. @@ -455,6 +458,7 @@ PKT_RX_VLAN_STRIPPED mbuf flags would not be set. This mode is enabled with the to supporting MARK + RSS and PASSTHRU + MARK to allow the application to mark packets and then receive them normally. These require 1400 series VIC adapters and latest firmware. + - RAW items are limited to matching UDP tunnel headers like VXLAN. - **Statistics** @@ -511,7 +515,6 @@ Supported features - IP checksum offload - Receive side VLAN stripping - Multiple receive and transmit queues -- Flow Director ADD, UPDATE, DELETE, STATS operation support IPv4 and IPv6 - Promiscuous mode - Setting RX VLAN (supported via UCSM/CIMC only) - VLAN filtering (supported via UCSM/CIMC only) @@ -577,7 +580,7 @@ PMD. Typically, the limit has to be raised to higher than 2GB. e.g., 2621440 The compilation of any unused drivers can be disabled using the -configuration file in config/ directory (e.g., config/common_linuxapp). +configuration file in config/ directory (e.g., config/common_linux). This would help in bringing down the time taken for building the libraries and the initialization time of the application.