HNS3 Poll Mode Driver
===============================
-The hns3 PMD (librte_pmd_hns3) provides poll mode driver support
+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.
- 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
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``)
-The following options can be modified in the ``config`` file.
-Please note that enabling debugging options may affect system performance.
+ 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.
-- ``CONFIG_RTE_LIBRTE_HNS3_PMD`` (default ``y``)
+ When provided parameter is not supported, ``vec`` usage condition will
+ be first checked, if meets, use the ``vec``. Then, ``simple``, at last
+ ``common``.
Driver compilation and testing
------------------------------