net/hns3: support masking device capability
[dpdk.git] / doc / guides / nics / hns3.rst
index 05dbe41..fa45721 100644 (file)
@@ -1,12 +1,12 @@
 ..  SPDX-License-Identifier: BSD-3-Clause
-    Copyright(c) 2018-2019 Hisilicon Limited.
+    Copyright(c) 2018-2019 HiSilicon Limited.
 
 HNS3 Poll Mode Driver
 ===============================
 
-The hns3 PMD (librte_pmd_hns3) provides poll mode driver support
-for the inbuilt Hisilicon Network Subsystem(HNS) network engine
-found in the Hisilicon Kunpeng 920 SoC.
+The hns3 PMD (**librte_net_hns3**) provides poll mode driver support
+for the inbuilt HiSilicon Network Subsystem(HNS) network engine
+found in the HiSilicon Kunpeng 920 SoC and Kunpeng 930 SoC .
 
 Features
 --------
@@ -18,32 +18,80 @@ Features of the HNS3 PMD are:
 - Packet type information
 - Checksum offload
 - TSO offload
+- LRO offload
 - Promiscuous mode
 - Multicast mode
 - Port hardware statistics
 - Jumbo frames
 - Link state information
 - Interrupt mode for RX
-- VLAN stripping
+- VLAN stripping and inserting
+- QinQ inserting
+- DCB
+- Scattered and gather for TX and RX
+- Vector Poll mode driver
+- Dump register
+- SR-IOV VF
+- Multi-process
+- MAC/VLAN filter
+- MTU update
 - NUMA support
+- Generic flow API
+- IEEE1588/802.1AS timestamping
 
 Prerequisites
 -------------
 - Get the information about Kunpeng920 chip using
-  `<http://www.hisilicon.com/en/Products/ProductList/Kunpeng>`_.
+  `<https://www.hisilicon.com/en/products/Kunpeng>`_.
 
 - Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
 
-Pre-Installation Configuration
-------------------------------
 
-Config File Options
-~~~~~~~~~~~~~~~~~~~
+Runtime Config Options
+----------------------
+
+- ``rx_func_hint`` (default ``none``)
+
+  Used to select Rx burst function, supported value are ``vec``, ``sve``,
+  ``simple``, ``common``.
+  ``vec``, if supported use the ``vec`` Rx function which indicates the
+  default vector algorithm, neon for Kunpeng Arm platform.
+  ``sve``, if supported use the ``sve`` Rx function which indicates the
+  sve algorithm.
+  ``simple``, if supported use the ``simple`` Rx function which indicates
+  the scalar algorithm.
+  ``common``, if supported use the ``common`` Rx function which indicates
+  the scalar scattered algorithm.
+
+  When provided parameter is not supported, ``vec`` usage condition will
+  be first checked, if meets, use the ``vec``. Then, ``simple``, at last
+  ``common``.
+
+- ``tx_func_hint`` (default ``none``)
+
+  Used to select Tx burst function, supported value are ``vec``, ``sve``,
+  ``simple``, ``common``.
+  ``vec``, if supported use the ``vec`` Tx function which indicates the
+  default vector algorithm, neon for Kunpeng Arm platform.
+  ``sve``, if supported use the ``sve`` Tx function which indicates the
+  sve algorithm.
+  ``simple``, if supported use the ``simple`` Tx function which indicates
+  the scalar simple algorithm.
+  ``common``, if supported use the ``common`` Tx function which indicates
+  the scalar algorithm.
+
+  When provided parameter is not supported, ``vec`` usage condition will
+  be first checked, if meets, use the ``vec``. Then, ``simple``, at last
+  ``common``.
 
-The following options can be modified in the ``config`` file.
-Please note that enabling debugging options may affect system performance.
+- ``dev_caps_mask`` (default ``0``)
 
-- ``CONFIG_RTE_LIBRTE_HNS3_PMD`` (default ``y``)
+  Used to mask the capability which queried from firmware.
+  This args take hexadecimal bitmask where each bit represents whether mask
+  corresponding capability. eg. If the capability is 0xFFFF queried from
+  firmware, and the args value is 0xF which means the bit0~bit3 should be
+  masked off, then the capability will be 0xFFF0.
+  Its main purpose is to debug and avoid problems.
 
 Driver compilation and testing
 ------------------------------