X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fsample_app_ug%2Fflow_filtering.rst;h=ee5a8b44bd625d7499514cb9984b2ef3f0753c82;hb=9a1cc8f1ed746ef9cac7846afaa2667f9abd9427;hp=02fc675506ffb39950bfd7acefcc9436982fa23e;hpb=6d13ea8e8e49ab957deae2bba5ecf4a4bfe747d1;p=dpdk.git diff --git a/doc/guides/sample_app_ug/flow_filtering.rst b/doc/guides/sample_app_ug/flow_filtering.rst index 02fc675506..ee5a8b44bd 100644 --- a/doc/guides/sample_app_ug/flow_filtering.rst +++ b/doc/guides/sample_app_ug/flow_filtering.rst @@ -13,28 +13,7 @@ It is intended as a demonstration of the basic components RTE flow rules. Compiling the Application ------------------------- -To compile the application export the path to the DPDK source tree and go to -the example directory: - -.. code-block:: console - - export RTE_SDK=/path/to/rte_sdk - - cd ${RTE_SDK}/examples/flow_filtering - -Set the target, for example: - -.. code-block:: console - - export RTE_TARGET=x86_64-native-linux-gcc - -See the *DPDK Getting Started* Guide for possible ``RTE_TARGET`` values. - -Build the application as follows: - -.. code-block:: console - - make +To compile the sample application see :doc:`compiling`. Running the Application @@ -44,7 +23,7 @@ To run the example in a ``linux`` environment: .. code-block:: console - ./build/flow -l 1 -n 1 + .//examples/dpdk-flow_filtering -l 1 -n 1 Refer to *DPDK Getting Started Guide* for general information on running applications and the Environment Abstraction Layer (EAL) options. @@ -193,7 +172,13 @@ application is shown below: } } - rte_eth_promiscuous_enable(port_id); + ret = rte_eth_promiscuous_enable(port_id); + if (ret != 0) { + rte_exit(EXIT_FAILURE, + ":: cannot enable promiscuous mode: err=%d, port=%u\n", + ret, port_id); + } + ret = rte_eth_dev_start(port_id); if (ret < 0) { rte_exit(EXIT_FAILURE, @@ -278,7 +263,12 @@ We are setting the RX port to promiscuous mode: .. code-block:: c - rte_eth_promiscuous_enable(port_id); + ret = rte_eth_promiscuous_enable(port_id); + if (ret != 0) { + rte_exit(EXIT_FAILURE, + ":: cannot enable promiscuous mode: err=%d, port=%u\n", + ret, port_id); + } The last step is to start the port. @@ -373,7 +363,7 @@ This function is located in the ``flow_blocks.c`` file. .. code-block:: c static struct rte_flow * - generate_ipv4_flow(uint8_t port_id, uint16_t rx_q, + generate_ipv4_flow(uint16_t port_id, uint16_t rx_q, uint32_t src_ip, uint32_t src_mask, uint32_t dest_ip, uint32_t dest_mask, struct rte_flow_error *error) @@ -502,4 +492,3 @@ The last part of the function is to validate the rule and create it. int res = rte_flow_validate(port_id, &attr, pattern, action, &error); if (!res) flow = rte_flow_create(port_id, &attr, pattern, action, &error); -