X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fsample_app_ug%2Fl3_forward_access_ctrl.rst;h=2cf6e4556f14a522ebc979de5f60440317155c9c;hb=205708169132d6f3496a3dd64955d6d7db418aef;hp=3574a25a6e65ac1689ab3041131219783a5eb05f;hpb=e0ef2aecde1980c4af0b7ca66a385c4503ad2a39;p=dpdk.git diff --git a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst index 3574a25a6e..2cf6e4556f 100644 --- a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst +++ b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst @@ -1,32 +1,5 @@ -.. BSD LICENSE - Copyright(c) 2010-2014 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) 2010-2014 Intel Corporation. L3 Forwarding with Access Control Sample Application ==================================================== @@ -45,7 +18,7 @@ The application loads two types of rules at initialization: * Route information rules, which are used for L3 forwarding -* Access Control List (ACL) rules that blacklist (or block) packets with a specific characteristic +* Access Control List (ACL) rules that block packets with a specific characteristic When packets are received from a port, the application extracts the necessary information from the TCP/IP header of the received packet and @@ -211,7 +184,7 @@ Packet 2 matches Rule 2 and is forwarded to port 1. Packet 3 matches Rule 3 and is forwarded to port 0. For more details on the rule file format, -please refer to rule_ipv4.db and rule_ipv6.db files (inside /examples/l3fwd-acl/). +please refer to rule_ipv4.db and rule_ipv6.db files (inside dpdk/examples/l3fwd-acl/). Application Phases ~~~~~~~~~~~~~~~~~~ @@ -252,28 +225,9 @@ Once the application starts, it transitions through three phases: Compiling the Application ------------------------- -To compile the application: +To compile the sample application see :doc:`compiling`. -#. Go to the sample application directory: - - .. code-block:: console - - export RTE_SDK=/path/to/rte_sdk - cd ${RTE_SDK}/examples/l3fwd-acl - -#. Set the target (a default target is used if not specified). For example: - - .. code-block:: console - - export RTE_TARGET=x86_64-native-linuxapp-gcc - - See the *DPDK IPL Getting Started Guide* for possible RTE_TARGET values. - -#. Build the application: - - .. code-block:: console - - make +The application is located in the ``l3fwd-acl`` sub-directory. Running the Application ----------------------- @@ -282,7 +236,7 @@ The application has a number of command line options: .. code-block:: console - ./build/l3fwd-acl [EAL options] -- -p PORTMASK [-P] --config(port,queue,lcore)[,(port,queue,lcore)] --rule_ipv4 FILENAME rule_ipv6 FILENAME [--scalar] [--enable-jumbo [--max-pkt-len PKTLEN]] [--no-numa] + .//examples/dpdk-l3fwd-acl [EAL options] -- -p PORTMASK [-P] --config(port,queue,lcore)[,(port,queue,lcore)] --rule_ipv4 FILENAME --rule_ipv6 FILENAME [--alg=] [--enable-jumbo [--max-pkt-len PKTLEN]] [--no-numa] [--eth-dest=X,MM:MM:MM:MM:MM:MM] where, @@ -298,7 +252,8 @@ where, * --rule_ipv6 FILENAME: Specifies the IPv6 ACL and route rules file -* --scalar: Use a scalar function to perform rule lookup +* --alg=: optional, ACL classify method to use, one of: + ``scalar|sse|avx2|neon|altivec|avx512x16|avx512x32`` * --enable-jumbo: optional, enables jumbo frames @@ -306,6 +261,8 @@ where, * --no-numa: optional, disables numa awareness +* --eth-dest=X,MM:MM:MM:MM:MM:MM: optional, ethernet destination for port X + For example, consider a dual processor socket platform with 8 physical cores, where cores 0-7 and 16-23 appear on socket 0, while cores 8-15 and 24-31 appear on socket 1. @@ -314,11 +271,11 @@ To enable L3 forwarding between two ports, assuming that both ports are in the s .. code-block:: console - ./build/l3fwd-acl -l 1,2 -n 4 -- -p 0x3 --config="(0,0,1),(1,0,2)" --rule_ipv4="./rule_ipv4.db" -- rule_ipv6="./rule_ipv6.db" --scalar + .//examples/dpdk-l3fwd-acl -l 1,2 -n 4 -- -p 0x3 --config="(0,0,1),(1,0,2)" --rule_ipv4="rule_ipv4.db" --rule_ipv6="rule_ipv6.db" --alg=scalar In this command: -* The -c option enables cores 1, 2 +* The -l option enables cores 1, 2 * The -p option enables ports 0 and 1 @@ -336,11 +293,11 @@ In this command: | | | | | +----------+------------+-----------+-------------------------------------+ -* The --rule_ipv4 option specifies the reading of IPv4 rules sets from the ./ rule_ipv4.db file. +* The --rule_ipv4 option specifies the reading of IPv4 rules sets from the rule_ipv4.db file. -* The --rule_ipv6 option specifies the reading of IPv6 rules sets from the ./ rule_ipv6.db file. +* The --rule_ipv6 option specifies the reading of IPv6 rules sets from the rule_ipv6.db file. -* The --scalar option specifies the performing of rule lookup with a scalar function. +* The --alg=scalar option specifies the performing of rule lookup with a scalar function. Explanation -----------