X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fsample_app_ug%2Fl2_forward_cat.rst;h=440642ef7cbafcff25d9da89d95c4d0cef8e212e;hb=b54403fd08374dae243bf0a0e90488f51485154e;hp=285c3c74d0f59180ff473a1d38e1e30a9353c7e4;hpb=8d257235696b250a68b65422dfbea0418cc3c5a8;p=dpdk.git diff --git a/doc/guides/sample_app_ug/l2_forward_cat.rst b/doc/guides/sample_app_ug/l2_forward_cat.rst index 285c3c74d0..440642ef7c 100644 --- a/doc/guides/sample_app_ug/l2_forward_cat.rst +++ b/doc/guides/sample_app_ug/l2_forward_cat.rst @@ -1,33 +1,5 @@ -.. BSD LICENSE - Copyright(c) 2016 Intel Corporation. All rights reserved. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - * Neither the name of Intel Corporation nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - +.. SPDX-License-Identifier: BSD-3-Clause + Copyright(c) 2016 Intel Corporation. L2 Forwarding Sample Application with Cache Allocation Technology (CAT) ======================================================================= @@ -67,54 +39,44 @@ White paper demonstrating example use case: Compiling the Application ------------------------- +.. note:: -Requires ``libpqos`` from Intel's -`intel-cmt-cat software package `_ -hosted on GitHub repository. For installation notes, please see ``README`` file. - -GIT: + Requires ``libpqos`` from Intel's + `intel-cmt-cat software package `_ + hosted on GitHub repository. For installation notes, please see ``README`` file. -* https://github.com/01org/intel-cmt-cat + GIT: -To compile the application export the path to PQoS lib -and the DPDK source tree and go to the example directory: + * https://github.com/01org/intel-cmt-cat -.. code-block:: console - export PQOS_INSTALL_PATH=/path/to/libpqos - export RTE_SDK=/path/to/rte_sdk +#. To compile the application export the path to PQoS lib + and the DPDK source tree and go to the example directory: - cd ${RTE_SDK}/examples/l2fwd-cat + .. code-block:: console -Set the target, for example: + export PQOS_INSTALL_PATH=/path/to/libpqos -.. code-block:: console - export RTE_TARGET=x86_64-native-linuxapp-gcc +To compile the sample application see :doc:`compiling`. -See the *DPDK Getting Started* Guide for possible ``RTE_TARGET`` values. - -Build the application as follows: - -.. code-block:: console - - make +The application is located in the ``l2fwd-cat`` sub-directory. Running the Application ----------------------- -To run the example in a ``linuxapp`` environment and enable CAT on cpus 0-2: +To run the example in a ``linux`` environment and enable CAT on cpus 0-2: .. code-block:: console - ./build/l2fwd-cat -c 2 -n 4 -- --l3ca="0x3@(0-2)" + .//examples/dpdk-l2fwd-cat -l 1 -n 4 -- --l3ca="0x3@(0-2)" or to enable CAT and CDP on cpus 1,3: .. code-block:: console - ./build/l2fwd-cat -c 2 -n 4 -- --l3ca="(0x00C00,0x00300)@(1,3)" + .//examples/dpdk-l2fwd-cat -l 1 -n 4 -- --l3ca="(0x00C00,0x00300)@(1,3)" If CDP is not supported it will fail with following error message: @@ -211,21 +173,21 @@ The first task is to initialize the Environment Abstraction Layer (EAL). The ``argc`` and ``argv`` arguments are provided to the ``rte_eal_init()`` function. The value returned is the number of parsed arguments: -.. code-block:: c - - int ret = rte_eal_init(argc, argv); - if (ret < 0) - rte_exit(EXIT_FAILURE, "Error with EAL initialization\n"); +.. literalinclude:: ../../../examples/l2fwd-cat/l2fwd-cat.c + :language: c + :start-after: Initialize the Environment Abstraction Layer (EAL). 8< + :end-before: >8 End of initializion the Environment Abstraction Layer (EAL). + :dedent: 1 The next task is to initialize the PQoS library and configure CAT. The ``argc`` and ``argv`` arguments are provided to the ``cat_init()`` function. The value returned is the number of parsed arguments: -.. code-block:: c - - int ret = cat_init(argc, argv); - if (ret < 0) - rte_exit(EXIT_FAILURE, "PQOS: L3CA init failed!\n"); +.. literalinclude:: ../../../examples/l2fwd-cat/l2fwd-cat.c + :language: c + :start-after: Initialize the PQoS. 8< + :end-before: >8 End of initialization of PQoS. + :dedent: 1 ``cat_init()`` is a wrapper function which parses the command, validates the requested parameters and configures CAT accordingly. @@ -242,4 +204,4 @@ relevant CPUs via ``pqos_l3ca_assoc_set(...)`` calls. ``atexit(...)`` is used to register ``cat_exit(...)`` to be called on a clean exit. ``cat_exit(...)`` performs a simple CAT clean-up, by associating -COS 0 to all involved CPUs via ``pqos_l3ca_assoc_set(...)`` calls. \ No newline at end of file +COS 0 to all involved CPUs via ``pqos_l3ca_assoc_set(...)`` calls.