Improve the doc formatting.

Signed-off-by: Serhii Iliushyk <[email protected]>
---
 doc/guides/nics/ntnic.rst | 221 ++++++++++++++++++++------------------
 1 file changed, 116 insertions(+), 105 deletions(-)

diff --git a/doc/guides/nics/ntnic.rst b/doc/guides/nics/ntnic.rst
index fc40c97095..17cc78af34 100644
--- a/doc/guides/nics/ntnic.rst
+++ b/doc/guides/nics/ntnic.rst
@@ -23,66 +23,67 @@ The physical ports are located behind PF0 as DPDK port 0 
and 1.
 Supported NICs
 --------------
 
-- NT200A02 2x100G SmartNIC
+================== ================ ================================
+SmartNIC           total bandwidth  FPGA id
+================== ================ ================================
+**NT200A02**       2x100 Gb/s        9563 (Inline Flow Management)
+**NT400D11**       2x100 Gb/s        9569 (Inline Flow Management)
+**NT400D13**       2x100 Gb/s        9574 (Inline Flow Management)
+================== ================ ================================
 
-    - FPGA ID 9563 (Inline Flow Management)
+All information about Napatech SmartNICs can be found by links below:
 
-- NT400D11 2x100G SmartNIC
-
-    - FPGA ID 9569 (Inline Flow Management)
-
-- NT400D13 2x100G SmartNIC
-
-    - FPGA ID 9574 (Inline Flow Management)
-
-All information about NT200A02 and NT400D13 can be found by links below:
-
-- https://www.napatech.com/products/nt200a02-smartnic-inline/
-- https://www.napatech.com/products/nt400d11-smartnic-programmable/
-- https://www.napatech.com/products/nt400d13-smartnic-programmable/
-- 
https://www.napatech.com/support/resources/data-sheets/link-inline-software-for-napatech/
+- `NT200A02 <https://www.napatech.com/products/nt200a02-smartnic-inline/>`_
+- `NT400D11 
<https://www.napatech.com/products/nt400d11-smartnic-programmable/>`_
+- `NT400D13 
<https://www.napatech.com/products/nt400d13-smartnic-programmable/>`_
+- `Napatech FPGA-based SmartNICs 
<https://www.napatech.com/support/resources/data-sheets/link-inline-software-for-napatech/>`_
 
 
 Features
 --------
 
-- FW version
-- Speed capabilities
-- Link status (Link update only)
-- Unicast MAC filter
-- Multicast MAC filter
-- Promiscuous mode (Enable only. The device always run promiscuous mode)
-- Flow API support.
-- Support for multiple rte_flow groups.
-- Multiple TX and RX queues.
-- Scattered and gather for TX and RX.
-- Jumbo frame support.
-- Traffic mirroring.
-- VLAN filtering.
-- Packet modification: NAT, TTL decrement, DSCP tagging
-- Tunnel types: GTP.
-- Encapsulation and decapsulation of GTP data.
-- RX VLAN stripping via raw decap.
-- TX VLAN insertion via raw encap.
-- CAM and TCAM based matching.
-- Exact match of 140 million flows and policies.
-- Tunnel HW offload: Packet type, inner/outer RSS, IP and UDP checksum 
verification.
-- RSS hash
-- RSS key update
-- RSS based on VLAN or 5-tuple.
-- RSS using different combinations of fields: L3 only, L4 only or both,
-  and source only, destination only or both.
-- Several RSS hash keys, one for each flow type.
-- Default RSS operation with no hash key specification.
-- Port and queue statistics.
-- RMON statistics in extended stats.
-- Link state information.
-- Flow statistics
-- Flow aging support
-- Flow metering, including meter policy API.
-- Flow update. Update of the action list for specific flow
-- Asynchronous flow support
-- MTU update
+.. rst-class:: punchcard
+
+===========================================================================================
 =======
+Supported Features                                                             
              Linux
+===========================================================================================
 =======
+FW version                                                                     
                X
+Speed capabilities                                                             
                X
+Link status (Link update only)                                                 
                X
+Unicast MAC filter                                                             
                X
+Multicast MAC filter                                                           
                X
+Promiscuous mode (Enable only. The device always run promiscuous mode)         
                X
+Flow API support.                                                              
                X
+Support for multiple rte_flow groups.                                          
                X
+Multiple TX and RX queues.                                                     
                X
+Scattered and gather for TX and RX.                                            
                X
+Jumbo frame support.                                                           
                X
+Traffic mirroring.                                                             
                X
+VLAN filtering.                                                                
                X
+Packet modification: NAT, TTL decrement, DSCP tagging                          
                X
+Tunnel types: GTP.                                                             
                X
+Encapsulation and decapsulation of GTP data.                                   
                X
+RX VLAN stripping via raw decap.                                               
                X
+TX VLAN insertion via raw encap.                                               
                X
+CAM and TCAM based matching.                                                   
                X
+Exact match of 140 million flows and policies.                                 
                X
+Tunnel HW offload: Packet type, inner/outer RSS, IP and UDP checksum 
verification.             X
+RSS hash                                                                       
                X
+RSS key update                                                                 
                X
+RSS based on VLAN or 5*tuple.                                                  
                X
+RSS using combinations of fields: L3 only, L4 only or both, and src only, dst 
only or both.    X
+Several RSS hash keys, one for each flow type.                                 
                X
+Default RSS operation with no hash key specification.                          
                X
+Port and queue statistics.                                                     
                X
+RMON statistics in extended stats.                                             
                X
+Link state information.                                                        
                X
+Flow statistics                                                                
                X
+Flow aging support                                                             
                X
+Flow metering, including meter policy API.                                     
                X
+Flow update. Update of the action list for specific flow                       
                X
+Asynchronous flow support                                                      
                X
+MTU update                                                                     
                X
+===========================================================================================
 =======
 
 Limitations
 ~~~~~~~~~~~
@@ -101,79 +102,89 @@ Configuration
 Command line arguments
 ~~~~~~~~~~~~~~~~~~~~~~
 
-Following standard DPDK command line arguments are used by the PMD:
+Following standard DPDK command line arguments are used by the PMD.
 
-``-a``
-   Used to specifically define the NT adapter by PCI ID.
+NTNIC-specific arguments can be passed in the PCI device parameter list:
 
-``--iova-mode``
-   Must be set to ``pa`` for Physical Address mode.
-
-NTNIC specific arguments can be passed to the PMD in the PCI device parameter 
list::
+.. code-block:: console
 
    <application> ... -a 0000:03:00.0[{,<NTNIC specific argument>}]
 
-The NTNIC specific argument format is::
+The NTNIC-specific argument format is
+
+<object>.<attribute>=[<object-ids>:]<value>
+
+Multiple arguments for the same device are separated by commas. The
+``<object-ids>`` field can be a single value or a range.
 
-   <object>.<attribute>=[<object-ids>:]<value>
+- ``rxqs`` parameter [int]
 
-Multiple arguments for the same device are separated by ‘,’ comma.
-<object-ids> can be a single value or a range.
+   Number of Rx queues to use. Example:
 
-``rxqs`` parameter [int]
+   .. code-block:: console
 
-   Specify number of Rx queues to use::
+         -a <domain>:<bus>:00.0,rxqs=4,txqs=4
 
-      -a <domain>:<bus>:00.0,rxqs=4,txqs=4
+      By default, the value is set to 1.
 
-   By default, the value is set to 1.
+- ``txqs`` parameter [int]
 
-``txqs`` parameter [int]
+   Number of Tx queues to use. Example:
 
-   Specify number of Tx queues to use::
+   .. code-block:: console
 
-      -a <domain>:<bus>:00.0,rxqs=4,txqs=4
+         -a <domain>:<bus>:00.0,rxqs=4,txqs=4
 
-   By default, the value is set to 1.
+      By default, the value is set to 1.
 
-``exception_path`` parameter [int]
+- ``exception_path`` parameter [int]
 
    Enable exception path for unmatched packets to go through queue 0.
 
-   To enable exception_path::
+   To enable exception_path:
 
-      -a <domain>:<bus>:00.0,exception_path=1
+   .. code-block:: console
 
-   By default, the value is set to 0.
+         -a <domain>:<bus>:00.0,exception_path=1
+
+      By default, the value is set to 0.
 
 
 Logging and Debugging
----------------------
+~~~~~~~~~~~~~~~~~~~~~
 
 NTNIC supports several groups of logging
 that can be enabled with ``--log-level`` parameter:
 
 NTNIC
-   Logging info from the main PMD code. i.e. code that is related to DPDK::
+   Logging info from the main PMD code. i.e. code that is related to DPDK:
+
+   .. code-block:: console
 
       --log-level=pmd.net.ntnic.ntnic,8
 
 NTHW
