X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fsample_app_ug%2Frxtx_callbacks.rst;h=62d1f39d7e25542946229f7632b6b0c75f4b67df;hb=769b2de7fb528607bee5cc443dbcddb905a8f61e;hp=1ca959c5579fc2e1d4c36b16fd28fe2e561f6078;hpb=6d13ea8e8e49ab957deae2bba5ecf4a4bfe747d1;p=dpdk.git diff --git a/doc/guides/sample_app_ug/rxtx_callbacks.rst b/doc/guides/sample_app_ug/rxtx_callbacks.rst index 1ca959c557..62d1f39d7e 100644 --- a/doc/guides/sample_app_ug/rxtx_callbacks.rst +++ b/doc/guides/sample_app_ug/rxtx_callbacks.rst @@ -13,6 +13,10 @@ In the sample application a user defined callback is applied to all received packets to add a timestamp. A separate callback is applied to all packets prior to transmission to calculate the elapsed time, in CPU cycles. +If hardware timestamping is supported by the NIC, the sample application will +also display the average latency since the packet was timestamped in hardware, +on top of the latency since the packet was received and processed by the RX +callback. Compiling the Application ------------------------- @@ -21,13 +25,6 @@ To compile the sample application see :doc:`compiling`. The application is located in the ``rxtx_callbacks`` sub-directory. -The callbacks feature requires that the ``CONFIG_RTE_ETHDEV_RXTX_CALLBACKS`` -setting is on in the ``config/common_`` config file that applies to the -target. This is generally on by default: - -.. code-block:: console - - CONFIG_RTE_ETHDEV_RXTX_CALLBACKS=y Running the Application ----------------------- @@ -36,7 +33,10 @@ To run the example in a ``linux`` environment: .. code-block:: console - ./build/rxtx_callbacks -l 1 -n 4 + .//examples/dpdk-rxtx_callbacks -l 1 -n 4 -- [-t] + +Use -t to enable hardware timestamping. If not supported by the NIC, an error +will be displayed. Refer to *DPDK Getting Started Guide* for general information on running applications and the Environment Abstraction Layer (EAL) options. @@ -110,8 +110,9 @@ comments: return retval; /* Enable RX in promiscuous mode for the Ethernet device. */ - rte_eth_promiscuous_enable(port); - + retval = rte_eth_promiscuous_enable(port); + if (retval != 0) + return retval; /* Add the callbacks for RX and TX.*/ rte_eth_add_rx_callback(port, 0, add_timestamps, NULL);