[6/6] doc: update docs for ntb pmd
Checks
Commit Message
Update related documents for ntb pmd and example.
Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com>
---
MAINTAINERS | 8 +++++
doc/guides/rawdevs/index.rst | 1 +
doc/guides/rawdevs/ntb_rawdev.rst | 25 ++++++++++++++
doc/guides/rel_notes/release_19_08.rst | 16 +++++++++
doc/guides/sample_app_ug/index.rst | 1 +
doc/guides/sample_app_ug/ntb.rst | 47 ++++++++++++++++++++++++++
6 files changed, 98 insertions(+)
create mode 100644 doc/guides/rawdevs/ntb_rawdev.rst
create mode 100644 doc/guides/sample_app_ug/ntb.rst
@@ -1052,6 +1052,10 @@ M: Nipun Gupta <nipun.gupta@nxp.com>
F: drivers/raw/dpaa2_cmdif/
F: doc/guides/rawdevs/dpaa2_cmdif.rst
+NTB Rawdev
+M: Xiaoyun Li <xiaoyun.li@intel.com>
+F: drivers/raw/ntb_rawdev/
+F: doc/guides/rawdevs/ntb_rawdev.rst
Packet processing
-----------------
@@ -1428,3 +1432,7 @@ F: examples/tep_termination/
F: examples/vmdq/
F: examples/vmdq_dcb/
F: doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst
+
+M: Xiaoyun Li <xiaoyun.li@intel.com>
+F: examples/ntb/
+F: doc/guides/sample_app_ug/ntb.rst
@@ -14,3 +14,4 @@ application through rawdev API.
dpaa2_cmdif
dpaa2_qdma
ifpga_rawdev
+ ntb_rawdev
new file mode 100644
@@ -0,0 +1,25 @@
+.. SPDX-License-Identifier: BSD-3-Clause
+ Copyright(c) 2018 Intel Corporation.
+
+NTB Rawdev Driver
+=================
+
+The ``ntb`` rawdev driver provides a non-transparent bridge between two
+separate hosts so that they can communicate with each other. Thus, many
+user cases can benefit from this, such as fault tolerance and visual
+acceleration.
+
+This PMD allows two hosts to handshake for device start and stop, memory
+allocation for the peer to access and read/write allocated memory from peer.
+Also, the PMD allows to use doorbell registers to notify the peer and share
+some information by using scratchpad registers.
+
+But the PMD hasn't implemented FIFO. The FIFO will come in 19.11 release.
+And this PMD only supports intel skylake platform.
+
+Build options
+-------------
+
+- ``CONFIG_RTE_LIBRTE_IFPGA_RAWDEV`` (default ``y``)
+
+ Toggle compilation of the ``ntb_rawdev`` driver.
@@ -55,6 +55,22 @@ New Features
=========================================================
+ * **Introduced NTB PMD.**
+
+ The PMD provided a non-transparent bridge between two separate hosts so
+ that they can communicate with each other. Thus, many user cases can
+ benefit from this, such as fault tolerance and visual acceleration.
+
+ This PMD implemented the following features:
+ * Handshake for device start and stop between two hosts.
+ * Memory allocation for the peer to access and read/write allocated
+ memory from peer.
+ * Use doorbell registers to notify the peer and share some information
+ by using scratchpad registers.
+
+ But the PMD hasn't implemented FIFO. The FIFO will come in 19.11 release.
+ And this PMD only supports intel skylake platform.
+
Removed Items
-------------
@@ -58,3 +58,4 @@ Sample Applications User Guides
fips_validation
ipsec_secgw
bbdev_app
+ ntb
new file mode 100644
@@ -0,0 +1,47 @@
+.. SPDX-License-Identifier: BSD-3-Clause
+ Copyright(c) 2019 Intel Corporation.
+
+NTB Sample Application
+======================
+
+The ntb sample application shows how to use ntb rawdev driver.
+This sample provides interactive mode to transmit file between
+two hosts.
+
+Compiling the Application
+-------------------------
+
+To compile the sample application see :doc:`compiling`.
+
+The application is located in the ``ntb`` sub-directory.
+
+Running the Application
+-----------------------
+
+The application requires an available core for each port, plus one.
+The only available options are the standard ones for the EAL:
+
+.. code-block:: console
+
+ ./build/ntb_fwd -c 0xf -n 4 -- -i
+
+Refer to the *DPDK Getting Started Guide* for general information on
+running applications and the Environment Abstraction Layer (EAL)
+options.
+
+Using the application
+---------------------
+
+The application is console-driven using the cmdline DPDK interface:
+
+.. code-block:: console
+
+ ntb>
+
+From this interface the available commands and descriptions of what
+they do as as follows:
+
+* ``send [filepath]``: Send file to the peer host
+* ``receive [filepath]``: Receive file to [filepath], need the peer
+ to send file successfully first.
+* ``quit``: Exit program