-   Logging info from NTHW. i.e. code that is related to the FPGA and the 
adapter::
+   Logging info from NTHW. i.e. code that is related to the FPGA and the 
adapter:
+
+   .. code-block:: console
 
       --log-level=pmd.net.ntnic.nthw,8
 
 FILTER
-   Logging info from filter. i.e. code that is related to the binary filter::
+   Logging info from filter. i.e. code that is related to the binary filter:
+
+   .. code-block:: console
 
-        --log-level=pmd.net.ntnic.filter,8
+      --log-level=pmd.net.ntnic.filter,8
 
-To enable logging on all levels use wildcard in the following way::
+To enable logging on all levels use wildcard in the following way:
+
+.. code-block:: console
 
    --log-level=pmd.net.ntnic.*,8
 
 Flow Scanner
-------------
+~~~~~~~~~~~~
 
 Flow Scanner is DPDK mechanism that constantly and periodically scans
 the flow tables to check for aged-out flows.
@@ -204,7 +215,7 @@ There are list of characteristics that age timeout action 
has:
 
 
 Service API
------------
+~~~~~~~~~~~
 
 The NTNIC PMD provides a service API that allows applications to configure 
services:
 
@@ -214,29 +225,29 @@ The NTNIC PMD provides a service API that allows 
applications to configure servi
 
 The services are responsible for handling the vital functionality of the NTNIC 
PMD:
 
-FLM Update
-   is responsible for creating and destroying flows;
-Statistics
-   is responsible for collecting statistics;
-Port event
-   is responsible for handling port events: aging, port load, and flow load;
-Adapter monitor
-   is responsible for link control;
+======================== =================================================
+Service name             Service purpose
+======================== =================================================
+**FLM Update**           create and destroy flows
+**Statistics**           collect statistics
+**Port event**           handle port events (aging, port load, flow load)
+**Adapter monitor**      monitor link state
+======================== =================================================
 
-.. note::
+   .. note::
 
-   Use next EAL options to configure set service cores:
+      Use next EAL options to configure set service cores:
 
-   * -s SERVICE COREMASK Hexadecimal bitmask of cores to be used as service 
cores;
-   * -S SERVICE CORELIST List of cores to run services on;
+   * **-S SERVICE CORELIST** List of cores to run services on;
+   * **-s SERVICE COREMASK** Hexadecimal bitmask of cores to be used as 
service cores;
 
-   At least 5 lcores must be reserved for the ntnic services by EAL options.
+   At least **5 (five)** lcores must be reserved for the ntnic services by EAL 
options.
 
-For example,
+   For example,
 
-.. code-block:: console
+   .. code-block:: console
 
-   dpdk-testpmd -S 8,9,10,11,12
+      dpdk-testpmd -S 8,9,10,11,12
 
 The PMD registers each service during initialization by function 
``nthw_service_add``
 and unregistered by the PMD during deinitialization by the function 
``nthw_service_del``.
@@ -262,11 +273,11 @@ For example to assign lcores 8,9,10,11,12 to the 
services, the application can u
    rte_pmd_ntnic_service_set_lcore(RTE_NTNIC_SERVICE_PORT_1_EVENT,11);
    rte_pmd_ntnic_service_set_lcore(RTE_NTNIC_SERVICE_FLM_UPDATE, 12);
 
-The API will automatically lcore to service core list and map the service to 
the lcore.
+The API will automatically map a service to an lcore.
 
-.. note::
+   .. note::
 
-   Use ``rte_service_lcore_start`` to start the lcore after mapping it to the 
service.
+      Use ``rte_service_lcore_start`` to start the lcore after mapping it to 
the service.
 
 Each service has its own tag to identify it:
 
@@ -284,9 +295,9 @@ For example, to enable statistics for flm_update service, 
the application can us
    int flm_update_id = 
rte_pmd_ntnic_service_get_id(RTE_NTNIC_SERVICE_FLM_UPDATE);
    rte_service_set_stats_enable(flm_update_id, 1);
 
-All other manipulations with the service can be done with the service ID and 
rte_service API.
+All other manipulations with the service can be done with the service ID and 
*rte_service* API.
 
-To use the service API, an application must have included the header file:
+To use the NTNIC service API, an application must have included the header 
file:
 
 .. code-block:: c
 
-- 
2.45.0

Reply via email to