X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fnics%2Fnfb.rst;h=ecea3ecff0740d30e0535e5b5c2c1c2962110dd0;hb=8bdc7882f376590bd33f6ecfd3d5c0d19d4cad44;hp=a7fb963caf5b0bc4e89f6106d31d793abf98719e;hpb=6435f9a0ac222ad8a1c53a2a039891c6f46cadb3;p=dpdk.git diff --git a/doc/guides/nics/nfb.rst b/doc/guides/nics/nfb.rst index a7fb963caf..ecea3ecff0 100644 --- a/doc/guides/nics/nfb.rst +++ b/doc/guides/nics/nfb.rst @@ -6,9 +6,9 @@ NFB poll mode driver library ================================= The NFB poll mode driver library implements support for the Netcope -FPGA Boards (**NFB-***), FPGA-based programmable NICs. -The NFB PMD uses interface provided by the libnfb library to communicate -with the NFB cards over the nfb layer. +FPGA Boards (**NFB-40G2, NFB-100G2, NFB-200G2QL**) and Silicom **FB2CGG3** card, +FPGA-based programmable NICs. The NFB PMD uses interface provided by the libnfb +library to communicate with these cards over the nfb layer. More information about the `NFB cards `_ @@ -16,13 +16,6 @@ and used technology (`Netcope Development Kit `_) can be found on the `Netcope Technologies website `_. -.. note:: - - This driver has external dependencies. - Therefore it is disabled in default configuration files. - It can be enabled by setting ``CONFIG_RTE_LIBRTE_NFB_PMD=y`` - and recompiling. - .. note:: Currently the driver is supported only on x86_64 architectures. @@ -62,12 +55,24 @@ The minimum version of the provided packages: Configuration ------------- -These configuration options can be modified before compilation in the -``.config`` file: +Timestamps + +The PMD supports hardware timestamps of frame receipt on physical network interface. In order to use +the timestamps, the hardware timestamping unit must be enabled (follow the documentation of the NFB +products) and the device argument `timestamp=1` must be used. + +.. code-block:: console + + .//app/dpdk-testpmd -w b3:00.0,timestamp=1 -- + +When the timestamps are enabled with the *devarg*, a timestamp validity flag is set in the MBUFs +containing received frames and timestamp is inserted into the `rte_mbuf` struct. -* ``CONFIG_RTE_LIBRTE_NFB_PMD`` default value: **n** +The timestamp is an `uint64_t` field. Its lower 32 bits represent *seconds* portion of the timestamp +(number of seconds elapsed since 1.1.1970 00:00:00 UTC) and its higher 32 bits represent +*nanosecond* portion of the timestamp (number of nanoseconds elapsed since the beginning of the +second in the *seconds* portion. - Value **y** enables compilation of nfb PMD. Using the NFB PMD ---------------------- @@ -81,7 +86,7 @@ The NFB cards are multi-port multi-queue cards, where (generally) data from any Ethernet port may be sent to any queue. They are represented in DPDK as a single port. -NFB-200G2QL card employs an addon cable which allows to connect it to two +NFB-200G2QL card employs an add-on cable which allows to connect it to two physical PCI-E slots at the same time (see the diagram below). This is done to allow 200 Gbps of traffic to be transferred through the PCI-E bus (note that a single PCI-E 3.0 x16 slot provides only 125 Gbps theoretical @@ -113,7 +118,7 @@ transmit queue: .. code-block:: console - $RTE_TARGET/app/testpmd -l 0-3 -n 2 \ + .//app/dpdk-testpmd -l 0-3 -n 2 \ -- --port-topology=chained --rxq=2 --txq=2 --nb-cores=2 -i -a Example output: