From d0dff9ba445e47199a420dd4b5451ec2860d3d3b Mon Sep 17 00:00:00 2001 From: Bernard Iremonger Date: Tue, 11 Nov 2014 12:27:01 +0000 Subject: [PATCH] doc: sample application user guide The 1.7 DPDK_SampleApp_UG document in MSWord has been converted to rst format for use with Sphinx. There is an rst file for each chapter and an index.rst file which contains the table of contents. The top level index file has been modified to include this guide. This document contains some png image files. If any of thes png files are modified they should be replaced with an svg file. This is the fifth document from a set of 6 documents. Signed-off-by: Bernard Iremonger --- doc/guides/index.rst | 1 + doc/guides/sample_app_ug/cmd_line.rst | 202 +++++ doc/guides/sample_app_ug/exception_path.rst | 330 ++++++++ doc/guides/sample_app_ug/hello_world.rst | 138 +++ .../img/client_svr_sym_multi_proc_app.png | Bin 0 -> 192400 bytes .../sample_app_ug/img/example_rules.png | Bin 0 -> 4342 bytes .../img/exception_path_example.svg | 98 +++ .../sample_app_ug/img/ipv4_acl_rule.png | Bin 0 -> 2791 bytes doc/guides/sample_app_ug/img/kernel_nic.png | Bin 0 -> 36245 bytes .../img/l2_fwd_benchmark_setup.svg | 551 ++++++++++++ .../img/l2_fwd_virtenv_benchmark_setup.png | Bin 0 -> 86633 bytes .../sample_app_ug/img/load_bal_app_arch.png | Bin 0 -> 96131 bytes .../sample_app_ug/img/master_slave_proc.png | Bin 0 -> 195232 bytes .../sample_app_ug/img/pipeline_overview.png | Bin 0 -> 16728 bytes .../sample_app_ug/img/qemu_virtio_net.png | Bin 0 -> 31557 bytes .../sample_app_ug/img/qos_sched_app_arch.png | Bin 0 -> 65558 bytes .../img/quickassist_block_diagram.png | Bin 0 -> 30748 bytes .../img/ring_pipeline_perf_setup.png | Bin 0 -> 32456 bytes .../sample_app_ug/img/slave_proc_recov.png | Bin 0 -> 85287 bytes .../sample_app_ug/img/sym_multi_proc_app.png | Bin 0 -> 198226 bytes .../sample_app_ug/img/test_pipeline_app.png | Bin 0 -> 67410 bytes .../sample_app_ug/img/threads_pipelines.png | Bin 0 -> 15578 bytes .../sample_app_ug/img/tx_dpdk_testpmd.png | Bin 0 -> 76019 bytes .../sample_app_ug/img/vhost_net_arch.png | Bin 0 -> 154920 bytes .../img/vhost_net_sample_app.png | Bin 0 -> 23800 bytes .../sample_app_ug/img/virtio_linux_vhost.png | Bin 0 -> 30290 bytes .../sample_app_ug/img/vmdq_dcb_example.svg | 795 ++++++++++++++++++ doc/guides/sample_app_ug/index.rst | 156 ++++ .../sample_app_ug/intel_quickassist.rst | 224 +++++ .../internet_proto_ip_pipeline.rst | 135 +++ doc/guides/sample_app_ug/intro.rst | 69 ++ doc/guides/sample_app_ug/ip_frag.rst | 187 ++++ doc/guides/sample_app_ug/ip_reassembly.rst | 281 +++++++ doc/guides/sample_app_ug/ipv4_multicast.rst | 374 ++++++++ .../sample_app_ug/kernel_nic_interface.rst | 620 ++++++++++++++ .../sample_app_ug/l2_forward_real_virtual.rst | 532 ++++++++++++ doc/guides/sample_app_ug/l3_forward.rst | 351 ++++++++ .../sample_app_ug/l3_forward_access_ctrl.rst | 403 +++++++++ .../sample_app_ug/l3_forward_power_man.rst | 410 +++++++++ .../sample_app_ug/l3_forward_virtual.rst | 158 ++++ doc/guides/sample_app_ug/link_status_intr.rst | 480 +++++++++++ doc/guides/sample_app_ug/load_balancer.rst | 245 ++++++ doc/guides/sample_app_ug/multi_process.rst | 784 +++++++++++++++++ .../sample_app_ug/netmap_compatibility.rst | 174 ++++ doc/guides/sample_app_ug/qos_metering.rst | 198 +++++ doc/guides/sample_app_ug/qos_scheduler.rst | 351 ++++++++ doc/guides/sample_app_ug/quota_watermark.rst | 506 +++++++++++ doc/guides/sample_app_ug/test_pipeline.rst | 273 ++++++ doc/guides/sample_app_ug/timer.rst | 219 +++++ doc/guides/sample_app_ug/vhost.rst | 758 +++++++++++++++++ .../sample_app_ug/vmdq_dcb_forwarding.rst | 251 ++++++ 51 files changed, 10254 insertions(+) create mode 100644 doc/guides/sample_app_ug/cmd_line.rst create mode 100644 doc/guides/sample_app_ug/exception_path.rst create mode 100644 doc/guides/sample_app_ug/hello_world.rst create mode 100644 doc/guides/sample_app_ug/img/client_svr_sym_multi_proc_app.png create mode 100644 doc/guides/sample_app_ug/img/example_rules.png create mode 100644 doc/guides/sample_app_ug/img/exception_path_example.svg create mode 100644 doc/guides/sample_app_ug/img/ipv4_acl_rule.png create mode 100644 doc/guides/sample_app_ug/img/kernel_nic.png create mode 100644 doc/guides/sample_app_ug/img/l2_fwd_benchmark_setup.svg create mode 100644 doc/guides/sample_app_ug/img/l2_fwd_virtenv_benchmark_setup.png create mode 100644 doc/guides/sample_app_ug/img/load_bal_app_arch.png create mode 100644 doc/guides/sample_app_ug/img/master_slave_proc.png create mode 100644 doc/guides/sample_app_ug/img/pipeline_overview.png create mode 100644 doc/guides/sample_app_ug/img/qemu_virtio_net.png create mode 100644 doc/guides/sample_app_ug/img/qos_sched_app_arch.png create mode 100644 doc/guides/sample_app_ug/img/quickassist_block_diagram.png create mode 100644 doc/guides/sample_app_ug/img/ring_pipeline_perf_setup.png create mode 100644 doc/guides/sample_app_ug/img/slave_proc_recov.png create mode 100644 doc/guides/sample_app_ug/img/sym_multi_proc_app.png create mode 100644 doc/guides/sample_app_ug/img/test_pipeline_app.png create mode 100644 doc/guides/sample_app_ug/img/threads_pipelines.png create mode 100644 doc/guides/sample_app_ug/img/tx_dpdk_testpmd.png create mode 100644 doc/guides/sample_app_ug/img/vhost_net_arch.png create mode 100644 doc/guides/sample_app_ug/img/vhost_net_sample_app.png create mode 100644 doc/guides/sample_app_ug/img/virtio_linux_vhost.png create mode 100644 doc/guides/sample_app_ug/img/vmdq_dcb_example.svg create mode 100644 doc/guides/sample_app_ug/index.rst create mode 100644 doc/guides/sample_app_ug/intel_quickassist.rst create mode 100644 doc/guides/sample_app_ug/internet_proto_ip_pipeline.rst create mode 100644 doc/guides/sample_app_ug/intro.rst create mode 100644 doc/guides/sample_app_ug/ip_frag.rst create mode 100644 doc/guides/sample_app_ug/ip_reassembly.rst create mode 100644 doc/guides/sample_app_ug/ipv4_multicast.rst create mode 100644 doc/guides/sample_app_ug/kernel_nic_interface.rst create mode 100644 doc/guides/sample_app_ug/l2_forward_real_virtual.rst create mode 100644 doc/guides/sample_app_ug/l3_forward.rst create mode 100644 doc/guides/sample_app_ug/l3_forward_access_ctrl.rst create mode 100644 doc/guides/sample_app_ug/l3_forward_power_man.rst create mode 100644 doc/guides/sample_app_ug/l3_forward_virtual.rst create mode 100644 doc/guides/sample_app_ug/link_status_intr.rst create mode 100644 doc/guides/sample_app_ug/load_balancer.rst create mode 100644 doc/guides/sample_app_ug/multi_process.rst create mode 100644 doc/guides/sample_app_ug/netmap_compatibility.rst create mode 100644 doc/guides/sample_app_ug/qos_metering.rst create mode 100644 doc/guides/sample_app_ug/qos_scheduler.rst create mode 100644 doc/guides/sample_app_ug/quota_watermark.rst create mode 100644 doc/guides/sample_app_ug/test_pipeline.rst create mode 100644 doc/guides/sample_app_ug/timer.rst create mode 100644 doc/guides/sample_app_ug/vhost.rst create mode 100644 doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst diff --git a/doc/guides/index.rst b/doc/guides/index.rst index 1b6ca216ff..438139d175 100644 --- a/doc/guides/index.rst +++ b/doc/guides/index.rst @@ -39,5 +39,6 @@ Contents: linux_gsg/index freebsd_gsg/index + sample_app_ug/index testpmd_app_ug/index rel_notes/index diff --git a/doc/guides/sample_app_ug/cmd_line.rst b/doc/guides/sample_app_ug/cmd_line.rst new file mode 100644 index 0000000000..dadd32d966 --- /dev/null +++ b/doc/guides/sample_app_ug/cmd_line.rst @@ -0,0 +1,202 @@ +.. 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. + +Command Line Sample Application +=============================== + +This chapter describes the Command Line sample application that +is part of the Intel® Data Plane Development Kit (Intel® DPDK). + +Overview +-------- + +The Command Line sample application is a simple application that +demonstrates the use of the command line interface in the Intel® DPDK. +This application is a readline-like interface that can be used +to debug an Intel® DPDK application, in a Linux* application environment. + +.. note:: + + The rte_cmdline library should not be used in production code since + it is not validated to the same standard as other Intel® DPDK libraries. + See also the "rte_cmdline library should not be used in production code due to limited testing" item + in the "Known Issues" section of the Release Notes. + +The Command Line sample application supports some of the features of the GNU readline library such as, completion, +cut/paste and some other special bindings that make configuration and debug faster and easier. + +The application shows how the rte_cmdline application can be extended to handle a list of objects. +There are three simple commands: + +* add obj_name IP: Add a new object with an IP/IPv6 address associated to it. + +* del obj_name: Delete the specified object. + +* show obj_name: Show the IP associated with the specified object. + +.. note:: + + To terminate the application, use **Ctrl-d**. + +Compiling the Application +------------------------- + +#. Go to example directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk + cd ${RTE_SDK}/examples/cmdline + +#. Set the target (a default target is used if not specified). For example: + + .. code-block:: console + + export RTE_TARGET=x86_64-native-linuxapp-gcc + + Refer to the *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + +#. Build the application: + + .. code-block:: console + + make + +Running the Application +----------------------- + +To run the application in linuxapp environment, issue the following command: + +.. code-block:: console + + $ ./build/cmdline -c f -n 4 + +Refer to the *Intel® DPDK Getting Started Guide* for general information on running applications +and the Environment Abstraction Layer (EAL) options. + +Explanation +----------- + +The following sections provide some explanation of the code. + +EAL Initialization and cmdline Start +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The first task is the initialization of the Environment Abstraction Layer (EAL). +This is achieved as follows: + +.. code-block:: c + + int MAIN(int argc, char **argv) + { + ret = rte_eal_init(argc, argv); + if (ret < 0) + rte_panic("Cannot init EAL\n"); + +Then, a new command line object is created and started to interact with the user through the console: + +.. code-block:: c + + cl = cmdline_stdin_new(main_ctx, "example> "); + cmdline_interact(cl); + cmdline_stdin_exit(cl); + +The cmd line_interact() function returns when the user types **Ctrl-d** and in this case, +the application exits. + +Defining a cmdline Context +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A cmdline context is a list of commands that are listed in a NULL-terminated table, for example: + +.. code-block:: c + + cmdline_parse_ctx_t main_ctx[] = { + (cmdline_parse_inst_t *) &cmd_obj_del_show, + (cmdline_parse_inst_t *) &cmd_obj_add, + (cmdline_parse_inst_t *) &cmd_help, + NULL, + }; + +Each command (of type cmdline_parse_inst_t) is defined statically. +It contains a pointer to a callback function that is executed when the command is parsed, +an opaque pointer, a help string and a list of tokens in a NULL-terminated table. + +The rte_cmdline application provides a list of pre-defined token types: + +* String Token: Match a static string, a list of static strings or any string. + +* Number Token: Match a number that can be signed or unsigned, from 8-bit to 32-bit. + +* IP Address Token: Match an IPv4 or IPv6 address or network. + +* Ethernet* Address Token: Match a MAC address. + +In this example, a new token type obj_list is defined and implemented +in the parse_obj_list.c and parse_obj_list.h files. + +For example, the cmd_obj_del_show command is defined as shown below: + +.. code-block:: c + + struct cmd_obj_add_result { + cmdline_fixed_string_t action; + cmdline_fixed_string_t name; + struct object *obj; + }; + + static void cmd_obj_del_show_parsed(void *parsed_result, struct cmdline *cl, attribute ((unused)) void *data) + { + /* ... */ + } + + cmdline_parse_token_string_t cmd_obj_action = TOKEN_STRING_INITIALIZER(struct cmd_obj_del_show_result, action, "show#del"); + + parse_token_obj_list_t cmd_obj_obj = TOKEN_OBJ_LIST_INITIALIZER(struct cmd_obj_del_show_result, obj, &global_obj_list); + + cmdline_parse_inst_t cmd_obj_del_show = { + .f = cmd_obj_del_show_parsed, /* function to call */ + .data = NULL, /* 2nd arg of func */ + .help_str = "Show/del an object", + .tokens = { /* token list, NULL terminated */ + (void *)&cmd_obj_action, + (void *)&cmd_obj_obj, + NULL, + }, + }; + +This command is composed of two tokens: + +* The first token is a string token that can be show or del. + +* The second token is an object that was previously added using the add command in the global_obj_list variable. + +Once the command is parsed, the rte_cmdline application fills a cmd_obj_del_show_result structure. +A pointer to this structure is given as an argument to the callback function and can be used in the body of this function. diff --git a/doc/guides/sample_app_ug/exception_path.rst b/doc/guides/sample_app_ug/exception_path.rst new file mode 100644 index 0000000000..e440268eb1 --- /dev/null +++ b/doc/guides/sample_app_ug/exception_path.rst @@ -0,0 +1,330 @@ +.. 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. + +Exception Path Sample Application +================================= + +The Exception Path sample application is a simple example that demonstrates the use of the Intel® DPDK +to set up an exception path for packets to go through the Linux* kernel. +This is done by using virtual TAP network interfaces. +These can be read from and written to by the Intel® DPDK application and +appear to the kernel as a standard network interface. + +Overview +-------- + +The application creates two threads for each NIC port being used. +One thread reads from the port and writes the data unmodified to a thread-specific TAP interface. +The second thread reads from a TAP interface and writes the data unmodified to the NIC port. + +The packet flow through the exception path application is as shown in the following figure. + +.. _figure_1: + +**Figure 1. Packet Flow** + +.. image2_png has been replaced + +|exception_path_example| + +To make throughput measurements, kernel bridges must be setup to forward data between the bridges appropriately. + +Compiling the Application +------------------------- + +#. Go to example directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk + cd ${RTE_SDK}/examples/exception_path + +#. Set the target (a default target will be used if not specified). + For example: + + .. code-block:: console + + export RTE_TARGET=x86_64-native-linuxapp-gcc + +This application is intended as a linuxapp only. +See the *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + +#. Build the application: + + .. code-block:: console + + make + +Running the Application +----------------------- + +The application requires a number of command line options: + +.. code-block:: console + + .build/exception_path [EAL options] -- -p PORTMASK -i IN_CORES -o OUT_CORES + +where: + +* -p PORTMASK: A hex bitmask of ports to use + +* -i IN_CORES: A hex bitmask of cores which read from NIC + +* -o OUT_CORES: A hex bitmask of cores which write to NIC + +Refer to the *Intel® DPDK Getting Started Guide* for general information on running applications +and the Environment Abstraction Layer (EAL) options. + +The number of bits set in each bitmask must be the same. +The coremask -c parameter of the EAL options should include IN_CORES and OUT_CORES. +The same bit must not be set in IN_CORES and OUT_CORES. +The affinities between ports and cores are set beginning with the least significant bit of each mask, that is, +the port represented by the lowest bit in PORTMASK is read from by the core represented by the lowest bit in IN_CORES, +and written to by the core represented by the lowest bit in OUT_CORES. + +For example to run the application with two ports and four cores: + +.. code-block:: console + + ./build/exception_path -c f -n 4 -- -p 3 -i 3 -o c + +Getting Statistics +~~~~~~~~~~~~~~~~~~ + +While the application is running, statistics on packets sent and +received can be displayed by sending the SIGUSR1 signal to the application from another terminal: + +.. code-block:: console + + killall -USR1 exception_path + +The statistics can be reset by sending a SIGUSR2 signal in a similar way. + +Explanation +----------- + +The following sections provide some explanation of the code. + +Initialization +~~~~~~~~~~~~~~ + +Setup of the mbuf pool, driver and queues is similar to the setup done in the L2 Forwarding sample application +(see Chapter 9 "L2 forwarding Sample Application (in Real and Virtualized Environments" for details). +In addition, the TAP interfaces must also be created. +A TAP interface is created for each lcore that is being used. +The code for creating the TAP interface is as follows: + +.. code-block:: c + + /* + * Create a tap network interface, or use existing one with same name. + * If name[0]='\0' then a name is automatically assigned and returned in name. + */ + + static int tap_create(char *name) + { + struct ifreq ifr; + int fd, ret; + + fd = open("/dev/net/tun", O_RDWR); + if (fd < 0) + return fd; + + memset(&ifr, 0, sizeof(ifr)); + + /* TAP device without packet information */ + + ifr.ifr_flags = IFF_TAP | IFF_NO_PI; + if (name && *name) + rte_snprinf(ifr.ifr_name, IFNAMSIZ, name); + + ret = ioctl(fd, TUNSETIFF, (void *) &ifr); + + if (ret < 0) { + close(fd); + return ret; + + } + + if (name) + rte_snprintf(name, IFNAMSIZ, ifr.ifr_name); + + return fd; + } + +The other step in the initialization process that is unique to this sample application +is the association of each port with two cores: + +* One core to read from the port and write to a TAP interface + +* A second core to read from a TAP interface and write to the port + +This is done using an array called port_ids[], which is indexed by the lcore IDs. +The population of this array is shown below: + +.. code-block:: c + + tx_port = 0; + rx_port = 0; + + RTE_LCORE_FOREACH(i) { + if (input_cores_mask & (1ULL << i)) { + /* Skip ports that are not enabled */ + while ((ports_mask & (1 << rx_port)) == 0) { + rx_port++; + if (rx_port > (sizeof(ports_mask) * 8)) + goto fail; /* not enough ports */ + } + port_ids[i] = rx_port++; + } else if (output_cores_mask & (1ULL << i)) { + /* Skip ports that are not enabled */ + while ((ports_mask & (1 << tx_port)) == 0) { + tx_port++; + if (tx_port > (sizeof(ports_mask) * 8)) + goto fail; /* not enough ports */ + } + port_ids[i] = tx_port++; + } + } + +Packet Forwarding +~~~~~~~~~~~~~~~~~ + +After the initialization steps are complete, the main_loop() function is run on each lcore. +This function first checks the lcore_id against the user provided input_cores_mask and output_cores_mask to see +if this core is reading from or writing to a TAP interface. + +For the case that reads from a NIC port, the packet reception is the same as in the L2 Forwarding sample application +(see Section 9.4.6, "Receive, Process and Transmit Packets"). +The packet transmission is done by calling write() with the file descriptor of the appropriate TAP interface +and then explicitly freeing the mbuf back to the pool. + +.. code-block:: c + + /* Loop forever reading from NIC and writing to tap */ + + for (;;) { + struct rte_mbuf *pkts_burst[PKT_BURST_SZ]; + unsigned i; + + const unsigned nb_rx = rte_eth_rx_burst(port_ids[lcore_id], 0, pkts_burst, PKT_BURST_SZ); + + lcore_stats[lcore_id].rx += nb_rx; + + for (i = 0; likely(i < nb_rx); i++) { + struct rte_mbuf *m = pkts_burst[i]; + int ret = write(tap_fd, rte_pktmbuf_mtod(m, void*), + + rte_pktmbuf_data_len(m)); + rte_pktmbuf_free(m); + if (unlikely(ret<0)) + lcore_stats[lcore_id].dropped++; + else + lcore_stats[lcore_id].tx++; + } + } + +For the other case that reads from a TAP interface and writes to a NIC port, +packets are retrieved by doing a read() from the file descriptor of the appropriate TAP interface. +This fills in the data into the mbuf, then other fields are set manually. +The packet can then be transmitted as normal. + +.. code-block:: c + + /* Loop forever reading from tap and writing to NIC */ + + for (;;) { + int ret; + struct rte_mbuf *m = rte_pktmbuf_alloc(pktmbuf_pool); + + if (m == NULL) + continue; + + ret = read(tap_fd, m->pkt.data, MAX_PACKET_SZ); lcore_stats[lcore_id].rx++; + if (unlikely(ret < 0)) { + FATAL_ERROR("Reading from %s interface failed", tap_name); + } + + m->pkt.nb_segs = 1; + m->pkt.next = NULL; + m->pkt.data_len = (uint16_t)ret; + + ret = rte_eth_tx_burst(port_ids[lcore_id], 0, &m, 1); + if (unlikely(ret < 1)) { + rte_pktmuf_free(m); + lcore_stats[lcore_id].dropped++; + } + else { + lcore_stats[lcore_id].tx++; + } + } + +To set up loops for measuring throughput, TAP interfaces can be connected using bridging. +The steps to do this are described in the section that follows. + +Managing TAP Interfaces and Bridges +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The Exception Path sample application creates TAP interfaces with names of the format tap_dpdk_nn, +where nn is the lcore ID. These TAP interfaces need to be configured for use: + +.. code-block:: console + + ifconfig tap_dpdk_00 up + +To set up a bridge between two interfaces so that packets sent to one interface can be read from another, +use the brctl tool: + +.. code-block:: console + + brctl addbr "br0" + brctl addif br0 tap_dpdk_00 + brctl addif br0 tap_dpdk_03 + ifconfig br0 up + +The TAP interfaces created by this application exist only when the application is running, +so the steps above need to be repeated each time the application is run. +To avoid this, persistent TAP interfaces can be created using openvpn: + +.. code-block:: console + + openvpn --mktun --dev tap_dpdk_00 + +If this method is used, then the steps above have to be done only once and +the same TAP interfaces can be reused each time the application is run. +To remove bridges and persistent TAP interfaces, the following commands are used: + +.. code-block:: console + + ifconfig br0 down + brctl delbr br0 + openvpn --rmtun --dev tap_dpdk_00 + +.. |exception_path_example| image:: img/exception_path_example.svg diff --git a/doc/guides/sample_app_ug/hello_world.rst b/doc/guides/sample_app_ug/hello_world.rst new file mode 100644 index 0000000000..22702b91db --- /dev/null +++ b/doc/guides/sample_app_ug/hello_world.rst @@ -0,0 +1,138 @@ +.. 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. + +Hello World Sample Application +============================== + +The Hello World sample application is an example of the simplest Intel® DPDK application that can be written. +The application simply prints an "helloworld" message on every enabled lcore. + +Compiling the Application +------------------------- + +#. Go to the example directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk + cd ${RTE_SDK}/examples/helloworld + +#. 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 *Intel® DPDK Getting Started* Guide for possible RTE_TARGET values. + +#. Build the application: + + .. code-block:: console + + make + +Running the Application +----------------------- + +To run the example in a linuxapp environment: + +.. code-block:: console + + $ ./build/helloworld -c f -n 4 + +Refer to *Intel® DPDK Getting Started Guide* for general information on running applications +and the Environment Abstraction Layer (EAL) options. + +Explanation +----------- + +The following sections provide some explanation of code. + +EAL Initialization +~~~~~~~~~~~~~~~~~~ + +The first task is to initialize the Environment Abstraction Layer (EAL). +This is done in the main() function using the following code: + +.. code-block:: c + + int + + MAIN(int argc, char **argv) + + { + ret = rte_eal_init(argc, argv); + if (ret < 0) + rte_panic("Cannot init EAL\n"); + +This call finishes the initialization process that was started before main() is called (in case of a Linuxapp environment). +The argc and argv arguments are provided to the rte_eal_init() function. +The value returned is the number of parsed arguments. + +Starting Application Unit Lcores +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Once the EAL is initialized, the application is ready to launch a function on an lcore. +In this example, lcore_hello() is called on every available lcore. +The following is the definition of the function: + +.. code-block:: c + + static int + lcore_hello( attribute ((unused)) void *arg) + { + unsigned lcore_id; + + lcore_id = rte_lcore_id(); + printf("hello from core %u\n", lcore_id); + return 0; + } + +The code that launches the function on each lcore is as follows: + +.. code-block:: c + + /* call lcore_hello() on every slave lcore */ + + RTE_LCORE_FOREACH_SLAVE(lcore_id) { + rte_eal_remote_launch(lcore_hello, NULL, lcore_id); + } + + /* call it on master lcore too */ + + lcore_hello(NULL); + +The following code is equivalent and simpler: + +.. code-block:: c + + rte_eal_mp_remote_launch(lcore_hello, NULL, CALL_MASTER); + +Refer to the *Intel® DPDK API Reference* for detailed information on the rte_eal_mp_remote_launch() function. diff --git a/doc/guides/sample_app_ug/img/client_svr_sym_multi_proc_app.png b/doc/guides/sample_app_ug/img/client_svr_sym_multi_proc_app.png new file mode 100644 index 0000000000000000000000000000000000000000..abd3ef342e9cda46e4c20408d14514e6632e2b22 GIT binary patch literal 192400 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�ZH81`AQEA)yU&O4^lDYMxuf?Vg>Rj`^U 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 KMNUMnLSTXmTw=8V literal 0 HcmV?d00001 diff --git a/doc/guides/sample_app_ug/img/example_rules.png b/doc/guides/sample_app_ug/img/example_rules.png new file mode 100644 index 0000000000000000000000000000000000000000..4019b7dfa3a0e963cc6550ca5bcf6515e8b80c13 GIT binary patch literal 4342 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 literal 0 HcmV?d00001 diff --git a/doc/guides/sample_app_ug/img/exception_path_example.svg b/doc/guides/sample_app_ug/img/exception_path_example.svg new file mode 100644 index 0000000000..5b12974474 --- /dev/null +++ b/doc/guides/sample_app_ug/img/exception_path_example.svg @@ -0,0 +1,98 @@ + + + + + + + + Port0 + + + Port1 + + + PortN + + + CoreA0 + + + CoreA1 + + + CoreAN + + + CoreB0 + + + CoreB1 + + + CoreBN + + + tapA0 + + + tapA1 + + + tapAN + + + t + apB0 + + + tapB1 + + + tapBN + + + + + + + + + + + + + + + Kernel + - + space: + bridging/forwarding + + + Traffic + Generator + + User + - + space: + DPDK application + + + + + + + + + + + + + + + + + + + + diff --git a/doc/guides/sample_app_ug/img/ipv4_acl_rule.png b/doc/guides/sample_app_ug/img/ipv4_acl_rule.png new file mode 100644 index 0000000000000000000000000000000000000000..017e881501c8513bd8c5695cf5f21026fc6aeea2 GIT binary patch literal 2791 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 literal 0 HcmV?d00001 diff --git a/doc/guides/sample_app_ug/img/l2_fwd_benchmark_setup.svg b/doc/guides/sample_app_ug/img/l2_fwd_benchmark_setup.svg new file mode 100644 index 0000000000..a91e7ef309 --- /dev/null +++ b/doc/guides/sample_app_ug/img/l2_fwd_benchmark_setup.svg @@ -0,0 +1,551 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + TrafficGenerator + + NUT(RTE) + + + + + Flow 0 + + + + + + + + + + Flow 1 + + + + + + + + + + Flow 2 + + + + + + + + + + Flow 3 + + + + + + + + + + + + + + + + 0 + 1 + 2 + 3 + 0 + 1 + 2 + 3 + ... + + diff --git a/doc/guides/sample_app_ug/img/l2_fwd_virtenv_benchmark_setup.png b/doc/guides/sample_app_ug/img/l2_fwd_virtenv_benchmark_setup.png new file mode 100644 index 0000000000000000000000000000000000000000..317df8aa957ecd2e627d22b3afc47ee042d45ee2 GIT binary patch literal 86633 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

Poo7Y0+V&?^eaJ-(EV4Xa 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 literal 0 HcmV?d00001 diff --git a/doc/guides/sample_app_ug/img/load_bal_app_arch.png b/doc/guides/sample_app_ug/img/load_bal_app_arch.png new file mode 100644 index 0000000000000000000000000000000000000000..848e48baf0bd5df90a1b4a55df57669958f6f6f1 GIT binary patch literal 96131 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 z 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 literal 0 HcmV?d00001 diff --git a/doc/guides/sample_app_ug/img/pipeline_overview.png b/doc/guides/sample_app_ug/img/pipeline_overview.png new file mode 100644 index 0000000000000000000000000000000000000000..218203671aeaba3b82fd894c577292fc4c6d08fe GIT binary patch literal 16728 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 Ug;gU#Z)vpD^i@%JAN>CR05Uj$sQ>@~ literal 0 HcmV?d00001 diff --git a/doc/guides/sample_app_ug/img/qemu_virtio_net.png b/doc/guides/sample_app_ug/img/qemu_virtio_net.png new file mode 100644 index 0000000000000000000000000000000000000000..a852c1662fe978e1dc785f4771ff285172ae5e86 GIT binary patch literal 31557 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 h9RlILrrYONJi5!PE+IE2zCkp literal 0 HcmV?d00001 diff --git a/doc/guides/sample_app_ug/img/qos_sched_app_arch.png b/doc/guides/sample_app_ug/img/qos_sched_app_arch.png new file mode 100644 index 0000000000000000000000000000000000000000..63294367f79979c8a5d2930094160b99efb55119 GIT binary patch literal 65558 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

luTSqQ#p{P8i%Z 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 literal 0 HcmV?d00001 diff --git a/doc/guides/sample_app_ug/img/ring_pipeline_perf_setup.png b/doc/guides/sample_app_ug/img/ring_pipeline_perf_setup.png new file mode 100644 index 0000000000000000000000000000000000000000..d8820c0819588bd0ce8f3198b3de7440080382e1 GIT binary patch literal 32456 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 b7e{RE>kUqIwjDT%p0QDHi*Bm6#i{=XU?l5& literal 0 HcmV?d00001 diff --git a/doc/guides/sample_app_ug/img/slave_proc_recov.png b/doc/guides/sample_app_ug/img/slave_proc_recov.png new file mode 100644 index 0000000000000000000000000000000000000000..62f1f088ca5d3e1b6130ab973183bfc531e8ece2 GIT binary patch literal 85287 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

!S+{hCSvNc2iX)Vf168(%8?ejsz(-v(zpr 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%0D%V3H zsL>7U-01w(ov)0MrLPSv${*VYWhl`xPLYiS9izChMiSlq^vrCe1B!A!K-tp5EoTNH zzs`RY)_0rNHiQdQJ6+|tLV)hoS75B}u6FpB4Os=C16k0VEUV)$rGi5zYzmCB_^fqB zfO!s5iNAu)56d;VFrZ&LQ)f(HkTasirj&nR_DbK%2&z3F{Sv%TOY2EpkkV1ac4_l4 zPx0on1RP;v_)Fw-gfI&0eiN-l{tExTn<_c@dUOR^&%PkZ`zP#=olju;QdsG=#4UuX z44&_WKe3>-;dYwK)bRc$KGqj6SP`QvFHR#Odp8pF6yydk@!ljuI1%7?Oktv+yzf9} z8Uh^@7ZSJBgGKKd=eq%9J=&D226}AXMM$Au8g%+#u6P-74xXfm4(>+ z;$KQGU3z<5203i`l155H3pojC<5^clhF~No%$9QNEu}P5+6U{&k~6cSBLl49znwr+ zgNi;2f*ZdlB`t%wUJZeM!GczcBJG)X(@;;dnNnU6&9E5NZsGqC3GTMMtb!qW8dZ5# zkV+8(Uc6zSJdd%;5p4agUqKIO0qtgwpzCdEJ zqGDxPqg9*~1zwTq<0%eu4&nB=ha@gBLZX;cDRsPjyRVUd2;hAvGW*2vKSH@{o*x{{ zzARGf=2(!zlenFt9@39wgC~-G@}utP5;o)grvQe@{myX*#>g4deqa!l8mt8C$H|Im z?QiI|X1>Kf*~ElsYkDVaLiS3>(Bge!W82XcJEtp2`+PbuH}n)`H@rv?Xc@fz$||RX z<74WcZ9fq(70*`{JQvORJX|+h<4%u-=8}A}qxyUpvM#R)b9h%Xj#M>PBD+{tW-6XE z$F?eAw5ZjAkXDx6)f>*Hc~m01>1+neAvVFXAeikPY!n*lu*YNPK^*}YHmi7h7&S2I zf_k{7iVr6LUV{Mf*~^^|fD(jC;S z4JUDZD`V6wEie{SX1Q`2BI+kAnVlVDmS31+#!Sd#iMJ4rKA2nvlwHMbW2lZ3I$Q+vzL$1-UQVm*sEDae!3DTB0j2C2twYD=r1T` zKl&=4FkVfq*vF|5VDQ;f!>44mXAo>1%-e!lb|F#NVr*zL209gfK!0_IndHDN( zVXnSau>)Yd*u+*o*@}q{l8JLVq30ilq%2@isWI1R(x~FONy~tcfo;{i#aF@n84JP+ zB_QchPU$;b|WU_KkBKo{%eR(&IwkwPI5}D8zW8Vu>Q?gVZXi4 z#y@4uEvKQUCjK1*ZSA&k$(^y5yRnr{M4kt@y^ofRHabwHE5L2`zhTYFzEl3l7*Z{E z5*bxUBfr#kYuJF&J0~_p!|B#$G*e4qkKk*NOiMFiQ|d?= z*QpuRL_s6;;MR>HW^1(2_Al63n0D#MHRThpF$9Am$epH5yYdVzbb@MO)LBx)l=*NH z2{G=2cy}LzsA@QYl#Ze4Nk2Hv@@LR8Wt+dd_((j=lgv>vG|t341!bs_o?AuMa?l=L z5FhlM%Bcudga{d+_0rN5QT`})?sWCdJ}V4bUESf=w%dIyHcR;D;2~%PDKma|cXLlL zcRWgv>w?8s89EUtNqFldB$s5YWmk~Kr|mijCBHT)4)fQgAd?&`eg3TB=upp6&c3xD zgHw-6veKp5OOjeNG)V3coG9vtbr@7KfQvoJ@B)ZI!5p)#nI;-Q02IUATo#noX&NP; z$C9r3zMpIbI{LAzDwcuSlCS~|_>XA(#6W@98mmG?XLhP%9G~U;p$Nd&}I1=zwdDP>yxkw^lO5~0{_BYrOHNvw1V-v& z=>q?&M$@Lh*~uIObk*m=wA8T+1Q}q%ZTHnfHMOwKh1*0`W{i~d(ud94U0X^XHm>-0 z`wo8X(r(~}tVFSREVNVX{c8E#4y4^wp$+|B2jirJqJa{xGbcvzTQ?Atq96~@wl47X z5f1BF%H0XS2;xkF#5mLy@Q(eq&WcFqF#ho`;QCt)ck<#={?wLEjDb}o3^1%RhH$Yp zFhA2r+ZTA^-4L%U`f2eRO;48j&A_N!9HHsx$-OkgwC&Zj6{_;Z7?uWwm_@^Wzh?!t zU{G~PQYB!2{%(fOt-!Dq1nz(Z#ZBDOpYTNIItH)Ah=)V}wI7Vupi*W$yFb1eXGs{q z;L4UoBTkP3`hESxgUWAtHa7)^td45^%~Sa3?D`IA^>9He05I%~)0-wpPXLS5;E&r! z15w4T%0{mN;pss^VVctE;T9ne(g!%ZKXGmJ(D844ODw3C+EjcwP2`V3lp*19@FAe>B1 z)p;y~K8PhOs_@WII+hbiW{@E+sx4VMbOdC~|G&V-Ji3;W{h2oxoxV)Bd%}7>*a#`@Z63VK1B_b`1;+I-U z4T)J@NPW==sg-c|yJkil0=$DrbQtXu^1Yd;;4WTm00U8}du=LHoWt{F2nr2^o$brW zay8KiAc+Fqspwf#{rMk8JYc|uinQ8Cu%8X%9tnnN^CZXA{4^6Nh*VzlgtKpqab$=@ zk5g3Al2aL#ZCnt>dW61v)PicfXgFD-VYVRX=AVRU8UVRF2uH|K_d}pZa@z$`ReTkx zHM43W_$sX z+E4@UQ33T(fo57ov$R}Y&t&8WlTHUKZv1x-4oXR~B;Yd5f6Vb}n>Vh19iJ<&X);c3 zlBJM;Qow_0K;Ghr7{|=eH2cOR=kuM}(J8UvMQc&{8Pd6K1J-cnwad%}Dfp|U_+%SH zK$A(fmW<7V5K!xR7ym=2zjtVx^W~n&cug1mB=N zdh_?r7p(Ezzyz+JVrY|3r6+Z1Gs*retXMkMVai_qUL@ikWJ9@3@TeYy-7MSyJ;BL} zGb?@K+giK8LAiwzw4jXjw(LIo3H@8tv1+)6_O)UMl2P<<)N{%;vy&;A16W`M73j6K7d&5;=xE4=< zV6)ww*1xcF@~eO3uj#s@(%JM(^gJiX)m#2iuY(P0#%T8MD zS5UpUAIzWXxO@Re8$QH<9}=6_JZ2_Z;K`0wj>ZJ15#&)ooC(WL#|eN<$!url z0g$6|r~>Paz%tSW$z3JLm(MEww;Nu_Hs`H5reuPgH5UI|!B|n!60c$4pP2lqd75CN z)>vPl0lz#VOw@8SU~)J0g8d6fln?dT+UBa}G96hixWq`_E(8}=HyT0DU8H)jGZVHU zl;r5+;Fos_U%h6G^yZkt#>%pcdBA+)p(q0)P{J(f1VK}l(!%wv(#lp+VH^ObpK>&W zF@%5>42496aZZ>g1lP-)KrB@XlS&=7-0=)&cB$v z3*7M%99C$&`AyF}72wN#W22|u#5t>|7DgE)`XgDI-qK9-QXq^S#xZ$reqO<@w1@{` zEm17=`z)TCE>sJH@ETAm2v9_($+*~_zNj1d^%LT3$)WZij%3|x45xOK_x>Q{{>l3{ zoz$X=^gE0v73->LulU-t+WM-DD6zj0;OTL56N7|YcXu8;mdS}Q+AR1JN%_BKY*C7G z3|N^!$UUY--zOvgE~hd_W84nGTp2Gu-#7G{IgFS#ct@K{<9j{h^@s(k<2B zjLvvlCP~R*t!8_#EYVf2X*9W;(8*1CH#Zo%MD3z;l3@)OgSI<>ybeHax^5H zeYIqOS)}R`PxJU(6JF2bS`wJ&y%eo<{K2x<76)@@b6WO+QRr!OA)a_G!8x|CE~zGm z!^eQMWWHe6_HN@udxNIiY?Wle8R z9k^T4VCiIX^IPW2Cxu-JW9Xcp4(pm;tg6U$jB7BWF%sE8d5Ryutx{`Wf1H5cIz71a6%b+HIqf&o;li{hA_GIWWc1JV%F$DL(W zRSGZv6DN@W&V`kO!$Cv5AV5xS5V4c~AMp^BA65YE=XT%6@A)9PTs#Bpby$L<#6I_I z={axVe6MFP{jqO);ibRgo&I9cu=Z;(pclL6mJ*NzXFFO@mk+A(f5Fe@^$S~AZU{Cg zaBqzTOf^q#h> z>l0a@I<9tOpZ8mc%%*oJQ__I)967!93_wO5d7V{$-9$>y*bohC27*llQq_ z2%^WP+z&UV^U41yEm!>U-8Toz&kN=o{*So8c`17x{^$%&NC+cB)f}al6d=-(;^n2k z({Bso(-VBkgzir}8}3@eUJ<9Pxx-1V{?O?g8KVH< zcqTqA`UCvU{{}-Q3 z@BrZ9KQU)9%;zxUWJztOmV`KJuA~MWn1QN#Mle!fnI0pEbG@zqrHH-$NF#TnUVk0e zGzQ{~R{YVmZ}Yo*@{e@6+H6P8$raYfP;3tS5L@`Z%GcW3I!Mv0kohnfIKI#0y9e9R z(ldT}6x>MR3mh-Y2Ny$ywClS8bG%^-R$bcj}2WWdLl8B4=bg0bW$8R5E)1N!y6gyY=9_-xt3T~y)I5J=! z&r1}C&Sx9v^-o@=kk8r{3#cx7Aq#2#El`?qu?e-i-{JIqTC#K-L1s2wwa&lJRMpgW z(jkt2fuQv$#-cu3&@XemrUx)NoioNXU8(aWdH*+E>3Ssyc z&!@w80v(`7v1%`HF@ocY6FcdkPUn zUs^4c7%Q+FQKH3_KmkXaH{Z-wY2Hi9yIt)xlM~=OwOzQxUp-FxAuX~F7T%kPK+Hfd zzoMU?BQNS}JHH=XXpO7^y;ZBfk8t}ub&|8E>z%%k%Pb+Y8qwU*JCR@tP!v;9n3EEIx)b!d*-`9n?=Jc${ zb)SvsY2~8Ub-EAV<-=?QTxuFE27ES;S7z?ZAzav~(8~Ys1qhosHR%ts=BlI_~#vPZ5WJsb;|q}$1m>4qog96THqce$DuRO-Kx+zVa4F6 z*sI1lVG&m}(qd{*fnrk9)(nHAd~vmf>J9)@p1%M`sKMe)w{+v8{0~ zA1?lFqp+7NQ_U0&M{Woh#**MeW+yMxVl9aSw!^1DK@_yjFnS%6D=%iJT|iY&3e$o_ zM(0t#Dz*La8QINIB10Uu)@2o_RQ1EJWW#1HCTeX~)h9YTQWwNP^U*q%r3}58XntC> z>-7|UN!h2zCad}K?QEoU7EGpBBYf%X9!!*x1BjjY{}yP|?Jek!HP;DNTM&5{20K?^ zWy}{c#VyEU572M>;Qv_O|n(fyoq9>oTFFmPkR?4+FDnLn| z(D`2#K!i+Rzi@^61_qzybo#Z1yXXgnwp3a43*0N~>6sN@{sa3@MNL#$qqFPl{mcQc z=)dJp_v5rE*Xr^zGNY6^@~8;QLk-{8d+XlI*{uT3{kDwu$8%ob^jeI4 zeY1C|S8#E0KhQcvj#0v>s;7{rD0_RFrd&La8#J7R=At6 z5d9CbHnXqOcwCyJOZnTOxClF&Ue}m9F-D}gd z=(#R`)dVD$k2u?|f|9Ju|0Rjz6y>7fVP5|o3Wet_AI$@#>xUsqhV=EX15Ux_`)Mx% z42;o1Hcop#tU&9|DM}@od>1|`i1_FEjeE(fNx)GEuk!;-zzgx)hsTNjrNkeNle%c* zn)<9Bzx4j>>PfsJD2XH5+g$Xh?JWBo;ydZ^!*xgMkZ}C^SPIlny&?o$OrM_n-t)U( z=uiKD)${DJ#PV%kz1wpU3agQ;5aE^5F5FjvG$gORGlhA*BZ#s};Q56)cXtwrXgmJx zRzZuUC)SbXwobR?-(&zE!@@jwW4XP4QwtgTTY-e0_x%RYSyM`wa@OS>Nrv4SV0rmp zX88D<9-$dW7jAUo{X!u!SOGhWpnKo2u&~HG0!R-duYxpLTn#gCf?$;;Vq)#qW3rWd zjJvUDt?WrV6De*#k|e5f!R@WyQA_C1xXhX@^pi>UAfYoMk>4KsSf)T0HpnmR?W&^1 z)6t1Ix6K7ro+c)3(!jIOvg!(fNEv>=h3h&k-~r$F!XoP->+NRq=7)oS>?b16gk!pf z$(g^zvs%n*JilMk>->nCx9Q1^NN0JhA78`B2c9`#c|-cWGN6{C@K4A1OsH$HSw5aQ z;3a;k)#wA~d@A>;U7fQ*Bm$w)S)Di*Q1)QYOG8b)VXrSB=_h_OL^dMNJL(73V{OquxRlNK#7+n{NgAYKA%NNWTj--?Ay;28n%Q8u>d`d#vFVg{vWY z<{2Mb>;?cvMcQP3TXRrCilu?x^OJsXBjeXuFZ*wH;a`?kGm5RJ*Vo=MCRr=Mp;8n< z&(QLo0VtV&_MTBOb$fm=_us;BBFH)}r!%gbPe}pRL7K3aT@O+G$Z^%j?DEPPBE|Ba zw_IBn@boUFCHfc~Y{+mC8t(VJknFtzU%QFybzHC!_Q$(=Jk(BxE+WPEabn`c}I+eEgp!b#=7$Bq-WnXuH{+>Zik{bc|fv*c9`~ZcP&@ zISnwNnfmJVCC-GE2WY-o$Ash_ryMcgV7iQ_Uac*sr+0?fnWcb@PABwH8GdDdBEPXQ zrs_h~*?1Cb2Ii0w_ZmpGhrAP@YlNke22bc`Va+&+$!@o4jKO5m`J& z{Yl&uLf0Nz%eKJaPsprnY%vQfW9(hhv|!lKzOi)H;Ns$9t7Us@Tick1KPW#t`@wL- zh8wpk_+Cp?^n;z9-K@2DgmP5kv=R~_zZ6&2`w*{y^&(#bC2ehhj0}R>q8AEh+UV^3 z`gnB?-%=06%v^$Pt*I!q_%}dzROInE=>xAaAcXOVUuf)3)PiT>BGEE^GLvti!Sl-a zPf;}N<}-xZ=}$0m zrqii5=T9*Rxxp)w9Z-6}4hGjuX)9*NxI7hL9gmoF);HuByzKeJ#KqQI&(m33mkZsV zI)X7?{0<(7-)?-e1-L(pY`8uFV!rm?M7CuPcVFUmUq3h)ug=yeuTM|+#s}PCIM{8* z<3}1{<=B&vErliHDl}~0!8||azThTG?MWESyWQ}|7fK@CaBn{H4b=+*?a1ZIJ0GQl zy*UQgaGQKzT6)I95Kr2)6>zIKkFK2Ln{!Q9fh|1EPmJoEp`MPvM9_ZnJm3XfJGY>~ z(q4k|3LO&UR^y$073(jX5!afG$Qju)OV%9|e`eUQaXLkK!|U&Qvn>v|U6R&saMGu0 ziv}7djSaAOKrtxsGrqppKXn%Q#?T$+ojd$v$Hq%`Qc!+dF@o8m%P{x!^m4Gl54lmrWsmB#u5kI8Glsls zFVvCI%|jWssE`C2@X-bT#D)OhmEYS+&mq;07mPfi&{$wKKg13nPJ9>E=vBzQp)Lm{ zILCr##w}t4q(22ekV?PPtsD~zUg`-Ds_A*K2~)V(MzA@kw?85XLGl(bSYe_m<$yHp zyH0v_zn!|z*b5l^9$D1ta;E&bN4+@aTmI;+yg~bMtQNL@L6UJ_8g2(qc$#j%9*VfS zY7bKs{Ei_X7vM#}lVr}wfroiql zNyv8k(X za{rIpno#LO>xB+VK>S{ftvgq;nz}AyN6U}{kRPzc;F*%W0QYt8s)>VJwQxqObM&&2_bv2}R~1U~y+$W-?6cwGng zridA=#2#`1n|!?2E&*~f$yGCc|f90N&!@b-k(bHGvRAL~kfoivOqK`vPW zrmhL`iDb}EEkg;d2n@(H!F6-;jnx+oeEcJ-M^ma)kzCmD6L!8QKsc2yQ?fzvZ(%#=!rDS^Mg_>9Zy$KFCNQOdl8=R}fOM5@!>7z6^(Uzz6MoN4 ziTz2N-Hy$t_itAh2Kyf8Ig^=`E)n8=58WbV(Ix!|pl~U#wL0VXjK5N!4?}aFFW;Ve zc-vn|&jSvP@J>zyr%s}Ge3c*&X4N>^(#|$mQbp}=cc`+P`gQ1=EY>}aKcB{1uYwfI zra|0{AHZKpLZGXtx?28xby>oc?g5pBYVg^f=pwfw#lKG~Xz zMIn4<-OcXvPkOEH=Ee}o6T*=*5^`Q;LrjNd4PDs$I7&wf>}CQhM8G#yL7@PPgk(&( z?isw|>A)cDJq{&ZRQY(!hlzb*eV#w!WyF5rLsEe z@>4~UDi0nb^lCF`*C8(M%3D@BEkY6OyYh71$#+g(Y^ikqQ9OY z6A$kpS?Ku#S6BBpgPuzY!h?I~`y{N)lZsjbe28B5=R8i&GN*EY%;S*7#a@oz+3C_1 z)Z3a@SZus+pxS7fkzD`9*xx3ELd~sb7`B0Tq+OQ3To>Pv1AlGEBl}4LU>D+y{lSdY zRja!HP%|ngT)yE^iuh5Cee<<&(rNWrZI)Y6o~C+Xr8=*hZ6L}^`qeD!18=On*(37g zud6xQv<2m?CbOjJY5wphglr;>rMRLhuCXN3S}3PG-#Bz~!4F=cNkNW33Iw4|3VHoK zDF!p@^Dt)#|9}Eqw6mnHrrpF-l+p11HYF(_-mDZJX0VTTRfRU{ZAyFBCo@7lqINXN zIUFt3grx8g|K^Zj?DBM(pVvys%%<5bZdRWLQb!ej6U++|_#*EkJf*y?NK}7GD93TZ zsyOukFHs-$8bc;vWm+|&|u+vn*ZBBS3 zaJYl~;RMR+l$;&%V6WyyYJwIk#-_-}pwfkG;(J_`Am82+hcye98d{9my#e7o%dzcM z8vtom;fw5DJJK)R^YVOW4l<>%F z-?mtUc$3Wa*@Ss&aBlKBww>=QY2-))>7n6_>biv{aSa;UNyplMql_DQNnhk+`cjM2w9fZRU#09l#5^#;qR(ZrW9j+ z8NVnBjqY+!4}Jg-j?M%}$#b93*zr!PSMW?%0=WN5e6pgw{^@n9Q69)dJ7MT#7T>-}b24=KAdaf9N%;A_Fmld#8q>sLK&_%i zBn&J-rA|08fNALyDXx}hGmM7w3d*@gu<;4&3%&eZ4MT`?V_1A5$E6mi=_#Xa$bE~a zduLD@NHyq|{TO0ZQ1?N&s6Z+P0E5%EZPZ5w8MX>l7XE~%DHZ=}JUTE6jlnE$%I+Y# z6(HMC0aEQBKQx3hI?BivjQeGX)6I>^##$GkD=g;{L7WR{2q5Vr06W=A^P97mj2RW< zSMGK+55|;I?2GvInVYW_$XZ^f*J!8b9vC!g&mpckml0SK{)xJ=) zOpeyNx|0|1aFXCu;d1yQ@^LjB(@RT;Qpn%dJ`K40U(J5@aPa*Gb8~?{gMSKeA=l>7F~l&r%40 z@aYngknnB#87k^=;sNp?B1n&`Iqxi%B!V!5sgl9Yl=^;Nm*Hvw`hqG?kl0dj(?C8c zG^pf?spF%c5fLwOIp*5DD5dbtOkm3XR|O!OOv2=2E7+)e3e7B|!n05^Q8{R#R$TVm zg|OUAzJ#}HiJ!F{6GOgFx5U#Ht)ptKuvd^yGq<;nY!Mii$Or<aFsagd z}BCk7k)>88cKOG#EWX(TxBUAE8DTv9Ttopv)$2 z4iAaVS9_6~a{vw3)#09p?8quAda-t!D;IFYu%UK%75!_Qriqh5gh`ERJSpu-fktxO zOG8f1d=jf@4}j#GAO`oUzUkqNrfMQOPEBAQ)v=?GO3Fw2QVu$`N**%U)u4zeSi)?X zG-bt0j9r-0W|%v*;}Ueg_>k5+?Cn`Htk_!bLFYfz#_LX_XD7UdU(}msFq5)M6*yE^ z^cAzmF>{L#sf?qF9shxQ-t74_b-nXyE&k}@0&>T9QP8lg62*yf}QVD#K)q;>9Gg=u9 z?(iW8GWZh-&FGciYcV9DmZFT!N5OhER%UGH4ZY8&eZYeR*HV(|7-JGge-<(QQscxRJQs*sJ*8Kn*_8EAi$QE)b(C4s z(}YA9x9b&J&zZ5)%RmbQB&S7`*5#jwrymL>K@FNca3R1?Wr&ncIyRn_Wqpj??t>+f zfj*0-Y9BUW6*sUHEp~W}DozOs`>p-ADQLKV+V)4gef5|?Iz7l=J(yB92qkA;pQ>z> zFuNWQA?^M(_-kyWoKrDn zvpVm(@K>+Y{gr4jjXz|nZR6ZV(DOW~@+RbSflIOMR(vFIpqs|+XYRGBHebBb$AM>w z78XK!IG&IVnV@l(EX-M7nm8N=ltGgI2K^qT zcze3LV?{OXUhSxcPg2NUy@^yd%UU(Clp6{*kB3|9i4YqFmwTvmJvM zjh@M_PxlTpTMmT6C|h1cal3|E3wDHIV!H7%7?vqDWuG!R`|;6h38gne;Dn4Bl zg+x~ijgq}`(`guE9}*W9QDnN#J#F*84lKkK=PN~J!Rl<_?Rpz1)4I+ovd_(l#M_u%&Pzq&3rkU^^MoNxt3KA;H90@htTPzU8rnbOW zA89`zVSoOTy;O4jyN^H)$NE_jy<9;)lYg6s|7Fht2ajNj`Sn!cVb@{L%mU-OQr?-aPjtig=VHac8(er%Pzvpm<8u!`@nNJaUmkI;>r|H+8~xC-1VUDz!ktDtam%09`$ zB{&gqr|?Sq!B3#&?jzna3ssU+Z~a$Ybg}40vQ%f!%3+J=q~SM@&X785^vb!%-tsNJ z@Y&BRmw>!d=#PQj=T*Hx3>T^cbNuIr0^z29a~4`@+#Y?{D$Y68Y#2m`M5a#aGTV_~ zG)0U=r?V-H(Hu^~<9H!)zfu`t!fRq+;dhA~#^xUD7BGD3pBsGGVkivxO|HuHBa^wL zWnixcj^t1{DSTW$hIPLzBoIq}M!LP3 ze1r7tEL(uKHJD#h5ZE2A2K<5vmX_n^7IU9dln(*HfeZXyxqR@J$HG!0b!7~d$~B8l zi)yK>d(IUiHn1Y%P20N>$g(uP6s1q7jD!4)OeGeWcq~lcM9vIoh=xoZNa)zh%@~ zsoL=0?BMG2uuB%dz3aKjVRm`*yWjTz++#xuO+Om_yzcRqa(!zS=YMX)|9h#hu?d4! zNQ$^~A12OFqoiL&8fOf);Lth+Ei+azWNYdxd_U_WBxD#N?RY6{iN`)6jo-}=nG(QGV$~{uSMtCuHD2=;yOYHx%QFd zpp4IsJ?VZBp1~^03@F(+aN{OZjtYCrns(6yNR#I7Zake+r_o>DoiMwcKG4fD67Aj~ z6X#WQVXj|RS0KeJghPqKYtJC1f_bff?ZY`{sn}~B7B6?H^M~N;HQZs7UZ0GYBa-!v3%qi7TJMnM*)g|A73DhX#nY};(JD!hgT90$(fhThI=vpDNR)wTX@+2kcd*GY^L1YbdeLvB ztAT^=fgc-Pd-colO`&tvWn)WAnEC-PIB8VoJgPtHENYWY`}W5myb}}ITcN~yMz^Q$ z?>2pKR-IVnZpsl&&^6lToJal+LyUI z?>1naUSiu=p=bvYiG3LvHlB5EebE08wm?b0(3?fvvs{9X@JrK7p8XY-l^SywdN|YG zLnc?CwXKbg&Mt~At)x;(EX&3;J|1Ua$F|uq&`&OxBan=-IC0bYs&99<^6<9@#M^>49%?;cEZ^EKl)3#B!_=TocKSzKIXW@>`f zl@(T3mROvbWNG>`eK|pEA&-urx1&I7Hc3~@0&iWMVf^$a3H*YxtG8CS!Rgoa~$1>Q}ljC!TJ6OFk%lP~iM&CJ2BM_u=t+aFvQ0(ZYrL~PhOFOxI zo@6qGn@o~OII&Uq78Q4_^$vgRGoPWotB3#T-~87UopA;_3M3PD({f11?)jlYX@zC1 zk;yHxd2HhYp_;ABbf{399I1pGvJP59q(~=|JbnKFKYe4AcVCV@+IH<8iC?reADwNi zK{SQ@kwR;EU7Nhk#EtVzDQL~5IV1&ge1+4;e$M5&)z~asd^`dHpHxUG38RP$lS?!L zpVNzi-u;j8Ti^T^eLY>9J-iQu)(}P!zUNV|*QwQNR4ZlXXJ?q7n`UlinuUpr)GNy* z3{7Xw=8+v~dU_7gmCvF45G^zb%jUq&UV6HUoW4B6%O}t9#@QJ}c^S)0-dTOaI++yf z#PVvuPOrTL+5FwL&1kOWTpM|w+)z@fwWi#NSPj=Y>BOg$v}2I91tywCpqTR@n~)T2 zLDaN{7aFR*q84c^%OGprA+gjTg`|*4vVX7--BREIuR+NVD6LeuG_}ati8pxX_zP&m zA>G zL4+TKG`xV7nvW6&a*ZVGZCT}(M>AprclIpYHE50U1G4!n_YLOxySGm>*3n02*DYFU zY-4NS7PV6!6=Hq3pqNQA(yf?y`wDNqc7{;xZbmD`7JWcI;m}~2220fjFPxg@9;=;) zp87Ihc=~gsl3PzE6FY7M1VKpPd(`R;%H5t238rtS-=6OmnEW zg`M{f&|1uqNhWY@8%zWIkT8g=WTGg7C?e;&96dP9KzA!SE8>OmkWhnj8*^6xq0&@+ zMJb3$lpzI@I9R8MYhn^c%&j~vD7q56Ng$C&Ap7s`O%ew9CfJD=1guFA^;JLW~Ed+rdQPPrhvy)+a z)?zp#iRvM*t!kd$pW&&3q!EE7G?y0|JU-x`a}A<= zk|z@aQ$YCPm%fR?vHs;o>es!9OexvX+sTfhJ}?CS@+#-278skHXLji%mtT5^w>?Q{ zCCRn*(%LgfS9cFPhll9z?<2K|_6OxsnYZ42i+A67m)_PEesUooohy>c70LH@vNP9$ zlSq)sWawyXWp?}=r~a2eK`Ry84sFLOw=4u;NQr5g2;0QkOc};na9cHXZb~(KfJ;E} z_phAdis<3-uY7}DyLRIyniZVeQ)|n^kOFKIDNW?HdZf)lb4d!rXgx|VO_Nfk$~zZl zIa^9_-;-Y<-G7mvo_j7{%h;;Nu1`3GpkA-j)7iySPdv7z2qi$R-e78anv0h%Gc`5E z%KQxD=TG337wO1YbZ1S5T2l1v?V!JFKdo&Auqy{P48}eiFL;-o6xvvVs=JpxuHg&*z;BC0?$>!6yr} zTToi5^S#p*epQw{x+g)-k{fn7+tBp45MWsbdplEnc~6Rr(&%1`%v)uCJnQrFoWq0r zT>kZEi=6+#4FB!(CAyxyrMIt_lFw>s*|rt>m_Q(f zq*Q5e@ysPm!;J07HYw`2z9wl%r;>EH6_JL-a4Z&=OB_2h#Y9-(-p9YpzP)?6boSji zt$0l(>o&F^1SqZ0Dgv$I0@{xlT0;;;td=XxOwVxs+!-#6jTC=A*QC`Ft=La*qJFVmQA|zMN||udsN>V6kt0B zdpa%lSpp2j+~pO{1__=XPV;b4U`7g|VP{ri1rfjh%M$-xXNv#ve#zgxy~@vLHTRAr z`S!3wy8(?2+F~}mP)87V0+Ed(#11^sg40Nd3ur2haGrjRFi6R9mi2GwANGDxVNte#HB6|iy8bL(0T4Qdt#_UR+ z#nLDiY^@m)1t(;rL`>@s;!!+>2 zfHPO-87;wQKlde8pZ`ldZwkk{y@Pm6mKA{(qzpx*;%uzvD z8~kr4SLya8uT2K@cc=M$zr%nH{sva+Z1^q^``JlE%D_+%tprS#BNhVabtH}kjpWd9 zmfx8O_GmL070xET%)vCu*#bdra&cy3uytdLHm2ah^e~3)Jg|_w%hKGje z>+RmK%~wi^eG7#3qkgcraeGiI!Z0Lz4jtyp-}nNKo7z-TX&5Hs6H|=7^D9>BH6~{l z7@e&!BRhHOo8P9lryIjGwj)L#8^jhbf#0B`tA{WA&cDDkZ6d8UPoF3R0zsu#<7Yqm zAxq^t3-gP-es-E_a)5(JKFi4d{Uj0z>b2VDjBy)V8dI}#oIQJ<+1XiE7Ux-+ouINj zN77QXrwpDLkhEp<6fzF!q(j27aV!JdFk;_Rag`6MX7J@^ABQzp8zBY4GQcw8H}gVN z6d?@Bh4BSWOq9s=?%{z49^(5y|MTmK>TNuFS`&vYugP9(ef1xu;{#+SZS(E>b3Fg- z3V-&trr46?8$(I%&l{K;{H&zNQwc^|ZHChlsWm=#o|+Xx5cnY%ugvoD+vnJoPLNNzaoa{iu78R8T4(w9 zm_hoQ(|eo-jH}8MwoSr;T+*ezDfVpyA**$d<*LV0smk0+mD#Dc8M_cNW+pjR=pWzNs8u(-6s z-kx^$@9HJ;1KvD4#d4J6(W8%$bS#1({75ut3P4DDyOKQGvcfOVhV0+tu&-!RumsVK z{kQKB8%QeSyCVhEgNV6u$nso+6H5^TohiP&E6M#u0~BZ>P?2Jys>vr!T&byhic+Y_ z+8cA9rGQAmTpf;`t8lzAL2JgLE$h;nbIGL>BpsWCWnx)oQ)_s&rvCjx_PQCtymsCR zAu%mU#*MOM3^o zT%J@a726ou)-B%$tuzyplO&Ta*=!c;HpA-M*j%g~UJNO*EMrTgl^x5ZQui32uVb_f za`?#O>^*od_Vyh6SVKyIVHj9jV2)`W&odoGymM)R{fBq+-~*p!=g2-X+l2BHi!fBw z8?jI1>dFd>^Rq0>&9JnzNO^IV(%d)@(vmdTS1`%s(iE~OIed4|r;A`>%C=(I|y!Cuwcn zP4B)(ID7g8^R*gdwFd6YGTDTnkTfYIEpn*@>7+x-wMaU4Y#g-fhLD2A6DOZ_at+29EVR~Va%jd?K@)fCK7pY}NlvwXKaK4?I9u*VZGhnm$2@lp+j6JkO_A ztx~O4D6N)QnxA2DVV2U;0=4BC8mse2<_J!EzITfG|XdDz+88 z1<3UlH8I=LN)tsPeh^Zr`&8>*OeAX|ixrQOr>JWOPiD|o2QA(092hx3|8j}9fA(EY zjZScGYK2_SJsdguX;MiyF3|ZX&~)aBypUg>u5co9_=o!i$0s~qo-}DsNDd?gVgr*D z8@wxMl!lCJa;VMWeljdnOT1a~d1KaOpx+^7fZquC+jq-c6bb(OLmBj3l|Mi4@%)&< zP{!oGtRM{U4qY(g_j?2ir6-g^bhYur5~kps}s#G9y0(KL8;xrKCNdqrF%_Yenb>R2mJI zmP%ZjU14nY1e2G1#tawX7D!}@w03mS-qTO9wViA>M<$aYkw{?M7Pe*oTH0}PYMSSs z`Fj#>l1wT|Yg-%E$EXF?HnuJ@nGBzLHDS|M>_X4VQpVeA}m2#c=a=>COq8fru z&667@KME|D0|xa4P@(Gz*R?p> zX>t5qgBPv{h6)x(bArn=RsLi=;_Hv6*;lm4xh`jCeEx2>!4L8lgCh<(0p6WbXRXmn zVHuK^LY9_7mR&_)^+NA0=oRb#LMesv)w&&lDJ6weib5vM@L=45q+Y8tHNVX0y!2x!(w6JSQg9PSyCvr|)IYz602ndDlp#=K5ltwGX#g3HaH$Dx(RP|7MRv+7WzV(B;JI zRbCux(33a$Vw-_M>S`(?8uuga%BX$8K zOq-qk-RvChM{7-EwZi!P5);#lOfOw#>dmv9u16>T8fmtW?$zx}Pda|74$zHItEez(!8bErr5ISjhN6>($*{ z%kK6%xrt-Yu}g_G3=k5p;W05a&FRyp8M`u0X>pp;%oVg(rsxWK@;3XrUD{hZ=x)u^ z(pmt^1V2OvA<7R??=jk&`gnq7k&d|9u|$-8eeIoZSmBe4DD?pWh90W+&7fx_jaUcCpO%yE9mP=@-IxusZ~XK&4}|OlKTiD zNG2Rcb`3JJYY-lOh+4y=T&XfQJIj?TmzlUS#)X+l-hAx}bAR>lc6_i#T10riGQxmsgxvBcQy zGUL-%xO~>*%j6nIVX_irZZ^*U#dzrn>bCs~@g!k54GyL5MT zd}P-b!bDn$tMf@KRM0?a5zhnT+NDgRf(B6#00LoH2ty)Ngo?szmKA|vB@l!}VesqO z2Cczxux#h*lu}_lhok83El*k_q=mGcSlcbG{#+}c$oGCDEx)za_!PL_9R;YsM=6CC5@|XZh9>g7>*kj* znroB_uC8(GZ=*n37^c%CT{L}Qe8S+yb?@#$7zxZ9nilBDkLS6H`%2#)G?r~quGe|) zm(O$d)N!tiT_!0Sv|2s|7xuMe>AyEeM@v8Xv`Zq9z;K$?xF?%d+MZ zDW$})jF^}zO`~3CwOVIkVU^J<^PIRe%fwO@)6G%n9-@8M(;VEfgZ>>uw70jD%VtS9 zcHDXDHt^N2eHEn?nM|g+S8Y6m(u4>e+mok7TkLa*-5s<>2|;^{!+&}-$(IK#yg(6X z(5Ast`?9pQ`7C2#XidCY-Z|~sut=rS0@JoQGHjv*5XA=O3MghB9?RIMrp#eiTWsUh zh;%b#8y_PE+FW{DGzzil8?@`#IJQMGmtp774uT-0-e|D2w8+f#3|B5+VD#b{UijrD zL{OtU?=akvp|c}TTOq@qu6E2qCN4qu15^;*e4kGt(8N`5B8-jLg#gF4u`QcIHp}op z7eNqGt$Qq&>s+2&VRdkr`*(Mf%ci++XD179Px0!DFK}S*J~C;S4eL>)G)5wah!&~N z&fzs0@sE)hb_y$*!*NW4`e}rBPZyB(m7H5pSkKqN6%~ zy@ApOrklbLYXt=wgoR~0MD+!#i}QGO4~>Cgy4cxv60U{5&3>vk4*|l!phjux0?N#j z$mB4k_)xv=O`-V)mXpAClXv=V8-i3i!*G8$nc6tU;#r>i`|tDE=f6R3_gy-D1M&AQ zk%oo9r?Gg7TE#~r5T=WpZ^bkOeq|oNRwfLZ8@jYewhoa@CDDOT;H?t+A;NGlodi;7 zv=#`V@K&c#B7vDm#JcJAc_xu|8j}($6K4p52rVRroxw@vu$)A!SGpTJzcf%`6|X!^ z(5MlHVcb^Lu(47dq+42$L6zuE{Cu0zAae_8uH%%qMSFV(pS!mg@5&qe@+TG#KK3+& zgM)Xe9j*ppVkI2><;#@I6@o}1q=lKt;iPgHxJ{pxRU!pKS{R8O$y@LnE#RcGahurN9fJnLw5eBCsZEU1U+CrN!89$|7Fse%a%mUS zGBHg9L&#=KK@&E7*4iuSH7kspgp>kl8sJzUB|*Kx?EDg!7gt!AU1D@Jxn;z^ zSX&dtHLo)b5g*nzdSJH*Aq0jHO)%VXzw@uipe;?qxV(8Lx9$04fDGV{h?vQ&_9LM}fIt{@*N$VR9`QB$}{ZMP~Xb3?8PnvxQ*!9Os|?k2r^apOO82C_g}0 z4&l;iX5M|3ieIGnQ(qyMGKs&%aKo>?6z!GO81WA&I`n=s$2DrmlmK zO+)2accZnsI(}(1?IDOaSFP3$HgROAssB;odq)eTM97Hh`5$rO*eNs#Iv@BpU4#8N zmPFs-(3J%B4!9PPGhOuz7lth%3K;P4T$ximTmK^pNQTOMQK_h7FwCy-RD$$%rYx6~`s|Okp&!elq19Y>W^{@R-U3U-?b^?F?RW2QSj+$@c zWLq&!feJi=P*50onw}jykRrNGWR+_c001BWNklixk8( zJfFATJ;|qAQ|#N*&0Aw9dFkg7{v%JaXJpS^h|fx-ZL@mnIi^Qn!8bBU(?RA+qs{%o%fJ3Yb+lB0hg}W9Q@`#A}PaIM<^SVFF()R zl*&oFe~L8#T5hawvtEU|p?7tD;0(+F)G%S449N*3ro@>>)#X1wM%ZEbXOty*7{ zn)7u1o@muv%fxz=Ztdqc?lVFfpc>R>-eKnC&sc1<0FZVJl)s9yJ17nxrP$q%Bg5O1 zp^3P=UN&Lz;I0n7aAcT->tX_?A(0~Xi(YF;qMM??^-F!oHD&V|5=K+AX$S}-<`!2O zon2ylZi$uUD$5PQvT{Kf4DI?fU;E;IIy*bbWpgCcDH4e!mTh5KR&0X4fw-Gw@>*z` z_F$q(FPcB2NhSqXf4=s5bWA{{5I59_+!;2URK6ESx^citz4r&$>e)jnC5~<5*fyDT z3fkIGS~IX?kfEKsSzKDAQmL@Iw8Z%{#~G`vGI6=ao1+&lEiV<1f%!?e&kid(#eJ}L_12`3DMX=4}$0)+}{O#*9TI!UC6odm9# z1@R)@7-#C_i$u9cahINFY5WYCws!1d27!M^52z3ZDpE|3p5(Zg!?N8?Z%bEic%+Pw z-u_MoyIV=-8oYA)B0v6{|G-!O!9S+0rHEl{>;ftb8&#WR`TPq^o*g4G{1`nucVnss zjiph@=VAU5^>PK019TjEg0v0VTVm?AN%nygSSe3We(|7&`1z#1#_Cl@;Ehr zACXec4LpvRg!L)r-u^z5<0ZO2{dMx`BqCU)QC$Hiw{AP4!v=xxp@o5ACNNAR-rQA$ z(h*99F=5mKVLF(W)lA*jo4u<|q~&0m209ASS|X%@_Lr!wmN7f;r+wdpWRf;PWrpR^ z=a_osyV%KpMq7LKwxgv&2n^F^b$*(2Fa8i=n48v2=PEQo7?G@%=Zr+vbgn zqrCAFAOw5%?B2M`34xF%(cDX1diiIF-ov!*+D|%_Agaw1D2=coD9unV8SL2qG})wu zj4G^LdWHGRuiys}eS3z8s`HcPs}1XHYE-gki+fPMS#Jv3T|;OkKKw zY}rrOz#-C(B&;vfsFpBLAPk5+qQE0k8fjQa(?&`W%Z#D`6$MubqqH!Zk{}(01b!^Z zk*14jo1oSXH701E`obxu-u@{oQ478Ie*u7OLJ-v!Xw>VNt`pDYJGjM4gJT#J(l%|m z6k1xbbmUqh`JrD^y#CAUDzp_UjPSyUTEk;nKB*q34$jyd=_as(Izjs=@NjEkeo09w3^tEdPA%!5FN|8>b7#QeB zDMh(bqkm`@G2z#ko~&YyO^{7kv}bKvvksZ0L&kMTCLC+&|w`$8ZjM5Xggop=*t|39H^ z_#U#^I8rG>k0|trq8i@fDYUk+bG_uch7plO=aMw$&oFWM0*g}vxZPH>XZd@KM+k(F zT-EakgrTTSyureJjqIL>Y1?rR*|dv}JffhNAW#^>!&^Sb;@D+;zk${gE8R(^XM{{H zgQ{L)=Ik3ZB0FxZbhNi`sEM{Pz*`+>W&8r3+0WpCM=0bHphA+lR@_qYAWs`)Zi!4u^qf+%StON*~RPPbm+Y(e} z&$2o@jo0uHhJ%yuBiFZ=loN0K%{z`TT%3F_*{GA?1g9n&9Y^7vn|I5$V3HH&>) zlP!)+gpnp^!I9w3(tsLo&VY10M!e&H^tj=7bGkpq6LI$A>f93u(?V4*u`qg^h8&=)_deSCcVZC{g&t|If|51_i!5I`NqK37 zC=8Ky3b%ELe9sV$@L3&umARRP=KM0Si#sWF^k9oJtJCKxFD%6*)-I4AzMpJ5jT8!` zL^oEb&YWRkwoLBuH|Xl$1%M<(hh3!n8cIooP#Z=(v~FtOZz6gWr=8b2-^B;}APlM2 zeM+?kfm_WU}aQ_>u$<)wmv?}r+VuM zYJNi?r6iY4bI-wjK%CB5T3%tbRAzN~iJ9pMrY0tst5;Yol`)sfq^ue_N04(3a!H45 zD(+3{CM;~jjH776xSFcHiHA}vg=3oZcjVc-Q0DZTFJa#I08+~LCUG}`IMov3EuCkv zlwh!L1lN%$uLM98YNTOfS}sAefJQe98we%ROkle%QUnBz8cOBghv2@KjzuDlzlfZ<@fCQ<1e(M)7-MPdZI)LR>3j!9Fwe~KXHk5O_U=|}OQ2P(J<(x}+T0~-Q5(BDJJHo% z#Oxf6(jr07g<(nVM4+OyMgjw!MLu)?ZtP?V9d5E9r1^Cy6>ITqA=ug7icpFdPQA)I zi3EopI7&xn=LU7zF%ZJTtIkoag_vDC$!8s++6s{t2TNNTi9k;oO1 zx{UAnO%nLtb3P7yT(jW|P+^tE$|U8oP0zp~Y|$XBujw@t7=|V+Ut;OP%S?*Du9T{ui#ggXyBs!DiIdaanLG^hkW~TH=-z_J(J|q_wOMkjb@XF+k3wag%q)A zb)+zbWKVZ177Lu3KF^6`Ci3WG*U40F4{Js@C6>o7p<2E|zBP}b>jd=xgo(6WOkH6u znW&-w6@oTgOec+H8R%M#zz=c62a()n7G~|gr64R{p}gW@?dT(&%_GBFY&9bcgq_32 zWA(yIOrE=lu!=a2iC>wfx;jTF96Gx*lrKHc_*g{e?t?gX0??|Xo3CV^pq?=4ebULX){v~&$1!wLX_AH>mm!^JQZs5^^PLLBz^P*ap< z-|RK=t)qxW;Nvwr)~wbVRBArUwUDJ+L^UAJh`B{{ONy5E4tn}`P$;%i$mb~JbEJ~) z9gch(w}Wj`d6$uJY`Qz!>F#Vt>tTZMJ}R|3t1ByvT^VC?{0gyWTa9K%2w%@gqlboyCqD4)+HIXK+T=t~zl_DX=~2e?8sm(*KX zE}9FY4hU+C)I}Du!YD^yr_}~G|@G{50`#&&!W(VoQr?KoLpbhkrj_eD|F}+`3)j8QCMPS>Jr%Pq|!-@ zavYhvX$lfH2f9M-&z~SHewM+9zl;;kGWp6MF@58T2107N`h+O ztxT{wb(YAr3G2(0r$&kLdnmTG5f{SW!Im#T3mv;vXxY>rZ$7KkQFERNP+^2&7z}q7 zvE(wxr_XZwO`EydIj(j+xg9kBHd>`p4^Y`OLPelutj9*hn(DO!yb6i@I-zMG{5sXe zF&YgYD^}T-MleBddsE@zM zW~+hL8L<9c@XL-uidE{qoOQEcTK} z4wAA#2Xz9kjuu(WYf0aF7n$%j@9WJ$K-1D^ZC}xNQA9lmY1BQc)dmaYIxD3*D-F%E zr}315bo1ERR?_(vIyyS&AJ{>AM<+=)LBh5^Li?$0ydSP3mDiF3Ze4Sfyx(6fz0ATGDj2rMyLaxkm}h8>5| zYz9**P#!^Pij|o;oQ_8@O$n)194Dk!TA)#_LDr26gzj(_YE7)?)N0c;mG1?uG|CUz zzq1z=Ugr5XpU1RaQkl%1zH^*5)KMHA($RXs+Ep|+BVj;Tp|Nn5xpR4{rY0!OvUquh z?9dlzZEqv23zUxA!+tQzX}K6y0@HReWq@i-usT1Dkv>AUtqUiaM#wHQxdP_tS6P~yr>kS289kMtYSiY> zvmksbwn5Y=<5erTeV?V!)`}t39h1Oob=+zLqEZ_UAy7&o4TJuU0;W;s`LnO_@>`dP zR2Nbj*AV_&ga#s?P>0t%UpG9nO&y>1CRsT5GL58#s;^LkK@7^2h zi??sNXI5tID_LY!vA8tZ8+)Ce*0dxHFxFUr49S8F81Mr4qrVvbAQ(0b!>}=sV8M_y zGZ@*P>FMci^)#E!9&X)StGLy^WL55a=G!CUUVn&}$y(WDEzB%-{fS~_WxR;E5%<1( z&pqdV{)dh#Qy4u=KI1W`WB3#!4Cv0G5hk&oZ#;^S5UpKiajs5!|6a1iGH#GVR(Fz} zInU~qb1W}CmW(gQMcN+9Ng<;-T5B`3nlXOgE^?&;S}F=72TA|xm(=F3(jFWlm2$eA z%xEJ)@xG(W|7Sh9hGg5_GKNkRQD3byv#`qK{0fUJO;$q5N@Ni$pPs>Oly(eJDp%<5 z?`L43pIkPxCD-`R3USS!2Nu^ngy0&ZQjjE1AxXGqJh%@kW%5ToAP7#pnMrUPU7=rf6kA02O z*a6ZRi~5!5hRw^Z!f!YH;u9Jzq9&c@8rm94jOr-D$i&m3EJ4^@B@QcH$&V=UsA_=; zo5alpYSWjw^15LuP#9s;IzLIrWQcV4eM!)9i*{{>+T0W^^E#(~wuESnvp79XoSmS# zx=7ShLmt2I_9Ptj2^VM7z_{D<`KKSCzs zvUtnI`=-0xbmd#$O<=+nQKvyD6w0!?dW90@cnR0C)g)4J_p1^orQ>v*XlHiTs4cw3 z_-hNyXEG4gY0jRb(TT}K9Sm~AGo}*+^4pDP~)k`lke({$q4DX?*w|Mv7 z$_Eh1rqUp|M~PtuK51eR0!+BX+VmMh2XtFwW%tsz?GWYRF=TuCw;1=gI3|)!=gmhF z16jA0=@>)Gc9MUG9Rvc)Rte{~*}~(Rq%a*r6rwwI+N)P+)&7<nef}!vuFSI9)I@d;CtIda9btIe7{^9;Q0=Kw zEtg2A{Ld|u`hMfu?TaM^mIPtMmWUGE36iyOow8=I=w=Hy8x3aKYvfiW)&ssE3JG(o zEtYB)?Nkxtg!9SQ~VeI;*V*q%<}T-|7}A;=d*>tlg}BY zP<{qS^9hrBBIBdUQP}?n?0aSprriP52BBT+S~t84NbA~Ld>q2KR!YEVupKPRLrUvr z!$p{l*i0B_9!aE)%JHyd<~?f_I4%JHx_lEpUemi*WCUWtvZS$CYt?)AlO z%v6!cSt%!jo2lSu1JF7A!Zxa@3fX}Yy3<5@KA=H(IGH}OJ!53kK5?fXPb@Nd;(uY{ z+*yj{<0yx_nyY1^)!DYT9`Gd|1f7uKjA{4&2kdV~-E-EX>? z#CI4I5MbN@*K#&=5^uVYF^NWb_8_BQ{wL%;fia1Wr4$0G455j;d{os{u~@%;l4xiW z?YIq7&Ipn4HI?;oM)OT=lN%nrk0Xf57*4$DH}v`X#!kpYkJZcL<*F#%LZ=U~{p-g` z_wOO)CYj^HvaxLU_V>S+FoxB3i_;U+oV_r|>mOX^)Rj5>AkXOD!wf$91c!!47#bd- zzrUY+E|<_wzNj#UD2`aI)wr~>Mm}EOfNplf?hM9&^du824OR%Tq=d9*(YJj!|N8BD z>`M=_kFpDqRHq5@6`mX(-0areHI#sK%42NXFeAf*==eCTR-2jGIo^5uEq?rGe?lt^ zA>}f$u);5Y{UL9hT_DrHhd=rk-{J7##|TnBA1+R!<2w(T89*2pCo@Dw{E}9)fmT&4 zk??Osq!H3WbdwT*L_R~=V3Bxhbl5fgEG#>R=Qe3B&7rM5NCnc7bUHPn4hW}!+m&De zgOPbsxhyQL(uqTia}RUBLiC;8+$)ip16zf>;UO`{*Kn@tY~W`h$PWfkz)F zd)J}w^?ODbk;ZXLq=cclxRL3S!4mjI=CbVoqF`;;qX~io2iW>F2)6 zi+}qgVjXeojpC=g83JU5d?Cf$%2hhT!dEuZfFTjx*YWzMLUkp5M8bL0F(%f;!UYlF zrPI(Drx_|To&jkg~tTl9TA3gA_Ky95OfoDltQ^_ER!Ux zAQjTK3FC;c-a>a=?3BlbG}ihP$>e)r`8}kDo@VsuQ>b{2NZVMBokV1!5Unkwo5Ky# zh-isss8QYIx>%cyjg&E6IjlRi2Ml+2(5 z$m4q+mSt^}bKEMMoBIV@NpiU?dh~Jr$LXmrh6h$aJ=E;ovl~kaK`xi$zx=QM8=Ce1 ze6yQ&PoXS}Og6XK&A2BJLL^~arNFjvU6&}1NvBiv6@0Q8kC$J6j~CycqUn@*_WS>s zBgc+YEEY(mQr!^AU2>+h#$e%A9;JWhe_;0HkC@N?fKpEt0LwH9n@z$vBnp!(VG}14 zFgo54cs9l$q=l0yQQ6tc>C-=D{_rCd3l7vLSh{qcX5=gg%Z<^R{>eE+ax=-jt5q*U;kM9~{=SY<>j``@^ zB!BbH6wiGBAMyCnV`Q`0dq(2T2eI=Y+4 zv`%N}R<7#4c&%gH@(4lxBnwMtS-5#(^`XbsW?A#z}?>sZ-e#5}dACQW!Fn8fiI-)=+--Fv;VKr)Z z$9&>h5>Ay|rH_^AORUUZCCCJLc0_0SDz$|rtkO2JxkR1|6Jw$f6NQO4F76ODW?3G8 zhgwvkw{Hkbb)8n9`Q;`m2DWW6K40Vi{_8i9LTx^8*FYG@1g_$nM|U&SU&f$$^VC(| zpNT2&eUfLt`VBnKA&R2A^z3v!?s1Cp;pZ6t$qP(=xEs0qAnBBY?kv%1#zb)lnxrqf zbQ!J{tB+%(a>)$uCi~V)Ouq9D*~jBOMSqu(7_#VCAB?uwtv|C)cc$U`M3V;2|DW+OJ{Rf|8@4?5| zvv)7$Qfb3ucyCk=O|ob^75b0;5z*T(GjsBXET{7T*rtUR4o-QDT-L!3(r8PrC(T}i zr0Rq8N|g40pMlyhnR??-SxWm5F40=^GhBE}z3nWxM*A$@3_$m*VJQ zBK* z6hYs9vgQ5s?_1;2nU6UCi+_tJmszW&DeZfXa^Dc)DKKP~%D%7B0J&WZ?D-N|&tlc`aXi0UmM_NOkgD#Z+G;U#`5aeX z`*Rj^d1U({wY4$>0Y? z+_X#2W8cM83J@h>s_WaY5yHW(9%lH6#r(_!k&#I_YHW~fb(C~AfH?YCo=8Usm8CHD zG|DftvbaDLgA@)*`lNys%B#|||7%#6F3@VVFeXFL-%oaMH$loK>WngccBS!$uO zg+!j@Hr%@3`i8YeDZ%#Ld-&?NzK^u*&0g=BonPebU;UVc)k}PMX_iHD3>z%_cbv{55KaHzJosQ8q*)_7_7#T1GOneP zD3TCJze;}iag>*5Wo`i@6*y(G!(*hgIg}7d)JRB_S0=yx8I+r5ez5^`iv-9#DqX?z zeU!W#Is7E~L`sQmse4`m@gcS*9vYPoD3TDeq}n^cw$U9t{f+OkefxHN&%OUzU2%v} z9_is@xRo{HFyT}h1X9{4+eIotY2TMYShq=7>F)ZaM=9qC{>E<_e)}KN>bJ?Ue|JqF(~}%e%!L|az^iT!SD91 zfMPz!_R$fP?cU*)?j2IT$NRR!<+(MqS77*&$2fTO8LE}ieZ6mzRN&+H?4vh7MA+_N z==QhkAw>=^)89>Oh;Qw<(;DeyNcHZ;EsPL#LJR`sXK`G+EAL`%ItS&E8hDby+)|RD zgg`0>WjQFR5UD=OJM(0kbqp4kpT$xVbcCH9p_my4WU|2^;izemc$1vmwuIkix&;H= z043u@k5q@q)BvSjRr2fMZ$JnO4(2MuS{B z;Ox11I!=XchmW!M@G*LNdr|i#OlmMuh?Uz$$uE*^x6rWxp-`5Ka%@C!h`};Qbvv$s z0WDDJUdp?kCEIEz$qTlR<$4JZ`Nla=$7o^W6n9Zh4-$1+Xk!pUAuSKfiqK@p4IL&` zX%NL4Y5CZ$kCZVwcE}7LC(U||@2;^cBr4TIez-tTttT9M1j^50uN$9`gz(o5%ds!v z_pT+)GD!mFdPz~irz@p+TL{>wS$-FqBMO6125bLiO9RLb|) zpj?O9@T}yo=^NecQ;AT?xVZg0Pc|b$C@epZo$6jghs5FSIZY<&5KD!dsj$&0W}UYg zV`70&Dg0c9kCSS;Noz7mJh*l&BvHx`BP}dHhb=yS786Hk9kD^g6$KZy~BkT;mn@g_It^Iz>!UaM=9HNCnIsu-yu9#pFgELMlkqKpE2c=}5 zTfbhE%%{@!5a{a-R+CVRgmiH-sSTA3qr*gY=vo+!jx|C$c-fw74)fs`ICM*>-J+CO*K?`k&du3L$%(fwd1!P}r~Gy>CXv~=^}(b~w?F%VMi2z- zfAk3Z9(kPo2M$mvmp|VI+_rDxPaOs}CdPcic)bbT1c+OX&E$%SXI$Ux?Myu9xA9Qj z_Io2f{tSsM(rpwkKTYc&KnNVmX3xF@38m*NUm>5%-DfXla^J+89dc`?&Zqxg-}V}} zyzP2FYvTCkF|@9sdXtB7qds={$#c=CEVXEK)Rkv?h=;g)JTxjFQ2cJxIK3u&`o`xq zaJ@Alu03%3>)dHZ_U|}Kr4nC%{`t*r#%=If$H~3y|NAkvK4~m}aUle_p3C#!{MHvt zt5DqX#|>OJMn7o`tsi?hhdspB#Y3a=A+{b&k_aO6yJH07JyJLQYN0WEya2KoUp}4**KC?g+Yb@U;T$!WYs&~stf}I;C z*EfXgI>e17>WhnXLP@IFk7LVjR_Z!#XU>@Gk0(|sVQr4qN)5X-jLjme6H8dx9=srx z2s+<1zHX`kc*DOXLTH+^AJQ=ae!h(D*w>dU{Q|=nL#x%|um0+vZZNSRS_HV&ZOv8ywtp3Dnw3#(@rLEvKIHqnJ&Ge3Kbp6!p3GP5k6eTlgRhmmLhkV=sH*zW7{ zZA~2A;AvDS$7Wr5z{C+oD2!gFKK?7tzjA`U-}~<{=RTOH^vHMUAKQiJs+%QgzMzO>&G?10y!GlYab(Pw zzxGWk)#?LhSPEsMo0pkA`3n}N7IFK>aP1{(3oT4@ipA*(RCbIYm&f+91eJ)m8L@Ku zCrs9dIP~3rMloX}l}o(*E>~asF)OV+xzW8ijSrcc(2RclkEs?t;`r0^iXY-3?l&G9 zl@GCnAdt2ooIAt(L1#SCKJ(3*Ik-~1}W;U~XJUvG62S|gCQqBH*iv*VYEQroGF?tq2Y(N2l# zqd#DvH;XZb+NHnc(g&|F-PZK(*h$c{i^ws!wj^rI(Og?03X{!+v;v$UkK_A@Zlx4U zM$~66(e6YDD}|db;-+&*VK8x%PHT-QHdsNG!q6_fY!<28w3ioXH)=#tQbk257eC*R zV}UjjDGgC`kw$HqFw{sVji2wq@m;dp9w&X~Kd^N9BZ7Pxr?+~?B|mSEq|B8NTSx#z z2!xVkGZ`KkNU?P0*SwYTICSh8`uh5LaH{!9go>z7yvyS3ET*uZ{{3IVcVgmL5YN0w zZE+TF=t+imA0VA}5z>Ze1=YOF-0LrL{`K9YzVJ6;EW8|wP)}}SW@^CXf_*oC-^iUW)#p31HX?!3BDWyvT?$F8;p)UBZ@l>?w(D=IM^y;P z9+_>#WV4Wvx^pFdK94Jx-rl*)M=Ti$CI&|O0aNgQjYE}rG&uMCctBHlz^oe+}c)m2Pwf&Ohd zb`4d?E;l(b{w}Y*BzW%m?@-9!``X{PZ;--7ORP;@0o6-TDC0QE_rM5XV-6DtsgiP; zMx(6nF48+VfU6=Jv(sFC?`Ncn!}J!K zEM9nn`MDZSZX3B=iq6U<7EiqZb`@{m4zdH=an8L;b7h8BYbS2zUYA`JDCMxcIM1oq zeuhvM@tqcUz9+3o(C&noU7X1p+m%-X0plAQBuVxJw(sGuQ50A7finO=ghBNqT}pgaO^OJ zVh-XM>6XY=`{43L)>hXDyxf-D977^~7e+A)i_6T+%@G7?(m`soo3*LXTC=je%v*21 z$>QQ7%2E%s&2=q@zxwyT z&_-n($IQ;oGB-cZ(BKfcTo$!OLZ+V;LPFeLq*ZGnWQib?MT#Wbk+@BJb%v&s!K&9- znmS9%D4bG1juPnDpt8FddF)Fp{`B87vm8@A^pB{H?I#mhN#zt_;bi*py#}@AMWRUK zSX=L186glDGNwkKnZY9PLc9mbR6-UGq3UMbdICPj#Dh= zKbNs5q(rypsV}ursRF4~fD)@1114(GS)HYkYGPu;+T}N?#{q72lvLWIwYWyuwlIK> z+Zek_VcX*r%OyIq9`VUnSeZV{YF|J8+*?dd8V)@7P5Syvn3WHRU;k^CXU?*c@kz1% ztO65vh+8${I3(6BV&mczc2L=I9N&p)wMDp{LSPd}BOUL4mam(5Tr79QC3>P``c5m&BW7VlS)6a0|(MK2@933xXNPhXb+Aw{P@)$ zgb+-JCU3c zAT8WXAE|7SwfZ8Br3u2>DLU>5>69XBt|9QTZ5y+?LbJAvXUh#eMImG&A0tGvJL>Xb zllNw0rw2$m5Y-o{%d50Hl9ZRlR+^~Q#K;V(z-4CsBCU2z#?9e)lGRR|PAmE?1q43x z3&a3X9MhZec<#s!JgK^MqBkE>N)QqgYb?uR|F$Yh&hy^IcX`vm@n^n_rPS68sTqMF zB&;tI84K6RVp}%iQ&AU^w=e80g}$9wLL<^cWP3(%eIHB*W4crcKZCNGv}%ncA#5w! zWhU|3>afMil?z<>^#bR;0x~FJ2RVj@hS{}eFOKUGq*CN^SyHLg=NIwVB!qFy;^Hz( zr{3g`M<&TyX}Dck`3C_899Qt-T$3~7d8~x44YsY=UJcmUm&cM4^w#{&ei{gA$ObL0 zEO{(`!3U_6l2j_-%=_y4+vm>9I~Zln$9Hc_h% zVVijM1J1qpudx)M+cf7d5v8^fsIE5VCoBc)b-#@k7;O@x+$43Ky*8w(TL>A-dB^p88%V>vX+lD20-0%Ovd>*yyJ?jIk`m-r+Kqoac@6 zZ}OJw6UMr$KPxumz_$d1OsX(-8W@?>=a$m?l>N3|DQAVHsjJ9r6}K}-bMY$ez6y5A zMvzc}ustkg5w#jgZFx&~BFkGU&+A7KZo%c2zpk5Jj3$vn3Ye`w7dk7#JGn=#j(hu%@^?|33fwzkHiV zpZW%W?+5>Y9ot7y4@}ym=kRMmy!?Mw_#^)u&%nI(9*&x?qul6KW2C^OV|!EIzoq?uIAq- zy+ecO8g3h5Nok?d+ouJ<@P=+HduJZpu1yj%Z)OT$P7uP*fm@som%CEcYnsu zPhLUC1E}>x%q_KEiI3Nv&tU5bDZzx)ue`#!H{PM|tN%6jmA_%)qnAjf@}&0eL&*rO zL0Aq-T6CgLcSE%`=XlY50hVP^EafToR5^TT2PTS`U0CMa>>`UZi(HuaHGlqp{F3Qf zM6OWc@uSCi?AVixZW|?^%i?=(5>fa9V4VV?5ws&sJJQ5APH7Jii~&yxOq3*xeWDxd zi_wK&Y)C1|XVc`WgQPlb{@K@#F+MTFk6wC-|LMPfougm=CeMHSI}G>t<2ue3-tifX zFbKOFLX4xXC$ZaJ9TBcAU^2rD>_5ul-@U;2`wA!f19~e-qQk^1f6j~^;gQ|XFw`%Q z;s46TbHC)0Q()H<$8c2xT1}eGHB_#Eu-r|3;x7aQ5NT{>;YfpyI>gcEP)FEyP{u$M zf{r&Tl^7inw%2GkAnJtOnOY#Pt7P(V8AKrz%J#9`0NvC?VVhVhtW*ZavVbhrUC)vB zHActiIK~)FRKHC96U*scd!Ka}kQU0a5i*5e+DUcym&l~;B=j7I#GM*pEFo;tYS%GN zKgtbmwxfU7(0z7G3Orj9wp&T^nh;4I)|PoUT{o1nlRk?>Ffj;qgLQes*bo*F6E2~WZ0EF!}tIalxD>bf8%=6Bp$DaKbzNHaTCZ+1SV$NF%Mxy*8jwR`|R_L@Fn5@9)4pFC# z(J@gN;SC*UVDx=1T{ywS2Ll9;9H2e^GMCTI)BpHCrOu&MS{(VaD#^OtDSPw&3Ru%ZTW7$Y5pa^!t^ znT9S^Q%R&uJbqilHZjDpUjGrLBvBl3acYrwC!1t;KErn_2e|N;?a4$ax;al_HNH+CjS$v9h?z zhgau0fBq#-ydU$fo5#wQ$rgL)8ysR_XdC5f59MNkTqgL!^D!R;JSc>_-+4rF%*@Oj zlhacyE-bLJFw5ffRcg!gSh~%=T#NmK1Ef6%OB>4R6vy_D(qAoddVHR9ul5d4)!O4O1;*2R&qa!B&akVC+2kZBJ2JeU2NgB;GxndRDkzKi&&3^XlvED14 zFrv|DqLJuLOw>t?4}oo2SluKSgg^_!xeF8g^2{pRk9~tfj~}B_soeKO9iuhMsgTM_ zn&CXnR)bt7jhn8LuB5Onnefc6v5<@bsZzMvJ~GC|Qi51W;`%tVAHB$`>!4c=tim2j z+m4XQ6tKK!*!gsws~7%`D~nl_Xc4wGUiBbuei%EbknSDDwk5*Kk*;pT^HSKRh+k|$ zI*aV;2MXm9RCf^jK2B~IeFrwx`fi9+&f6AcbI&!OixdhzP?`ax$H(F-9vnS z_*6#atxDK_UR`B2{`dLcd$SP5G0kR+wR)YIsVS~p8K>Q>(_EgTwm1u6gFwaf*fFC; zNjBxulix-$8{j)hC`|}K;5uyYFH_2<7@k??#JL(LoD~|=r*MNDuAk|4?iQJl;uz`X z2})(e;v{Qx)5K#VWQU$$G-wj|vg;87yRe&{13vAx#tKSE{|UDBXUV1=FmYm3$Q0R; zW2oFH+A5&pRcce`=s11k$~{<0BDR2x%8igxpbeb9y2y`SKZEP1KK9&f5~4V!l=0a! zQcYY6fdBv?07*naRAr>ENGFcDcx8^)&n~m=@#lH;$dgnm<2@ zmMQQ4I=B~!5y^d(hnF89mC1s0kip|aco`cdwlny64yRDXB7>D00V{)&U8B;?({tnp znA9Ma@^CBr=#hCED@#Oik`*bHN2+H4nJU`YNT=AfDZg3YZY#R;cWGj-b{+ zrL*YPJZp24i0mlYdF*z)+S7yYdH9~Yg(+YOZq=2a zXOr*N-n;DzU`Vuwlu8D~b%+e%Js@?jpZ`e>cC2pZ*9HyBpkqV4`J3u{hB($NudY(7 z)v2wmGB-QT)WlVqwN*@WmFDU!zB1$-L)9~63KoSRMLz8j1Rkz!cllo=JR{Q$RmKJ- z1?7B(Vm6?ZarnD;&+kB}|olJNIdoQ#dZ2!ReN zMCH9me{;ppr4TGGE;BVViR&#>$ofn#*LnAHjqLWL9DV9p%B3PoeNLe#6Ql7+4;~^l z{tAsNr&z8IQSBL{kPDOXf1`n94AM@MDrOS-A4_*LbgSeB4v;G(0@6ZS2$6)d(GuzQ zQr?~?j=OR%>rz30vHB>a`;s-1GWo&vTId;^;M!Xog!0J_Jwmr}AOlk6?RbSS@eqoH zmZBV=aN#{>FODP9dr6miaBKx8yoWEan?0gqjFToR?FD6_?_tHBJ7^IgXtr9sf94~q z`FZmB6qhIGIX#ycl>3i7!_d$WopvjEr(4y%phJXPCfmD>rKR(%O`N7S&`&z0FtG-= zM1G*m`owEY48p<=ddUa92&q0!&N3Q}#4U{C76rPqLhb5@EKIKw3_nXM<$wvdE&J0V2z#~Z)fSWKpSF5M`N5CYG3@LU&>4KQ&`D~f2fI;_@OEUYzIt~FU} z&9F8-%iM%w#`3t3E}{G^*<7B%kx>ezGU;@hTsA}C`=6`9_S>M8ND^x|+LTz>Ix^gg z;ydd(UAKE=Aq0+d!%=OBV?+EY@BfLM%19el+M4Cq&{;Pkg`h8`NGpNVN!H+m5ajOGZ zj+czEtuz}MjgG)6?xNT~NqAwB)Xz7N&^oe)`6CV@tiIMJ$vOG&&Jyt}OD#N0&$! z^AtUYitizP2eg6sMWSb={CeQa^2L*y`j%x1!rE-NJohFyd(Nn2lZDKJDAq=gKW;Had>BNW>fTbiO zfxyH#ZQfmt zaa@TK0<>mlug9LM%YYKN>rE5aJHE^{MxwmIGB(}MN1MlV0C4M4^O_!+{`4pQ%ALy z@kEDm#${(E%ka)#%DDj7wsBp%yAT?TUQd{~MlMnp=2m**hgk2;zdKB!-v|>#hb%xtdLnY`VrFb1PTbYzk+(*Cbf+BTeoH@DjJ zcVRF{DJT^SjE#+AJNL4h%ALV-94?&9FmdKI%}|oxd6cKW@*M{HdpD;+aR+0UDC~S1 z{0U;qB#AQCCncM7jlAy6=np;1P&$QU3CxBx%e7eFs6@9OUPfPYudd!@_vf2WFgHm9 z8KaX0b>nt2F;HcZ^4{mj4er4A?Ry;hzP3G@AV@JZG(->tzx|Z^3X3ES{dDc`{0)w$G|WUdO>66@Z%q3});!!81EBnB{j3LvdviFlmqdJ&_H>w~nHYh( z1Tj-5Zs>$`4Ndq_(W_J5KD?*7FSk~WAXGOShOU!J#7HOOe$~0-Vp%pN%VJQeX*coP3Tq7nxUh$sGIu;p{%-nj`Lat{O5)WX-P3lOsM=Rk zIg6j4C^Hf8=TX;#bj;xHOn^0U4O86QV|invQh+8DBU2S#KVRUWrSXN8VG@RbqRXC> zQ@lMM**2g58x;!{fRgK81b$O+MsjfJ_A>jDM9M6skwswcul-7w$e-k2v-yk5D zw|HgHCYmzIL?ou`aALU3p;3oXCHbv39pQfXO*a=zH;Q*12ivx>Diz8Vi{arRP98tX ziK8DdHZnv=Sk!4n(h;53raD%)chZtc5e%A_FILt2=(?UidE5fm-AF=Uxh|(J4zuUX zC}pPsDP&bhc^+N385Ex5pvOCCSljJSrnY?t8wcMImw_blt{o(G4P}?B{lw=tp6B`n zI_6xD1U%Pacr44gQHQO|SF!Ekr)X+yoWl_*Jln=dE~2S!iJv-QJJ*N3Kjgj2foS)` z#Fr>st1>^H1?8a-#JV3KsR=yS`UJb&_{+|`+E^)t=eiV1CEhtb#+SbFBwO!)j7-xU zZCvgI<)F}rw5%uECQz=8SE-;rwx`u!M2%<*bt^l4pSe?+S8LyO2!Uf)h{qEwU9pJ8 z%a<}bGRmQW3%v2cNrZ4%(wt^xYm&}Pl4LYUFkoO9I=ZYnvBdSF|2K@tO{Y9vZIL2` zAQTD`3WrFildN9WiSRr|C$pUHALU%%2*ds7IC1V>-hSm5C_TiI#miW=b{*Y|7n4jT z2$%s3(?r*GG)=$lG@sGYF_iL%$Ni2$*ALzwr&Nj~mr6W$-X_u>=Fv6{EXCANg@3!( z=BsOBJlSkeuU8Go>HV?rZLX^{B9!lGoOa*|0h;6T()*M2B%^$}D@dy;W@-wg5O|Ku zh2b)9jw!Y+)zO6@H&$l%S&LIs9>&TD8)AM-1CWZh zULWLN9nMp4Xml(O(x^O!vkvETE@c;zah=t52BuOJ%N~OThtaY}S^39|hBPvs!!OSi z_}c*(5uj9%wQ-F)Q-T5q&_gD_dry!>2@TVbh@j%Vqf`9(!4khZU*Q{V263UV=J3Jt z?_o95ZN#!1CMG5r8XV;OxpSO8ewYhqPhb}&$wVaG4H331OVQfY$cokmjC2a26jW?H z%fT&wh*#uhgAo3WF)foblNz8D<5PKFKitde&G#{KWW<+N@uqW<=I5-WTpQQ5XD>rp zd47N9c^oR5&zOcm`{LzvELq96?c3+rpqxg1{O?qN=al$_bj9xoSSnmKtBs%c41W#*r=F_$UjqU;%SVcz4|HWAZgh2N?zd`OP(L8 z^HWeh`t$vi%&Rv}QV8mjaq2U5Y}>RFr(!WNI>D*IQHBS`IelRdf4}!dEKC~PI#|4X z4c$wY)6&*PCX*qZN+D-Fk9?^2ahjK2dYR#oVRr7=!KO_cKk~Igmo(M|xMxL-|7N8L zB?Z|Mr~ZC`zdx(7Bo!l*&?pxiE>1ZNl@(GKbfg1xg#@mr7|%Hj7G1Ko!VzE?l6q5M z7b^VZXpU3$lB6lvT4&G_6hw6YeF{l?bAx% zU8irb!2fr+za6L^@W_s4 z8XH%Uh)0PA0|?#l4N=R+naEv{6L^bU;pUc_hBP!kU%|F1l`J$VkWwNwjqzN8{U?wt3IZ*M7--MJjq*63w z8eknbt6VJ;Ffvi zRGxqAb5NSVa1~BGz(3!bVnfX1g+r74O|Oj|l(Z&w5@DTn5x6i?;gl_yoGkN?XQ1Fl zc)ZypZU{W35SpMqW?7#x9m~@!d*~rT@d&z*=u-HVrTD#Ul~r}E zs4J|)TR`A<&=IIE6C3!=nrgk1;TspClQSG{#LDlR+|dahmH=Wa<)Vfe<(jp5+(Y-BK1zb=_4;VOus> z&J{xJVUlejI$Imrxp^h!vc=eVj^3H11O(*tl^g)0Q%prD*B^TQAFygupC-4bMdTJsBqK2A<$^@^hjfn$4| z87%X6M+F&EkejkOaLHj&ca$yllF8u;V~${1lgY}6B&rGS>kRRir?VUxvsvMRCIyCs zkbt;^vIhYHrtmeabOfPlp5?Wn?4TjY=WJd+o#VM)i&D_!%S$3WQm^}o%eQdvd|b*E zi=p8WE?n$kXlRgPc7n;lUb16@#7srfbXgVAscR0>5U(Q{4`YM^gfvM|llZBxfae!q zsEu!8ICw;236n&96Uj^~b(v<)UF;=0KEi{WmvL#Vz{$f0XzgA?Fc`Su zcyy)669)9axPxbWL<+ny#bZD$)k-L|DwOd`PBwW zfFT8@gpdS0ff8U!fut(UB&yZi*L=Q^f}jqkdh`7K@f>?|g5@n?o>>%PQBd5Hl;lm7 ziak$Juv~_64nl{CoX7HxD4RONtk7LvsCZ0yibbYh3GTWO59_3KkCBo`hpsN?LMW=$ z%l;pa>i?&Icg<%9G#DE%@!dmt4orD8rh`1$8D@LN&!x0y$)Z$%=PL5WBKbmrOFccD zJ9~!7i7}kQ6kcf(=@f|t1l<8aVo{J(G(;k75)KCl2229FhM`G65qr8q`&Ny&>P;-A z@FjAj@3Qr5hpc5&%oeyXJi&#bNhWe7Y)o7u2Ei6$9cdOfx09-GBAH4Njl~(8oT7K& zJXRskKsmy?`*)B^#OQM!7N!VOjk#uWa+0^--i_@zY*@d6MT-{A^^j_O2C;3M*I#>$ z$;n9`d;D=SnM}<$p{^2?Y^DCt?~9 zFsVz$C_6Ugl0~jqVKQH4B41{zbcw0+eVjb4adBvz#Yw^9u6F9u1$LhtB}mPc6{d}VEbd)rLHlX)gAg&Xp#!-eOMt1+T6UUV5OD_nfz zQ7L>WvZ|AcD{L-5C-v%+7eb(;c<*eM|L6T8g@DeE#StEC3$Q#U(YOOiq3NrsP-vQ@ zF>bK6HAI`HC|OXK&}olrXayI~19e5Uw+A4>kl=c^E|_^OQUH$2^G9>MI;vRH5#oui z5bIMqaqZSD=8wX5T&A))CMGAzXLAe<4RHSKY3x!CVdYW9NkY=4A*_*3=_JCwMr0x! zAQ}l`>N-+t)qw(@!t-uj_fUXuNNN&v&CfltZ1RO7p-+Qyxy*$#Cm85Chbrd?g~K#2#H!pH^A@EPj^omE;T$IpzD*)*vhCgnX~;Bw zdcyiO<{d%^!l4l1PzX{<+@?ls+o4jakjv%BPE9g7Im!6QAY;P=6sE>Gm7V0&@F+Tc zB%=Y^k|EL!aT1Xb4UsTrFzBz{u8VTKo34$1#8J&SWrPp}44r^!kPL@tOnKOjOWCr? z70Tp_6~?k9x*`$U>f>Y*Q8Mu`Lt`c0K7ANh;pofh|5ei%ZrUn6oZxKs@lu))kCd$yE`!3k)sGi}p z)Q}WcYgvkFdHm2=nP2ufEbWT(wG|=O#WjM;7iGUCsv+cQvbj7XBO^>sO_80PWO%TT z(V>1Sr95sa3x!eAVV$OAn8r+)bUZ{n6eJup37EPsUd$C^R|@6anxQsbDK;Z=T)mkJ zj}E)@h3eh$lisqao_TK~kY0hN1fgqoS(j z^3jre{@SlD>vIc%X&9J>K|JCY;yAWV#dgp%4MW$_42{)Y^_&~Nz+11rNNQ>V!?=2W z_k4amZWR?|#J_BAPxf|>L| zDZsToj$ABopse%z_au0-*`Q7X*X6dl`P@AGUCl>us~6d+E_ecgu1hjujhM6<&N&QJ z6iq=mI#8kCG1w8)iPuLiQV@?uh({x|G&Qnn)k-|2$QO$AT)4>bUiy)!wd}#Vi=jLigu<2$EOQoTu0TLSkR~Z;+xC9x67e!DHUZ$QF0ZwciG?)2r3niBbO?~TarA{VGy+y zMeDLo%#9paH{ymy<#ZL2e<0tYoz8=tNi|Rkbd9AACd;Q>c8{0&)kTdB5yi7-OVqc= z+1#Mx3|FoikgEPiA*hRLL_~!P;}$0(5-qNgG{j6Oz2Ygqvro?Al;E3#%_`{4y$MbMJ58HAmmTj`d3KRJf{bPB~kCo^fFChY9>RT6+T-wCarY4pyUCQF_ zP9outKgnk@8J>FTNrVtYZX~u^W8R|hWujb9apb)N{6l33BM|btN6ZmY!1z=SisN*y z%&>NGGs&?Wuf6*cQa8B&p+|{EBDLb3g@RHDAus{~2Kz4Y{Ez+`O*8$)Z;pmEee0CU z7X3Zv*|fQx&1)7DJl(?w$M@iQVC;I3hK5hOC1{O>iWI(~xn|8O)~s0t!07lShmRbi zr>BR>v0;vn^z-h;Ap*jtB^jivK15S0Mj{d*67nOIhOVJYS@r5)qwaizXGUH5^DDe* z%Jnb}oh9uV?pxczp23qiu7_TYfGTF{aeZsToAGG@zM&ZmnQUq_xNy;8Ur&)XW#UYh zc&jLQYJHeC1NK+lr}BycDdAhCjY*xUyv^ZZi%`8zb3hQ%{WJ2EqU3?;d7K-rfK@GU z5`tJzrzz}vLT|PdeW<6>^B^45SzKq*VCn>~jj1cJJwYZNgJ4`IC@v4k_Mo#l!owpDuMU>@siW|^L+q^AXTG$?gvnyFz)L4` z?5?ISI<6uSGugH%%2&e%;s&w)s(FWFl_^b}BbiIGdTEg6<`z0LX~N04pATugrRDa{rN+EqImdy0D>eu8k&sNH8ZJ{I-qBoE%Z9oUXl6=Lu0>t}dq zn4WW|c<#viU`@~**T{q+6A#juj?$Ehl8i+Nm-alC6=chcztq4!G23V{M zJmrg|FU=Ud+E?N~>@NdVPpPJ{qB+EqogvbO#J)+n?~Of`3S1>V>q6|jF^1qo_fCGC>$Ul{obff zHPf`aEyllVjZ$>|M(Wij1xNt_Dg6G|ANt)XBB20VI~MVsuRj1~%ilfNE^e-jJKdga zx;gf(P@Qx&T|=5WXd2iK#bSxcT%NIsJeNkMI6su7Z!C`rrtm^Zg7FU8@9JjTij{PB zbrX+AXYwxYgi@)*rAwEvY@2v8jns6)p&;Q<5Yy1FF;WG(ruma`Z9<;cc%DKRu)3>- zXCA&ABNBmI%-#LO5dMzPbN$LmLkd=Owen3<iLQv&JnkT@=%j zj`8Rt_Ylzx-xV?+5cu=7>p{g~)8bZQ#xVQNzQaqF#UoFAkzg=5*Q2blz%dP-mc|BJ z8XHi6>po02mt%4&%gGbRIC1oE{e-1MQ!-3wf@v9CAYTu-6tI-5JAtZR#qbrfiVdQ*buVtJAW zRwa0VYW4ROnnC4?Vo__H|GP0l))i<{5R|?xrU1j#d17;h``7y^iPPRaB?N|mpcL4* z5Y4!0M;-AIhY;0^;Z!tzgJay?^L3jhjcuc`&27@yP8-{{)wr?ISR326Z97di);89= zeZIfNy%GGaCc9WPp9M1(J`ELhrE+rhAY~Eu1oeQU#gv zggw|u8mgD9Rw`*|$O~am5K)HL|ze%Y(fr)~UrK!Otr$PVEiw8w!2)yzaxN51Wod zIW@@-eDe5N)CNr~f6Hm6V$u5{iBV^~OVCz&9&OJ3q9t1$`~CX*)Q&l9S;%I{y?lyO zUgiX9v9Yf+Qwnlb_A;-}OvmZ#ST!u;n2*|daB&L4;*FU+T7jnV3gep< zkP@^vwq#>u662i}H>NK^pMAP4=lgd|LBG-`(U;bI!CR#dv1o2(9L zw$}5!QHePO##Rq_sbkF8>!Ji7jY_?k?{3-nepAtN{yF$&9sM}w0<(8+k?j{jdthDa z*1+vleQ^Dhw>-<46@7p9S6@l{829u1{R;6|gRhE5wmxucF76u#l3R{fj{Z4cjA`Q+ zu1Wn+&@NbcU#4(7+di8^H0;2JkXApN-Btf)3RL2+^CW%K#YHVckYqu+sh!B70 zY6NR&R#;>%pBdY9GoKrWYw>w)@n_Lv*3}JmWDt$l!)zq%2##!;#N2XI)mC@*O|q-q zpw9Jzspw7F#6au~^^eGyYQR*o$Ku$1Ii{rj%NnZjk6W3A3I8fR#VX>7#{JilUcWij zkczueiTQ6owQJLyi0U3GQa@Akt_uzAh>@%>&Klq1)gEv%TNdTDW~upp2^R~rV3eT6 zqDF&*NKFhCQ+|R-Z9uY8ABd6;_xAg|P_L`*5~DSB?r{=5x9Rv$oi5|>7xhu_&}`5j zgwfxy#oVaNEvmt2M;LXFP$UF-4$$+QATJFrL2Edn%W|D2T1}E`52(rt-I$II1M~_u zRHa-?{wk1il^QG3KBjY>4+bP-LGqP&g6Jy%;&b~?3U!zv(?}4t6v#t_jT_K&boJr2 zKs3|m6e+fvq2BL1&Bys%8_i7K&Ea+$*cMj0IOK8oyUbx{-C(!IPKWa5>%XVa>S96F z536CspdUy}0-h;m%TMSARy=V}*Do!dP(wryYF90)xI8wQqSGqQesHw*W&F;;mxz! zwfC5DPfPM3^~K{E!-VbHgjeQ~xz=9E4ga*1E-6*PZ&n$&-kbR2y+FO|8J)D~x1Ju# zO}gPH^B5m;Vh15AS)jViX&Z@0AKY^l(CDz?+qFChTzloZj2HP?MIM}4?|H^w)j7=> ze$K0dhX)$@_PdShv{it6;thAIK#ggQ-Cy}ARCusywcVWO;Dr~`09@_xM7-8;se-+) zMH4||m4_;lW+V_+4mk?rjCxtxCgnk)muDSSCY`y6xY;8Y`3(v=a7 zYMZZ9b#*w)Pc=&|eb9QW$7)46B)R^yyzdPm-GZJNAy{&L9;oCB>0WIK z{vcm|hYJG)+yD{wA2Ie@F%loy_hBM?17*7mjDr)Q=QmCG_ZF6U=GL}^on;ZPJs@~h z0i!X|u<-7IqWaf|xF?lL>|!v{yEi2EpD4th5H0xCcuv<_^&f_wJXQg9%!v;*kIH&_s=fWM|p~CE_z)Ua#0K(7!~2! zkfvY-v4@bE^bg}s$1I*JB5^2|Vz;ZK6u*;Kw=aJdl&qlG6HQ-BXeNZib)Uw3x@8M$ z&-hd!Z6$|oDDBG49z0l1Ym!CQ7e0- zGVJ~|xfr!GEfG`9N?D=5A*M?ovEQnLm$ozV4Mw0fO@5uUu(L7b{_ec$kZ^j|!FmHj z22Q7ZBA+|)`9~4{n7QZWqJLppmeF!hEJV&Vw2CkXUpT=DI04K?jDnQ$>}W@UBKRz; zqoKCit2KsS<)iU$1~IBmAN1~GowvRt%dES#^8VO8SB6C#IUp{ITY#k!mRBNOJdTjb z%%AL1j*TAA2W;BpdL!)8DIlkKSPzinAzmpJOVn98Y#o2$vSxKPBXvLW;{M3)laO#ctj-Tg#e}1qc zP@OPK?fEo{+|bOqn>@DsJp=w@%qd$u19~_OE8?1*kze#q=KX0!l_(c>IdQpBLAX3LL#Eojs6B657w`7z2^ zJNm|7bHnxeQXeevFpDl!(Bgc|tg=gj)h8 zx`aU&^i%mcw)M1|j^1g+{hF%y`czL)i~)rtYVPWsW?vbN_MOZLyQ|wj0`!^Tj1a!Y z*)`7JPcaiy2!D5*cx2X7KWfDyASb($6$jx;n}NbcUW$Gx%aabMq!F_>(K2Wa0tB!2 z<-0Ph%*=}W`hJ~^Mjj}bg{c=+k%5FgUZ=mb_FaD&hNg*)oYkYknlC9Z;PFRw6O zm(t+XrkH2}QlsMpap$ic1kK?pxv~M|FmrCw8Pu_78j|X&>F+mlvM=)fEU1Flrb}C{ zxW_JI)8zU+9@$|FoEQFQkuOi~evubbO^TGnBcB34W;IrRK9vh+1)Oa$;+~P|Ymu0H zXNmDMd&J3F{fd~pJRiL_KSzJF0PZX%dTx=_G&>GeOVfDeod`TF$vXK%#U1k3L}%yctLYJZ=~X_`9kXK%>8vCe}* zRCu5)Soi+sV7Ob39zW+aZ}CCn!P$h9sIa^oiUMBSmmki*FuXlkL$R1;Ka*Ud~ z2lX)q!q*D84Pn6u7Ym;d2}+FZQ;kRfDy2{qc_-O~oO}F{VLk{H0RxCWepEFcp5uM@ zwGR>E;}mxm-(QTxR*_dGIY+9aq^&U@%?(!UDfx>f7DPZ{X+R%B(0u&c1+U~=eJQ#U z!T~&Yh0G1CD2~66NrVw?k2|;6gNpmlq~NhEjim2b2)fHs)JBDvwE{vrL{4`;sQ%#B zZVGn@^96I|es*IyO^i0SDWBGQa))V_NLYzWZk@t*8^CptT zN;4UZKkQgzo6!Scr5^`Un0tLbnzjPez3P$poG>6Z1=dR>mwf>H2-69%bXWVw-A{ua zi@WdjYfs-G$fwgoFAFX+^l4QOs>n8z!0p#D-?P^p#_pA8qW9eabP~T4e3F(+K~7u4 zHh|nbW#Xt$Sq@#*0#^DXIfpoARiMMdpYE+>qxbrPmuqX1O6G{*F!-4h` zO%#8`!1Un&XVn)LmLzytam%?w72(@ zt%}O!FY$ml4S&RdMz!wm?Jt}9?=(0ek$_fXHrX|f;7`=q=X$B?g@gosGoH^^mU^C- z6d+0Bg!m7S&9Qq{A5~oGIQit{liP;QF=B^XFY|`cpng>8$h%~FG+FuR3;;4=d|Feo z+AmDUzpk%%O@F0KENvxGixv^%#G5jx&|cibGquIO9(-n=Pr3x%(ijTE|Gi=SM!h zMYpm-d{EBNR}n6|f#2ws3XxjJOHf)h! zj``f&KDU_PvTG3}q_w%}hGCOaYJDr#puYyIqtv~Nq}+Yiez;R_X5ZKzpMJZmb|8+V z>Go3Odg=baA`{I=6)#m|2{sEx3l`bM53eHNGD8%i*){+#RsJNyiJWxdF0FO=ZFx;Y z1!r3{+)-vldnz)ws3Xa1;Bciz3X9q`;r{I9c_XXne80x!EbuV>K_rkmFRqc7m;5;5 z7;DJ(Ga|EWAHQ&Kl;433Yor8lduv!ZFhwoyIWO7!a$1EMOY0}qe=wR;m{|5 z^tQjCe18R#8x%IyLA+>T!2>TNZi=JmM6S%3%;)-qWZ(5f;X8bPy;H{9{=ulqrz!#4W0?I#B9>sr?dAY{clO}{a!2~z${@}yeqC^>kX2=OBy}8 zb%3`;M1aFDAss5uN4XGnud%`)L+&BUxm)CSPb$BQf~zDl6B(_&&snFD<<(2zndeZF5d6>S~z5w@aEFUo`IL(&p=%gHvP@DD|ng*c@l<*Ibe`J_|w z;9O=B)A^eZ;Zi@FQL;djAb&Bw9OM0zN)rMCvo)%v7Oujp_RrZTOgE{xL~b?;-~o(q zF4OB5gWo(9{F9ME4R{8VDnU998#{K_07Pk9JJgv{U<@o4c~RwjNmL7LOJ{g%I|f1QtZ{1k{bg7olq@*1OU zbnD>`=m6ubV=ZVZdvvj-HUayfuoZ8wU`PiwjMO`!{Zh~UdzUsZkmZ=q-qdQcNH|E8JXIze_O-Og+ip&#W$rQv!tkR39RLzt30kGYc3# zV73?oALW!>MRHI%U9;+6u>K+ld=?1wVg2!E2Z+JM7R}Oh1Rbou;9NYBu3U;m20i;z zVk1{enNlMGzRq)C_YpnA9hR|8rk+Crbj)W4E0?Lj zx%GbBJXNK1VlbQJuJe}Q>pz0b#?@9^w#{?-l8B(wHn~$Wd2bq~Wm5~l_-?&u$8zGZ zjn*KK|G75f$ytk`B&NJfemvZ+MW)3!C6cewt-MO-x6hj0eTb;*F!NayL`Y-@eG9f6 zpM)vMKUKdo0tIn91guPzjB(IK_Pj`}>T+C+y?R5ifpKE_@PU77!(z!MW&)EVo*DNo zJ}+H;m}E<>%vh@T>;LT5oxFRMo%);CApmx1t$}OFkbpphZC+Thm01N&i`~@+954Uk zbWe`b`HEP#Z)~&T#xkD5LW3T=d}CWJCcF|?7(7sN_qYg+C5uulK~F?0-Q}nrj7(l* zBd+cH%Uj#V4`ASI(b9L=Ftx{k0K5#=WTQ`pQhdPP%t)2^9d#6#?@7a)n3WNnFIuPh9yfCLo6^gJ}nf<<&xly zQ@q+>MmH*k)NJxBaA_HY5s;J+aq4t8$Lbw(>&$FkX9O+)JpM`KT<~>CE{sc%lNHeS zKKUpiF)UnCrmUF}4Z=il&<&d@`(B~ljAL21h${wBB6a!nsX|jD1?xvWt z{qH1Su5R}MwY8B{o0DQe)P0y7TV_BkyFm&QJOH@Ij6WuG??CkOs&D2)fdGlgd`jg4 zaK5prMkyH?qrxWqD$0EBhb}t=Y*%F;WUGy{V|~saQ{a%aU1;X*4vk;NN)BzRzFW5H z85(@<

o))UtKfGw7lo>hwi)w#t@RRx#!0O(noBN@2t$eQ1ikciIRB1(h z;0pMmlb&zK!`+ODP=zgt34EfKz)}7N|9+_dUM|49c2rN|&{Xm>dRs{(qNi!o?Q#t#Zdt81sN0HW=T>@1Uv^2a`eaWZ zR<~bqV{Xq5W$&v@HgD{L&-b*Nx*y>EC;yI-Od`AboW{#{_}7K$6Z?d`pB|BCKOWlO z%=oq+J|!K(=q+NqR~}P-sA8k-b$_9AOjdZRxC(b!XvG0mkz9pg-@ z+2MHv5PGS9Pn@Swyw>i%Rh;E|Y`s%wa5Y{(k>Fmfe7V@Kt4XlLp+#tMs0~}z^9!~x9eK>6H?kB8ns=e&d{u|phiQ8P6+s^eVJ8WOAKYh`Ngbs!YnT})& zhf;NW7;OKNCPZ=uTK3=PIkK?t=d{{7Z7noY^XpS%j6@aW?c3tfH!Qp7)#gXyuGSIL z_Qe3WHr`P}<;fCF@2kAS*%P((zV;X+a@)%z zXD}7xM>(&1-6rRrFlO-?E_{2FoJMFN%P4DszKBV_9lA7%;zn{eZ((kHYVOoYHnM6`4 z+(tQEZP0$POCXLF8fhXHC{Zk)Y0v^{|95f^HhIG z12-kSMVG_7OS{oQi-k&^r#MfkRNUre4rrpiS|u&rWHNM;QL7`^gOPu^*i{s|Ymy44 z1g2uFGB~G>Cit5Y7d`flCrQkyilZ*)biejUXLE9&8?nA1Nc9XaFDYM*+4*>mO3(ih z#w+&1)OF}j_M&csiHg*p#l=k#vT~!t)X*V553e|9)j*SBt&8@1;fpTo$ztxi|L%ga zaTPpF5TkZeQmEXQYU&f-j(c%xnN*GLmcG3u{`|ZT9;uxvRUmR1oXGWbDakKqLSFIv zGt!^gr3lCWSr3R%H*urcnnrgs@?kjVxNYqIEmL1;y$r%!$>*DYTk7uwOiNwNWp$ zJMpIOaaJXfz2(ZIMfTHJbJ^1eh-L9HsBZsileDYH8WiEPOSrvzJxp56rV3VA`k%L0 zHsWKh?z*AxemO>k|Kt5IB~a$7~E>!3zq-Y)H6>lXRj3CJ67ZtdZG``LG?N>84XK-1y8=)YZ- zh*m@#cI0(^;$(T*17&W!)1y{ZfXY$r#H{#Z_H_;#u^wP3EfVTX!JYb@{pB?EfV;tJ z@WX!W{G87-@v#{u5XTGfU{zF^ieFGSbUw?&Ix?N}N(b8Vk32vo5V+J6(>5khb<9d@ zEs_onjvpoRj?vkPE(n4g`2ffE0}Vu;8y(@Z^=H%n#UV#b#_@cAgP)(Cw|37{{S@3= z26#v`WOa4tQi+`wzaM*xJWPsFCl8-`$KKpsqqEC$U(M|6n@pxJrg5$2X#&mEwx|(! zAGXN#-UjP=`-?S~(Tz6~a0pZ!ImwmOIk|A53acQ4PQ_lISG}En%D(%1yOZdET({g` zyrh~5|A#+8kH-4t)A!3IyPBT7_!3@ zaGc|G+#6`eiO^znOq6oOg}*?A!yvmmx4V4Ko)_9e#Mpt7!C?$vc$`2>a&TnXy2s#n zxy}Rw6qk%I=3rOqZrKi-rUtn?X^{IN?MYq4z@GuV!drZ9QM%PO!-QXlQ%olrwP)nm z50m-3SK(pQlmwiqkckE(}Q^FzfWPG1P0j3l?g%E?L78JQCuAnO@N| z&qwpZAi<@H>U?86V$)J+Eyqp_Wz0WZV(mV-ru+2(I(!g&$^UaB9511WgUL2!8SPy34#ShCc;` zgnggsm+X9gg`6W^Y;s4Cl0%k(_~;WbzPU*RsL4r$byKc<^0fF)2qv)pwTeTpCg)2C z#FEl>dR#-Z&pA6h%cWSYiHm6@Jl1H+9J{H5drgxuzM5wrXUjBRN!1C|3B;V8z-M8iRV(09Xf;c^ej!{?f?BCW@n2 z(fQ$=r*)$>r>SsypAbj&yJifWomCYx^jrl0eop7y^u?Fdqp9KF>$Tag86<_3mDrc+ zI^lMBp@w**JnG)nwWrZMyv`P=2VQZ>w#kfEmBj!O(J%xq+g(YDLIV$*K=&#AgL7w5 zlTIyep*v27AC-lSi9=6te;Yb*e=B*y%2GLJu*vcqyvC20-ik-qTRN{HoLXfWI`RZ$R3SfSOJ(6*+fGyLdae?(#; za$p;5I5Kku$71In->mN+FJT^~zuxkTs#4y9m>45l2JU0iq($vW{1l>(|1kO-m~_Xz z`_8*z%CgsW61B(>vKcRBmOFievK@7=;xT8Q;V}dcea5G>GKlQ1l$A)Q{K zP0ut?EOL$8I5&yE5n-h>XoolEcvGt2u?Op-Wfts%;VJ?19J z65AB55iy}^@}NsNd)qbYJj`qLYQX&Q)gO#ZG|req2sw!%SX&R1sIL$b)cf}nfuw`> z#{&P_=(ZCXTIgo1E6D1TcGfz4_lUN=FUa)vF$8Z<^-cPpTq*ZR?dtz}hr=iHJU$`{ zJiO`qr-~mlPTT2D?Rm=YgawQHYk|DUp;K)4pT+M;g{GaKr#a4+z^yF)Axs%OhQEIZ zL;gJUIuAbZC&Smymq+)vziXv}nSlQoNv7(U%?IYbH^G z3#42{lk*+ikyE>;gbqI?y zrxf42M8E~Shm;~#ar&BCmUu?2VW%7#mW%CnwMcyT=x`>ipJyb$;s0CFM`1K}0AK>l za$#_f_};UYf~T!MWvpP#m6Fu#VvjCDW-~hC5#u||Qun^W>UQqaWcQ4OTA>@6Ihf_} zE;y>4PHU~1k3}CjNb&D&WdgDcR=OW#l&K_79IY`qHo{@j@)?F`Rg5^DEYNLvm=rv0+ly{+}=VQUs~1 zi^6W3y-yK)V5)oOHU?s!N1L$IxuE5X`1&s8qCwHY7(YVMv{yM^*^v4Qhni-P8lNsz zn#`5zw_W|98-x(ndb?fbb^Cu9@45%$@FOHgGfl3@SVP8AJuZfYg8Nxiv*I^UB|p+2 zL~zvdKQ#$@4=b(Cdq;n=zXS~gZ1V1J+Gx-AMBJGfv7siV3raRDOaMTzXZ$mx0f+^Z z=_xgilM*RzjKyt5YjVT?-L%-;^b;9wn>Debip($1ZuQltyuQZfo(9U8&ID!Xw0%ke zzYd)kV2)dc=a#(Y;A4$JPrO}VzR!@-@ZVY*OG~Ss+U@6G!}*uarR9-1?~6HXEG=>r zcAM*`9t4HKkp=1V=Y+M%p*pjmxz%}qChwGwK=>D!`@e7Sci;D-BZ9Hm*1?F~8p6FEo`5^C;fvZlENe;bHCDGREcg;*;HGM|t>Q|BgifdJ`3Rkn(ws!vVk)J64t#9rreIN{a^LUzvSyD-WRAfY`o0Hq^@2kb{mTaO(tsN z)aJJ0pj)Z2{d!AgJ&0pYG4Y@n*1ps+0fp<8SRBZ9gH4wzbzjN1(*C)3yn1r<*jlSW zCjtV3hhb8+YjdGz?;!~q4+~cTu2M>sU#Ej@=_RUB3xS@M(J$aJcE2tV-m~5t`B(Mo zn%iqz#x$YW72UROi=rInOr+oU^p(Z>@4lVx)|xm~r)<1{vG=#TX1<%X*oTv*WE;Ku zUv(Nt-;v<#mvw~>9U9$#lD_Y;hIwPj@(2#$3chO+oLC7J3jDj0NXAXlbe1LM2lsD_ z-6nS00{+*P@1w0%AG0^>q8^=3Y6?RT`c8$F=%UA-3lkju_DiE1Ncbid-OhIeiUl5T zw;!0A0DosD+SAg#y)_{)*LfwnxD@d&C4=p^X1b_1Tm;bF&34xtmVET$uW#sBFWT7$ zyxdZ~8L$dB_X3I(R%?%Q%UvV=sCIo_q%wQ|Tw8xji0wMywRBi>sW!O#Li8LO z9{xRYSnC&FcI`db-d3L>dJEgiRaNbu_HsDy*IsFHuN{|zXIyfLC;KD$dO*EdSvfvn zuTu9fkP5wNaO4P2$mjM0Y*ny}%^Rn7lV5_Ttu3_@!M|`h{7u&R)Aqw5kLPW2>T37> z_clGjzNKX6V~v@p1#V%s7LspCOC>e|YjvDCt8Jk$le%ZT4^aM2Z&*3+lhrjY*AzO- zz4yL)Yi}4~sHFMEt1?Gsc^w@mN7(FH!FXs?3Z_r#*W&y3_XwrrjDzz^pP2*Sr* z+ryg*pNG~%)R3jff3@>$elLNCl6MRxIZr=A6}aH5&{*k7M0HoPT&LB~yN&+Fr@48~ zF!<=4`uKRE@cCSe%`6-TKciedJbB#O1$J#R|Pa-!?W9tv&M#c|UWe zK1;0BnUPL0tqp`V9$BRSn8?Y_5dBYoy9|516^*IM6k*Qa>Y z<`PhLqP4cB1^EtQ*_{=h%1q0v$Or=*w~2x=u)r|)ctVT9->>Mim-I8xdDJ_bgPj7Q zG9R&m;<_Bg?SqNYXflCNh4dz-dVpPo6m($~h3>2y zSahU3J%3x8{V(t2P?0I4XVB<$V=_HBAmY2idEQzbPJV0lxal=rSXL9x`$g|MIxF)9 zdO$Y}MxKk(h}nCqRSvXuP6QEUevuLyHTc=IhK1Scb3AeI*KY?3ZyM(B0oJRyys~&Q zDBHTeY;EXMpb}VCf|(NyOi3F}D(9ay3e$F-Ih}X$fv(`g$y!26gS@WXo`rmFi*;Rx zZ3z~X%}3vUalP&|P|vS?fNeZh+@uvhEYXjt@LEpOc)Cs&kzaEm;>SwIgogJ+#)-{1 zzIHwv#p7XRE#g3iII(HW*%zr$$%vOdqik}jUz%~#3=It$3uwl&k+O}HZKDDm0dia2 zW?H#PK;ZItXVBSchn%^6d<4wt%FB^4qwZRO@%p{nZTo+|>QYvdx<3IZOUF>X;~>r@ zdDk%^)Zvph%)?~nC(2c2tD8ey)flSu1y~5I!kDh*^U8~Do+1L$Th2Gsq-4YQ#$Bq? zV#U`rz*H3IYUYXZw>x*t>6-L3Swx7F*Bv1$C=PhEOaZsToiOA^zXO{j6LrZ#K6s8h z6-ro5wpx1**=BgsN$UivC|iH|2;H?O=bi$37PYbsSW3T!T1aZGu)aB>ZN3gRD{2I^ zsFpx8=HZWi?r^Rgq1)d3jgv}Eh;aS$)260h+G5Ea?n$Fj;ck{ z;Zs==){aJcy?XsiAt`qQm4>#ds-S6xuI0$HQc6vU8)HHfSlvL82t8Nrf?8Zsc#Klm$+og5s#N_Sn zYJV=4%4=m+`qR_+Gr}x&*orYQ-^`+@On$@vdI}DgVa}&@(>MkfMooF`5JmJ#)S}Yq_m_ObE!|}VqV@!1-e5Jk zI!=*1qh^ z*wD@JQ-7S8?7~7uYQpD{y`rb zXLt8Q{}%{Y1yh32l2T1Q{?1C4SX=yg_6L7;BkCA=5Q{$mpOj8f))tCcW6ST(rq7^C zd5~DAPKayZh#F%SR*~k}u?*lq#$Qdml$cNsX`*ckd$ ze%Q~$zEja*NFlSzy<73XN@Wy64?=RGtb{O4JXW#-$^r zAnSSM^EmS1#_%`>_wwESQ#lluH=H`?;8RBzJT#?sEJY+T6ZcY z%hV;K7~i0eL43S!RIv=ubmIlghh#F*BZ+K?k{HBl-)CV~W4=k@(Mf<6cZQq3?zpaOq_#OeW z67{`}R7$jM5})dL7ltTBKk>O`Pdg7rUtjX1)&f4Q>!0olb#Te__nRh#5KK3&Y-H}Z zt5aFJl3#JfB<61&?<+F*)?1ISK+YgEA5ZMNM1lo|f;~4SDMBIBm9w~l4tO@jKr~BU zK% z9KkXHSb=0pIwXu&Ymbcb*#<5(J*WbRNj$}x`qpdug8n>UGW0!T*as-NgdX7QB0hq@aVUCS^(VJ2{E<$Put3yeSvrLqr`?gKaYZ5Nj_4{JFVMdqUlLlw&5$QOfae@X>d$6h^>N=LmYFKr%m{HGC_?WV_6p0r0mp73eZI` z;UcRl`eU3wS}zF=a^$>HEPnsqOcclUpOtx3<4oBX+%V{yPG^U7yzMFSKD$@nOil}l zupj1$ge1+5eW?;{1IXKYMkInH9VEkQPm75<8L}3}4?Zc}9(r)q&|-0RIX(6>NjELD zA9X>AcI6*g5akJrpSv5eMaKJ#BzI7!u}6Bdt8Z>h93CPSaRtNCkA3ws&k`jQhD1hO z=Z>}g`r=|KZQx`?i`ZtJrO+nQF?|_x9dV>MGPAy3cK&Q=KB_6a^miSyp<>)oi+n1z zUriI+is~fDWK>Mp2`MEk=xS?7v5!Q6Q?O6!w7He7Q8V4btVN$vycFeX#{qiR^=-AP zs;;=aeB<#~%YSAuR8hkic`_z*IPqJSUA6aNQI?XP18!Kt4E)dvg^8&-6z0RMgTEs) z{r$;{x~6_#iq4*~$Px}M38=dUDt?s7kWX8dl2u8JD`f2b855EAg$E-giHF$LCw8}d zffRPS@wfz2Ii@}jTO5=-9UeeY9A;c0BNLqMiTF|_>!yN$ku7dKls7qtB}&{#q>@YN zk%4@ypcw?AGog9;KE zAsjUn-V_WHmeIlz75bN~=8l-pHrgt`Yb+;M9#F_!7BW;MvDX~on?k=ynv*vEoDD~t zZlZNJRNLVDOIH~$BKG^VXgK)8aKbOv6Y*m>S}-NNwi2TibrEyG)J|0hf8LxjThx-A z*~#3ykpND#Wu%LLPpe_h1=$dhqH~MDxascID0@bo4_fEYBttr!PAQ$$)yKkbzi4Yt zN{Z3?jRie$4%h-}phJ9ml6T|sLt&C}veA|W*0$eH3Z@>aRxh~!*{yL(baZsB`?Q^& z&o19k^({M_J+^)JZ?a48!o34Zc6^LdcJ@&uaH8dzN5WRN-WH%fjBG@>v_9@bQbf@b zZDsARCwY40kIL`k9vekW%*R=9ynIA8wR6BUh8vaU>5UWKNylC);B|6#T~PU~R+1LK zm6M@MHU_+iqp$MRJ=bf2_}q79cw{O0>9py^z`i@1G7KP_K(|fal*wEpuqS@+DJgRl zaZ#(Fu&{E?__oDp+9BSbpHJ9YW`32l&df61m5Y0|T-n|Ix#&O>W+AzK!R3H&F%jen zUrx`MzK0%lyoop*^$2fa;mDMpwn|yo6!yd` z=N59xNu>UOO1M%?%T+E0n2?*L^nrvz=w+BZ=$h7kY@PmUSIb>$_rCY|1S`q>G%$LKqq6dGL zT&V5ll|gKWYXgQ)R>pK+)l*w-Y%vE|KzzI!1`b&4-=({nC`X|ro%xPyI`sB{L>PNR z)(;2-R{MZe2t!(!4$+-ulr+KqEDRjElvm)JW6s;`PqYBiZ^o{f$de@FhdlJ12Ev+l70)3*?X>~_LTLo={6II!I zMx?HVF2IdSz#A&&4(poJMmK#IkqL!PM9Uh0&?PS0u>e)_cSA{vn{mY9P%a?5m%+Z;cn^Fy5(m<-He({Ai`8q9d&&?rcpW>n|&7u zj8CK`x1e?Qq~5s8_$No^l#myKhsdXsWXwt1TOub<3+ViYNguGpjY-X4*W;m% z(T~UcCtV5+khkU6NWOzd8EZ!Jk(F5}hmvA-r?78h@rA`jo|W+Zr(Z?>E4Hv+cmfMz zl)sJ>D_n#C^DPu*jDR8*K+cfSDFG3(nc4hp`Dx^&p?WGd0sey0A|H9R`!6MTMKD#C z)vtCG%M&5|1byzF)XJ7h&7QaoOTo>LPtv<`APO3W%>QLf7se;t!dGs8kyfQ9<9;`U z8ia~qRTf~6-WxBC=ilC<@@#bEm&k7N+NXM%drkby`jPs7ZLo2Wbv*VVjD03B*lwT25+boZ7`bIY)oWhnsC#*=< zN=K4RLUZRVdB28{ar1g2B4srbq9rqfcSu_AkjM9`n*QO#=Ok${VYQK#4??HlwN}RJ zztF)|;-@AcxBmhj(ifGJgnj;mr4zgitv$d3K>;IDiw0K1;?OF9rg!agYRGpKCQC#f z{XYVd)E?eMHF?ikF}PD8-sJft8YX&OHtTq6w`sNf_>^3>{Tqh@NtFOv+^DFBmx|(% z+Fra^o*@r6&(KcXr^gIYV@4^UG^)bYoGEE?L~SM4R6=2{5~ud||9r8kWsfV9)*iRB zO@J|jf+^z`5@fFjJ!)i(U=S*~qS<;=seSIw2|)s&y%*v3o!fd$BI2-Q#67^;j*6ir zLhqT*dWE__Vh<`;8`}A)wn%~-O!iXLq3DoE31j4SdwIgyM)JWs$>NH!xP(oZ;zW3D z-W&yznVqP~|CtCdsi=e#8fsW&R&z`#k%9Jwh!zOGSsSKZG3wf= zyQq?FiYDVLJtJ+}YUKaE*xlWEwW;O06-|m-x2sK1^jR#${+wjL?7YrZFKQ7R=Z3j+ zV7pvXrxXj0+yR&m9)tF86e6QC@F1HO=#N-S=Z)p$EmTu$v-4)o$-o6&PQfCjwpLWR z{?0)wQ7U-A2I~HI#8I*Ez&u)LY-ISZ8UBgvFM_fJm=zUHwDq~Xvg=!kelV-@xdAOp zL;$X_cL7qR&A7w+ALc7MhRKI=2yma=?x7!=$g)w7@!^l?B+S|6bN}Z`z*}CK5p_bIc13*&RoL`>b?jB8=77JOT(gK3E}^MKW=aG3|z}4y#Mv!OZJP; zfwWvqZp;{*UuAG$m_ABt*AXYcrxzwzX^X8y|*WYSe`hzCf(#1yd#`)at9!(-Y+GpeMCp(61Yo(Y7tIX-) z8mmT64mdzY)FvI-iXDNh;O_tP-6C{X*ulV3UJ*DrY+ZApF{xSQYbKdWXGEll(ZV(4wvO!w5M(4Fc!IP7I9|o|+A&zW zxkfQ>aoAu|tn0g|rq-NBN0b7-^pk5%UBo&6@6ey4mjWATEU%y)@qseo)TxNPTuOhU zY99I$pb?2?0*a~tLp14tlZrU!PvZY?yFN=N7!D$jtGY$#VXlAVVa>FeCvdtoo4voUu#Z#dvT1*3Yyz-;s zQwwhjFIcQ+#pS5>@>6H4T>tgxAC6b-V{S~Es>>O&<^+eCle_kurv4Le@-=#Si*n`S zW;ih_^;F5Xa=g+?vI%5#%#8Zkw98^%!-f7l2kqV|lU#W@Z@o5c?31bnjqL+b`2tf` z-qX*PMXXb|U;42z;>@!~vF_5K2Mk9qJ>J(;aw^sPl4_5iwo&xo^Xa9F`hbJ=)^v@*Tf2ZuEIhhB)H=wYNo6(>_%^TI(f!eDk?4lID==^q#q}79{d} zzQ3IoP-$QCai)>?U2rY%SowL~8BH^vce}H5Rtg3^JO@0&r`^M=cZ!sE#+H3|GnpXq z$3N{_;5{cz9m%J9(Z%P}^wu8S)Zz9iqgS^>tEEYx@5`?zGY(8N+V!$}iogZ?hs7HO z?o9tL1hL?rvda{C_RkyM7tQloHRZV78}4d(o$!KP>km}yJtoF9Y2N9krKfkSXqWJh z@=(0+y+B4dV^dj&{OZJmdn)C>Jp~tsi3!n@x;_TXZdBEwHtCX8!eKe|~WX)gvPYgyW%ss*REW>_ThhKo!IW|tSnCn1|aZs^>bP0l+XkKZKStU literal 0 HcmV?d00001 diff --git a/doc/guides/sample_app_ug/img/threads_pipelines.png b/doc/guides/sample_app_ug/img/threads_pipelines.png new file mode 100644 index 0000000000000000000000000000000000000000..27b5e86d2e65c2498700155f753e6d4f79d1cbdc GIT binary patch literal 15578 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 Kof4({PyQFf)ktLk literal 0 HcmV?d00001 diff --git a/doc/guides/sample_app_ug/img/tx_dpdk_testpmd.png b/doc/guides/sample_app_ug/img/tx_dpdk_testpmd.png new file mode 100644 index 0000000000000000000000000000000000000000..656e17b88248d2dfb2cb7fdb038507c1f9f1a103 GIT binary patch literal 76019 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

n)jgJ&Gg2M$XF* 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

V#S?!er%L=4}jixL>905DW2b*V6P-oOp zwNk6=0>A!IbD8fN(D(6mil4PN1t1p}*!S9gCsBhJc2jv4WSN0#1M0E~cC@9mPuVJ4^6qj7X?A;^#Gkz%PO%c}OKq83=k?2+EqS4*&=}st71G^p#Re!|SerG2lUO0Vt z_3?ZsB>b2A*1Fxl$ba5`jo)QXSYLk0mW&&aupn1Ux}EahB7X7so(UG-%!#DOi@i-w z-F5W>9F3a;zVpoN{k|~y>&sUP1?c6PXkiP@-X#Bi2h(J24$OE@SV%kHU)gS(E_OQF z1?O0@`q8=^_eIj(r)}MP^`AT2Sm1Lay(8i)zJ2@WSWu zB%+u`=Y1K}To`CZ+K#3>_XlqZ#PWNA^?N847*?YYmM5q_zDH=*KKy_NeKXv_jRq{ig*3{*+{Zm^@hv_aB5+($;ov=@_-(U#L*E@@>;YAwz8;INB=q{a)DuOXz7^H zQPF>G`d`5Kj{ z4m+K8qh;}WFaXe`vB#cIpAsa#zVyaNfb>8y=T$x@^WT8LoG$-2jj^A^$67>D1PM&k<-B z^#0D!=sxfK9+ZsT|4_!QbCF?oCiE)Mm<4P=a-xC^pU?$z*)PeAZ9Ok@<8Kf4pX}yG zzA*#NBk7qul8X2JYX$E6g_6Sl_bDYo(Ke+iHN;xt`MyYdX&LDS%Sf+IXG_&H#>q1r zu8haZn0&C>4Rv)gx?u%#%n(z+76wo%qi7bCh{Z+?81u|Mu_KgZ&4N9zn(Ka9Oa7mx zu05XV?vG=Xxy~(eA4uk$&V_j$k1=bYC`8o0df=yP}bv(#dD!XkZhUP6r5i;4aYWXt;UJkXv{q5% zc6Yw}yGW_}Q=bH!Pk^R57OAiN5wjKhMpB|rx@N1q(X4zhARHj!DF-0qBKmFDe`3_# zX2oESzDGd}2Vy@JrK-{r-zw66ul*TOI-o-*C1S9)^tl*YhRxsA ztcovEb-iE)UsL`lspDDmn2S#I@UW!zkJ=wCYrdk_h%cErr)O=_lP^`lW7)GM4oGf< zVcaZjIYtO}R7tp1`hxi9o(SqAnvJw^j&w$W^QGInRp^A?KVG20Y)>}4*%)gU95WW_ z$S`J(9VoZ|w+n1D06wwWzD08&o>zk!G{ErVkFkZH+D%%XZm$Fxxlq;h}DM)HdRU5!u)NpVN#m2Uw(uN_K9Q=!@^-kVqYDgV%9>Y;=5r)vLVybx3CPPgT0mb!1 z(r%sQg~CSgOWig=%A!ASAo0gdEmn1KbYd=Ncf{Kwf5DqJ0l)rfz?=LVo+1wD1lD{8 zvgub!b}kl`B3o&oX!mr0??G)BO66>BifJ(^XPxhz$K10MRo2N+6wh)w>if6$#|*etyR0XiL^V6iH&iu`fioT2|-gk1g?A41Y(%d2Vd(3y?qAGEr@9(`v} zxsRKzWxt6M<$S!xvdg6?<3dgp7N*8H%D6sQBAu`nTAgU6AgteiV0lTkCfMDW+d-hL zJ8Ebyy;#t4!%H@)wI~D`?6-K88mJ!vdM2D1eXmjtzHQD?aw#dfb{+GOC_w)Jp~>mS zHx6xj6VHj`Fp*e8*yOj9Z1;4-SyK37^erX9eu(#VzZ_RYE_b1dy7G84H^LBG#5OMR z4#*N=+1Po%o?fxb-wCdZ!aXBd(c1NjJolkl%l3STvqxzE{Id&;`t2pOC$6a`|9`X8 z7`1wL0}3_`R^IX)$^^8E<|4x7iN=#lBGCR+D#>JU51w`VgmNfY*LMndhV4 zcmhTRpJj=>lr@I9RfLTPFP6f~%t6e1{93}!j79`ag}tj&N7HK9b0MuJ)6FG6g&p)r5X;!McTv%Je*BRq?bJ~_ zI`mFIy%jL!$uZhw%jehSS+2W&=9f`!DQame=>*&8>_AHn19{7iz28aVxxL%!TocRPM_{5Th$6bzD9yG{)m5z$U42i|0qE&?}8y{-&rRbI4F zDu~u*-^*w2{XMcyorRFF^(megQYBov797_@{FQAfp+`xPU}60JX;LG~EM=ud>B@OP z1gZ+iZfwPCLcZyHqxk)!mR70Rb7F77=&sYtwl}m~iRbNMaPkB?5U4%cu;3eHFBJ&< zY3nY*DRy@Em*_TnG+o9$G(Un+HNgA-ecE?qwTd%ZUvbq9%0hI*OE`gFn;omA!s09L zsRw~B!s@+#T;or-ADAVr0{=DMdLK{$?qU z=`f*W$uUUT?21lPTU*bs0>>9at22hU>&Wq#?7+&}S#izf8!o3fLnISN9S; zVP*Wh^ebU&bzBJfy{ph-9B!3jiQHN?7V(jtL!eVYtQe(!= zZ=X65Fl8J#W$Nd_imlwlpVrH^i5WAlDvxK-;o&E%FNBr^%1O_zd^GM8M!JQCN+Kjw znDHPCnKRu_SokGuZeE@ZyW&yWo)a0kwBn0r%C7zilJ-dKFb|l@5&_Bu=SxoY4ye?> E0Ncuvf&c&j literal 0 HcmV?d00001 diff --git a/doc/guides/sample_app_ug/img/vhost_net_sample_app.png b/doc/guides/sample_app_ug/img/vhost_net_sample_app.png new file mode 100644 index 0000000000000000000000000000000000000000..c7a181b20d84b4b738f6385636974d5a3d73270d GIT binary patch literal 23800 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%0D+QfMKh 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 literal 0 HcmV?d00001 diff --git a/doc/guides/sample_app_ug/img/virtio_linux_vhost.png b/doc/guides/sample_app_ug/img/virtio_linux_vhost.png new file mode 100644 index 0000000000000000000000000000000000000000..0614269943b9c90ea93e3e255ee9117d70c7bd5f GIT binary patch literal 30290 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 WXa+HwGH@v@jGVNxRF#BD$o~LKi=qtx literal 0 HcmV?d00001 diff --git a/doc/guides/sample_app_ug/img/vmdq_dcb_example.svg b/doc/guides/sample_app_ug/img/vmdq_dcb_example.svg new file mode 100644 index 0000000000..829e5ba18a --- /dev/null +++ b/doc/guides/sample_app_ug/img/vmdq_dcb_example.svg @@ -0,0 +1,795 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + NIC Port + 0 + RX + + + NIC Port + 0 + TX + HW RX Queue + 0 + ( + VLAN + 0 + , + Prio + 0 + ) + HW TX Queue + 0 + HW TX Queue + 15 + + + User Thread + 0 + + + + + + + + + + + + + + + + + + + User Thread + 15 + + + + + + + + + + + + + + + + + HW RX Queue + 7 + ( + VLAN + 0 + , + Prio + 7 + ) + HW RX Queue + 120 + ( + VLAN + 15 + , + Prio + 0 + ) + HW RX Queue + 127 + ( + VLAN + 15 + , + Prio + 7 + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/guides/sample_app_ug/index.rst b/doc/guides/sample_app_ug/index.rst new file mode 100644 index 0000000000..ad2ca28205 --- /dev/null +++ b/doc/guides/sample_app_ug/index.rst @@ -0,0 +1,156 @@ +.. 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. + +Sample Applications User Guide +============================== + +June 2014 + +INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. +NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. +EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, +INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, +RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. + +A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in personal injury or death. +SHOULD YOU PURCHASE OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY AND HOLD INTEL AND ITS SUBSIDIARIES, +SUBCONTRACTORS AND AFFILIATES, AND THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES, +AND EXPENSES AND REASONABLE ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY, PERSONAL INJURY, +OR DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION, +WHETHER OR NOT INTEL OR ITS SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN, +MANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF ITS PARTS. + +Intel may make changes to specifications and product descriptions at any time, without notice. +Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined". +Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. +The information here is subject to change without notice. +Do not finalize a design with this information. + +The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. +Current characterized errata are available on request. + +Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. + +Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or go to: +`http://www.intel.com/design/literature.htm `_. + +Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. + +\*Other names and brands may be claimed as the property of others. + +Copyright © 2012 - 2014, Intel Corporation. All rights reserved. + +**Contents** + +.. toctree:: + :maxdepth: 2 + :numbered: + + intro + cmd_line + exception_path + hello_world + ip_frag + ipv4_multicast + ip_reassembly + kernel_nic_interface + l2_forward_real_virtual + l3_forward + l3_forward_power_man + l3_forward_access_ctrl + l3_forward_virtual + link_status_intr + load_balancer + multi_process + qos_metering + qos_scheduler + intel_quickassist + quota_watermark + timer + vmdq_dcb_forwarding + vhost + netmap_compatibility + internet_proto_ip_pipeline + test_pipeline + +**Figures** + +:ref:`Figure 1.Packet Flow ` + +:ref:`Figure 2.Kernel NIC Application Packet Flow ` + +:ref:`Figure 3.Performance Benchmark Setup (Basic Environment) ` + +:ref:`Figure 4.Performance Benchmark Setup (Virtualized Environment) ` + +:ref:`Figure 5.Load Balancer Application Architecture ` + +:ref:`Figure 5.Example Rules File ` + +:ref:`Figure 6.Example Data Flow in a Symmetric Multi-process Application ` + +:ref:`Figure 7.Example Data Flow in a Client-Server Symmetric Multi-process Application ` + +:ref:`Figure 8.Master-slave Process Workflow ` + +:ref:`Figure 9.Slave Process Recovery Process Flow ` + +:ref:`Figure 10.QoS Scheduler Application Architecture ` + +:ref:`Figure 11.Intel®QuickAssist Technology Application Block Diagram ` + +:ref:`Figure 12.Pipeline Overview ` + +:ref:`Figure 13.Ring-based Processing Pipeline Performance Setup ` + +:ref:`Figure 14.Threads and Pipelines ` + +:ref:`Figure 15.Packet Flow Through the VMDQ and DCB Sample Application ` + +:ref:`Figure 16.QEMU Virtio-net (prior to vhost-net) ` + +:ref:`Figure 17.Virtio with Linux* Kernel Vhost ` + +:ref:`Figure 18.Vhost-net Architectural Overview ` + +:ref:`Figure 19.Packet Flow Through the vhost-net Sample Application ` + +:ref:`Figure 20.Packet Flow on TX in DPDK-testpmd ` + +:ref:`Figure 21.Test Pipeline Application ` + +**Tables** + +:ref:`Table 1.Output Traffic Marking ` + +:ref:`Table 2.Entity Types ` + +:ref:`Table 3.Table Types ` diff --git a/doc/guides/sample_app_ug/intel_quickassist.rst b/doc/guides/sample_app_ug/intel_quickassist.rst new file mode 100644 index 0000000000..cbc92f071e --- /dev/null +++ b/doc/guides/sample_app_ug/intel_quickassist.rst @@ -0,0 +1,224 @@ +.. 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. + +Intel® QuickAssist Technology Sample Application +================================================ + +This sample application demonstrates the use of the cryptographic operations provided +by the Intel® QuickAssist Technology from within the Intel® DPDK environment. +Therefore, building and running this application requires having both the Intel® DPDK and +the QuickAssist Technology Software Library installed, as well as at least one +Intel® QuickAssist Technology hardware device present in the system. + +For this sample application, there is a dependency on either of: + +* Intel® Communications Chipset 8900 to 8920 Series Software for Linux* package + +* Intel® Communications Chipset 8925 to 8955 Series Software for Linux* package + +Overview +-------- + +An overview of the application is provided in Figure 11. +For simplicity, only two NIC ports and one Intel® QuickAssist Technology device are shown in this diagram, +although the number of NIC ports and Intel® QuickAssist Technology devices can be different. + +.. _figure_11: + +**Figure 11. Intel® QuickAssist Technology Application Block Diagram** + +.. image14_png has been renamed + +|quickassist_block_diagram| + +The application allows the configuration of the following items: + +* Number of NIC ports + +* Number of logical cores (lcores) + +* Mapping of NIC RX queues to logical cores + +Each lcore communicates with every cryptographic acceleration engine in the system through a pair of dedicated input - output queues. +Each lcore has a dedicated NIC TX queue with every NIC port in the system. +Therefore, each lcore reads packets from its NIC RX queues and cryptographic accelerator output queues and +writes packets to its NIC TX queues and cryptographic accelerator input queues. + +Each incoming packet that is read from a NIC RX queue is either directly forwarded to its destination NIC TX port (forwarding path) +or first sent to one of the Intel® QuickAssist Technology devices for either encryption or decryption +before being sent out on its destination NIC TX port (cryptographic path). + +The application supports IPv4 input packets only. +For each input packet, the decision between the forwarding path and +the cryptographic path is taken at the classification stage based on the value of the IP source address field read from the input packet. +Assuming that the IP source address is A.B.C.D, then if: + +* D = 0: the forwarding path is selected (the packet is forwarded out directly) + +* D = 1: the cryptographic path for encryption is selected (the packet is first encrypted and then forwarded out) + +* D = 2: the cryptographic path for decryption is selected (the packet is first decrypted and then forwarded out) + +For the cryptographic path cases (D = 1 or D = 2), byte C specifies the cipher algorithm and +byte B the cryptographic hash algorithm to be used for the current packet. +Byte A is not used and can be any value. +The cipher and cryptographic hash algorithms supported by this application are listed in the crypto.h header file. + +For each input packet, the destination NIC TX port is decided at the forwarding stage (executed after the cryptographic stage, +if enabled for the packet) by looking at the RX port index of the dst_ports[ ] array, +which was initialized at startup, being the outport the adjacent enabled port. +For example, if ports 1,3,5 and 6 are enabled, for input port 1, outport port will be 3 and vice versa, +and for input port 5, output port will be 6 and vice versa. + +For the cryptographic path, it is the payload of the IPv4 packet that is encrypted or decrypted. + +Setup +~~~~~ + +Building and running this application requires having both the Intel® DPDK package and +the QuickAssist Technology Software Library installed, +as well as at least one Intel® QuickAssist Technology hardware device present in the system. + +For more details on how to build and run Intel® DPDK and Intel® QuickAssist Technology applications, +please refer to the following documents: + +* *Intel® DPDK Getting Started Guide* + +* Intel® Communications Chipset 8900 to 8920 Series Software for Linux* Getting Started Guide (440005) + +* Intel® Communications Chipset 8925 to 8955 Series Software for Linux* Getting Started Guide (523128) + +For more details on the actual platforms used to validate this application, as well as performance numbers, +please refer to the Test Report, which is accessible by contacting your Intel representative. + +Building the Application +------------------------ + +Steps to build the application: + +#. Set up the following environment variables: + + .. code-block:: console + + export RTE_SDK= + export ICP_ROOT= + +#. Set the target (a default target is used if not specified). For example: + + .. code-block:: console + + export RTE_TARGET=x86_64-native-linuxapp-gcc + + Refer to the *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + +#. Build the application: + + .. code-block:: console + + cd ${RTE_SDK}/examples/dpdk_qat + make + +Running the Application +----------------------- + +Intel® QuickAssist Technology Configuration Files +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The Intel® QuickAssist Technology configuration files used by the application are located in the config_files folder in the application folder. +There following sets of configuration files are included in the Intel® DPDK package: + +* Stargo CRB (single CPU socket): located in the stargo folder + + * dh89xxcc_qa_dev0.conf + +* Shumway CRB (dual CPU socket): located in the shumway folder + + * dh89xxcc_qa_dev0.conf + + * dh89xxcc_qa_dev1.conf + +* Coleto Creek: located in the coleto folder + + * dh895xcc_qa_dev0.conf + +The relevant configuration file(s) must be copied to the /etc/ directory. + +Please note that any change to these configuration files requires restarting the Intel® +QuickAssist Technology driver using the following command: + +.. code-block:: console + + # service qat_service restart + +Refer to the following documents for information on the Intel® QuickAssist Technology configuration files: + +* Intel® Communications Chipset 8900 to 8920 Series Software Programmer's Guide + +* Intel® Communications Chipset 8925 to 8955 Series Software Programmer's Guide + +* Intel® Communications Chipset 8900 to 8920 Series Software for Linux* Getting Started Guide. + +* Intel® Communications Chipset 8925 to 8955 Series Software for Linux* Getting Started Guide. + +Traffic Generator Setup and Application Startup +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The application has a number of command line options: + + dpdk_qat [EAL options] -- -p PORTMASK [--no-promisc] [--config '(port,queue,lcore)[,(port,queue,lcore)]'] + +where, + +* -p PORTMASK: Hexadecimal bitmask of ports to configure + +* --no-promisc: Disables promiscuous mode for all ports, + so that only packets with the Ethernet MAC destination address set to the Ethernet address of the port are accepted. + By default promiscuous mode is enabled so that packets are accepted regardless of the packet's Ethernet MAC destination address. + +* --config'(port,queue,lcore)[,(port,queue,lcore)]': determines which queues from which ports are mapped to which cores. + +Refer to Chapter 10 , "L3 Forwarding Sample Application" for more detailed descriptions of the --config command line option. + +As an example, to run the application with two ports and two cores, +which are using different Intel® QuickAssist Technology execution engines, +performing AES-CBC-128 encryption with AES-XCBC-MAC-96 hash, the following settings can be used: + +* Traffic generator source IP address: 0.9.6.1 + +* Command line: + + .. code-block:: console + + ./build/dpdk_qat -c 0xff -n 2 -- -p 0x3 --config '(0,0,1),(1,0,2)' + +Refer to the *Intel® DPDK Test Report* for more examples of traffic generator setup and the application startup command lines. +If no errors are generated in response to the startup commands, the application is running correctly. + +.. |quickassist_block_diagram| image:: img/quickassist_block_diagram.png diff --git a/doc/guides/sample_app_ug/internet_proto_ip_pipeline.rst b/doc/guides/sample_app_ug/internet_proto_ip_pipeline.rst new file mode 100644 index 0000000000..166978db73 --- /dev/null +++ b/doc/guides/sample_app_ug/internet_proto_ip_pipeline.rst @@ -0,0 +1,135 @@ +.. 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. + +Internet Protocol (IP) Pipeline Sample Application +================================================== + +The Internet Protocol (IP) Pipeline application illustrates the use of the Intel® DPDK Packet Framework tool suite. +The Intel® DPDK pipeline methodology is used to implement functional blocks such as +packet RX, packet TX, flow classification, firewall, +routing, IP fragmentation, IP reassembly, etc +which are then assigned to different CPU cores and connected together to create complex multi-core applications. + +Overview +-------- + +The pipelines for packet RX, packet TX, flow classification, firewall, routing, IP fragmentation, IP reassembly, management, etc +are instantiated and different CPU cores and connected together through software queues. +One of the CPU cores can be designated as the management core to run a Command Line Interface (CLI) to add entries to each table +(e.g. flow table, firewall rule database, routing table, Address Resolution Protocol (ARP) table, and so on), +bring NIC ports up or down, and so on. + +Compiling the Application +------------------------- + +#. Go to the examples directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk + cd ${RTE_SDK}/examples/ip_pipeline + +#. Set the target (a default target is used if not specified): + + .. code-block:: console + + export RTE_TARGET=x86_64-native-linuxapp-gcc + +#. Build the application: + + .. code-block:: console + + make + +Running the Sample Code +----------------------- + +The application execution command line is: + +.. code-block:: console + + ./ip_pipeline [EAL options] -- -p PORTMASK [-f CONFIG_FILE] + +The number of ports in the PORTMASK can be either 2 or 4. + +The config file assigns functionality to the CPU core by deciding the pipeline type to run on each CPU core +(e.g. master, RX, flow classification, firewall, routing, IP fragmentation, IP reassembly, TX) and +also allows creating complex topologies made up of CPU cores by interconnecting the CPU cores through SW queues. + +Once the application is initialized, the CLI is available for populating the application tables, +bringing NIC ports up or down, and so on. + +The flow classification pipeline implements the flow table by using a large (multi-million entry) hash table with a 16-byte key size. +The lookup key is the IPv4 5-tuple, which is extracted from the input packet by the packet RX pipeline and +saved in the packet meta-data, has the following format: + + [source IP address, destination IP address, L4 protocol, L4 protocol source port, L4 protocol destination port] + +The firewall pipeline implements the rule database using an ACL table. + +The routing pipeline implements an IP routing table by using an LPM IPv4 table and +an ARP table by using a hash table with an 8-byte key size. +The IP routing table lookup provides the output interface ID and the next hop IP address, +which are stored in the packet meta-data, then used as the lookup key into the ARP table. +The ARP table lookup provides the destination MAC address to be used for the output packet. +The action for the default entry of both the IP routing table and the ARP table is packet drop. + +The following CLI operations are available: + +* Enable/disable NIC ports (RX pipeline) + +* Add/delete/list flows (flow classification pipeline) + +* Add/delete/list firewall rules (firewall pipeline) + +* Add/delete/list routes (routing pipeline) + +* Add/delete/list ARP entries (routing pipeline) + +In addition, there are two special commands: + +* flow add all: + Populate the flow classification table with 16 million flows + (by iterating through the last three bytes of the destination IP address). + These flows are not displayed when using the flow print command. + When this command is used, the following traffic profile must be used to have flow table lookup hits for all input packets. + TCP/IPv4 packets with: + + * destination IP address = A.B.C.D with A fixed to 0 and B,C,D random + + * source IP address fixed to 0 + + * source TCP port fixed to 0 + + * destination TCP port fixed to 0 + +* run cmd_file_path: Read CLI commands from an external file and run them one by one. + +The full list of the available CLI commands can be displayed by pressing the TAB key while the application is running. diff --git a/doc/guides/sample_app_ug/intro.rst b/doc/guides/sample_app_ug/intro.rst new file mode 100644 index 0000000000..e2f82e18fa --- /dev/null +++ b/doc/guides/sample_app_ug/intro.rst @@ -0,0 +1,69 @@ +.. 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. + +Introduction +============ + +This document describes the sample applications that are included in the Intel® Data Plane Development Kit (Intel® DPDK). +Each chapter describes a sample application that showcases specific functionality and +provides instructions on how to compile, run and use the sample application. + +Documentation Roadmap +--------------------- + +The following is a list of Intel® DPDK documents in suggested reading order: + +* **Release Notes** : Provides release-specific information, including supported features, + limitations, fixed issues, known issues and so on. + Also, provides the answers to frequently asked questions in FAQ format. + +* **Getting Started Guides** : Describes how to install and + configure the Intel® DPDK software for your operating system; + designed to get users up and running quickly with the software. + +* **Programmer's Guide:** Describes: + + * The software architecture and how to use it (through examples), + specifically in a Linux* application (linuxapp) environment. + + * The content of the Intel® DPDK, the build system + (including the commands that can be used in the root Intel® DPDK Makefile to build the development kit and an application) + and guidelines for porting an application. + + * Optimizations used in the software and those that should be considered for new development + +A glossary of terms is also provided. + +* **API Reference** : Provides detailed information about Intel® DPDK functions, + data structures and other programming constructs. + +* **Sample Applications User Guide** : Describes a set of sample applications. + Each chapter describes a sample application that showcases specific functionality and + provides instructions on how to compile, run and use the sample application. diff --git a/doc/guides/sample_app_ug/ip_frag.rst b/doc/guides/sample_app_ug/ip_frag.rst new file mode 100644 index 0000000000..18c1a3457c --- /dev/null +++ b/doc/guides/sample_app_ug/ip_frag.rst @@ -0,0 +1,187 @@ +.. 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. + +IP Fragmentation Sample Application +=================================== + +The IPv4 Fragmentation application is a simple example of packet processing +using the Intel® Data Plane Development Kit (Intel® DPDK). +The application does L3 forwarding with IPv4 and IPv6 packet fragmentation. + +Overview +-------- + +The application demonstrates the use of zero-copy buffers for packet fragmentation. +The initialization and run-time paths are very similar to those of the L2 forwarding application +(see Chapter 9 "L2 Forwarding Simple Application (in Real and Virtualised Environments)" for more information). +This guide highlights the differences between the two applications. + +There are three key differences from the L2 Forwarding sample application: + +* The first difference is that the IP Fragmentation sample application makes use of indirect buffers. + +* The second difference is that the forwarding decision is taken + based on information read from the input packet's IP header. + +* The third difference is that the application differentiates between + IP and non-IP traffic by means of offload flags. + +The Longest Prefix Match (LPM for IPv4, LPM6 for IPv6) table is used to store/lookup an outgoing port number, +associated with that IP address. +Any unmatched packets are forwarded to the originating port. + +By default, input frame sizes up to 9.5 KB are supported. +Before forwarding, the input IP packet is fragmented to fit into the "standard" Ethernet* v2 MTU (1500 bytes). + +Building the Application +------------------------ + +To build the application: + +#. Go to the sample application directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk + cd ${RTE_SDK}/examples/ip_fragmentation + +#. 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 *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + +#. Build the application: + + .. code-block:: console + + make + +Running the Application +----------------------- + +The LPM object is created and loaded with the pre-configured entries read from +global l3fwd_ipv4_route_array and l3fwd_ipv6_route_array tables. +For each input packet, the packet forwarding decision +(that is, the identification of the output interface for the packet) is taken as a result of LPM lookup. +If the IP packet size is greater than default output MTU, +then the input packet is fragmented and several fragments are sent via the output interface. + +Application usage: + +.. code-block:: console + + ./build/ip_fragmentation [EAL options] -- -p PORTMASK [-q NQ] + +where: + +* -p PORTMASK is a hexadecimal bitmask of ports to configure + +* -q NQ is the number of queue (=ports) per lcore (the default is 1) + +To run the example in linuxapp environment with 2 lcores (2,4) over 2 ports(0,2) with 1 RX queue per lcore: + +.. code-block:: console + + ./build/ip_fragmentation -c 0x14 -n 3 -- -p 5 + EAL: coremask set to 14 + EAL: Detected lcore 0 on socket 0 + EAL: Detected lcore 1 on socket 1 + EAL: Detected lcore 2 on socket 0 + EAL: Detected lcore 3 on socket 1 + EAL: Detected lcore 4 on socket 0 + ... + + Initializing port 0 on lcore 2... Address:00:1B:21:76:FA:2C, rxq=0 txq=2,0 txq=4,1 + done: Link Up - speed 10000 Mbps - full-duplex + Skipping disabled port 1 + Initializing port 2 on lcore 4... Address:00:1B:21:5C:FF:54, rxq=0 txq=2,0 txq=4,1 + done: Link Up - speed 10000 Mbps - full-duplex + Skipping disabled port 3IP_FRAG: Socket 0: adding route 100.10.0.0/16 (port 0) + IP_FRAG: Socket 0: adding route 100.20.0.0/16 (port 1) + ... + IP_FRAG: Socket 0: adding route 0101:0101:0101:0101:0101:0101:0101:0101/48 (port 0) + IP_FRAG: Socket 0: adding route 0201:0101:0101:0101:0101:0101:0101:0101/48 (port 1) + ... + IP_FRAG: entering main loop on lcore 4 + IP_FRAG: -- lcoreid=4 portid=2 + IP_FRAG: entering main loop on lcore 2 + IP_FRAG: -- lcoreid=2 portid=0 + +To run the example in linuxapp environment with 1 lcore (4) over 2 ports(0,2) with 2 RX queues per lcore: + +.. code-block:: console + + ./build/ip_fragmentation -c 0x10 -n 3 -- -p 5 -q 2 + +To test the application, flows should be set up in the flow generator that match the values in the +l3fwd_ipv4_route_array and/or l3fwd_ipv6_route_array table. + +The default l3fwd_ipv4_route_array table is: + +.. code-block:: c + + struct l3fwd_ipv4_route l3fwd_ipv4_route_array[] = { + {IPv4(100, 10, 0, 0), 16, 0}, + {IPv4(100, 20, 0, 0), 16, 1}, + {IPv4(100, 30, 0, 0), 16, 2}, + {IPv4(100, 40, 0, 0), 16, 3}, + {IPv4(100, 50, 0, 0), 16, 4}, + {IPv4(100, 60, 0, 0), 16, 5}, + {IPv4(100, 70, 0, 0), 16, 6}, + {IPv4(100, 80, 0, 0), 16, 7}, + }; + +The default l3fwd_ipv6_route_array table is: + +.. code-block:: c + + struct l3fwd_ipv6_route l3fwd_ipv6_route_array[] = { + {{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, 48, 0}, + {{2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, 48, 1}, + {{3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, 48, 2}, + {{4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, 48, 3}, + {{5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, 48, 4}, + {{6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, 48, 5}, + {{7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, 48, 6}, + {{8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, 48, 7}, + }; + +For example, for the input IPv4 packet with destination address: 100.10.1.1 and packet length 9198 bytes, +seven IPv4 packets will be sent out from port #0 to the destination address 100.10.1.1: +six of those packets will have length 1500 bytes and one packet will have length 318 bytes. +IP Fragmentation sample application provides basic NUMA support +in that all the memory structures are allocated on all sockets that have active lcores on them. + + +Refer to the *Intel® DPDK Getting Started Guide* for general information on running applications +and the Environment Abstraction Layer (EAL) options. diff --git a/doc/guides/sample_app_ug/ip_reassembly.rst b/doc/guides/sample_app_ug/ip_reassembly.rst new file mode 100644 index 0000000000..103e12bd83 --- /dev/null +++ b/doc/guides/sample_app_ug/ip_reassembly.rst @@ -0,0 +1,281 @@ +.. 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. + +IP Reassembly Sample Application +================================ + +The L3 Forwarding application is a simple example of packet processing using the Intel® DPDK. +The application performs L3 forwarding with reassembly for fragmented IPv4 and IPv6 packets. + +Overview +-------- + +The application demonstrates the use of the Intel® DPDK libraries to implement packet forwarding +with reassembly for IPv4 and IPv6 fragmented packets. +The initialization and run- time paths are very similar to those of the L2 forwarding application +(see Chapter 9 "L2 Forwarding Sample Application" for more information). +The main difference from the L2 Forwarding sample application is that +it reassembles fragmented IPv4 and IPv6 packets before forwarding. +The maximum allowed size of reassembled packet is 9.5 KB. + +There are two key differences from the L2 Forwarding sample application: + +* The first difference is that the forwarding decision is taken based on information read from the input packet's IP header. + +* The second difference is that the application differentiates between IP and non-IP traffic by means of offload flags. + +The Longest Prefix Match (LPM for IPv4, LPM6 for IPv6) table is used to store/lookup an outgoing port number, associated with that IPv4 address. Any unmatched packets are forwarded to the originating port.Compiling the Application +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +To compile the application: + +#. Go to the sample application directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk + cd ${RTE_SDK}/examples/ip_reassembly + +#. 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 *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + +#. Build the application: + + .. code-block:: console + + make + +Running the Application +----------------------- + +The application has a number of command line options: + +.. code-block:: console + + ./build/ip_reassembly [EAL options] -- -p PORTMASK [-q NQ] [--maxflows=FLOWS>] [--flowttl=TTL[(s|ms)]] + +where: + +* -p PORTMASK: Hexadecimal bitmask of ports to configure + +* -q NQ: Number of RX queues per lcore + +* --maxflows=FLOWS: determines maximum number of active fragmented flows (1-65535). Default value: 4096. + +* --flowttl=TTL[(s|ms)]: determines maximum Time To Live for fragmented packet. + If all fragments of the packet wouldn't appear within given time-out, + then they are consirdered as invalid and will be dropped. + Valid range is 1ms - 3600s. Default value: 1s. + +To run the example in linuxapp environment with 2 lcores (2,4) over 2 ports(0,2) with 1 RX queue per lcore: + +.. code-block:: console + + ./build/ip_reassembly -c 0x14 -n 3 -- -p 5 + EAL: coremask set to 14 + EAL: Detected lcore 0 on socket 0 + EAL: Detected lcore 1 on socket 1 + EAL: Detected lcore 2 on socket 0 + EAL: Detected lcore 3 on socket 1 + EAL: Detected lcore 4 on socket 0 + ... + + Initializing port 0 on lcore 2... Address:00:1B:21:76:FA:2C, rxq=0 txq=2,0 txq=4,1 + done: Link Up - speed 10000 Mbps - full-duplex + Skipping disabled port 1 + Initializing port 2 on lcore 4... Address:00:1B:21:5C:FF:54, rxq=0 txq=2,0 txq=4,1 + done: Link Up - speed 10000 Mbps - full-duplex + Skipping disabled port 3IP_FRAG: Socket 0: adding route 100.10.0.0/16 (port 0) + IP_RSMBL: Socket 0: adding route 100.20.0.0/16 (port 1) + ... + + IP_RSMBL: Socket 0: adding route 0101:0101:0101:0101:0101:0101:0101:0101/48 (port 0) + IP_RSMBL: Socket 0: adding route 0201:0101:0101:0101:0101:0101:0101:0101/48 (port 1) + ... + + IP_RSMBL: entering main loop on lcore 4 + IP_RSMBL: -- lcoreid=4 portid=2 + IP_RSMBL: entering main loop on lcore 2 + IP_RSMBL: -- lcoreid=2 portid=0 + +To run the example in linuxapp environment with 1 lcore (4) over 2 ports(0,2) with 2 RX queues per lcore: + +.. code-block:: console + + ./build/ip_reassembly -c 0x10 -n 3 -- -p 5 -q 2 + +To test the application, flows should be set up in the flow generator that match the values in the +l3fwd_ipv4_route_array and/or l3fwd_ipv6_route_array table. + +Please note that in order to test this application, +the traffic generator should be generating valid fragmented IP packets. +For IPv6, the only supported case is when no other extension headers other than +fragment extension header are present in the packet. + +The default l3fwd_ipv4_route_array table is: + +.. code-block:: c + + struct l3fwd_ipv4_route l3fwd_ipv4_route_array[] = { + {IPv4(100, 10, 0, 0), 16, 0}, + {IPv4(100, 20, 0, 0), 16, 1}, + {IPv4(100, 30, 0, 0), 16, 2}, + {IPv4(100, 40, 0, 0), 16, 3}, + {IPv4(100, 50, 0, 0), 16, 4}, + {IPv4(100, 60, 0, 0), 16, 5}, + {IPv4(100, 70, 0, 0), 16, 6}, + {IPv4(100, 80, 0, 0), 16, 7}, + }; + +The default l3fwd_ipv6_route_array table is: + +.. code-block:: c + + struct l3fwd_ipv6_route l3fwd_ipv6_route_array[] = { + {{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, 48, 0}, + {{2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, 48, 1}, + {{3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, 48, 2}, + {{4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, 48, 3}, + {{5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, 48, 4}, + {{6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, 48, 5}, + {{7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, 48, 6}, + {{8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, 48, 7}, + }; + +For example, for the fragmented input IPv4 packet with destination address: 100.10.1.1, +a reassembled IPv4 packet be sent out from port #0 to the destination address 100.10.1.1 +once all the fragments are collected. + +Explanation +----------- + +The following sections provide some explanation of the sample application code. +As mentioned in the overview section, the initialization and run-time paths are very similar to those of the L2 forwarding application +(see Chapter 9 "L2 Forwarding Sample Application" for more information). +The following sections describe aspects that are specific to the IP reassemble sample application. + +IPv4 Fragment Table Initialization +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This application uses the rte_ip_frag library. Please refer to Programmer's Guide for more detailed explanation of how to use this library. +Fragment table maintains information about already received fragments of the packet. +Each IP packet is uniquely identified by triple , , . +To avoid lock contention, each RX queue has its own Fragment Table, +e.g. the application can't handle the situation when different fragments of the same packet arrive through different RX queues. +Each table entry can hold information about packet consisting of up to RTE_LIBRTE_IP_FRAG_MAX_FRAGS fragments. + +.. code-block:: c + + frag_cycles = (rte_get_tsc_hz() + MS_PER_S - 1) / MS_PER_S * max_flow_ttl; + + if ((qconf->frag_tbl[queue] = rte_ip_frag_tbl_create(max_flow_num, IPV4_FRAG_TBL_BUCKET_ENTRIES, max_flow_num, frag_cycles, socket)) == NULL) + { + RTE_LOG(ERR, IP_RSMBL, "ip_frag_tbl_create(%u) on " "lcore: %u for queue: %u failed\n", max_flow_num, lcore, queue); + return -1; + } + +Mempools Initialization +~~~~~~~~~~~~~~~~~~~~~~~ + +The reassembly application demands a lot of mbuf's to be allocated. +At any given time up to (2 \* max_flow_num \* RTE_LIBRTE_IP_FRAG_MAX_FRAGS \* ) +can be stored inside Fragment Table waiting for remaining fragments. +To keep mempool size under reasonable limits and to avoid situation when one RX queue can starve other queues, +each RX queue uses its own mempool. + +.. code-block:: c + + nb_mbuf = RTE_MAX(max_flow_num, 2UL * MAX_PKT_BURST) * RTE_LIBRTE_IP_FRAG_MAX_FRAGS; + nb_mbuf *= (port_conf.rxmode.max_rx_pkt_len + BUF_SIZE - 1) / BUF_SIZE; + nb_mbuf *= 2; /* ipv4 and ipv6 */ + nb_mbuf += RTE_TEST_RX_DESC_DEFAULT + RTE_TEST_TX_DESC_DEFAULT; + nb_mbuf = RTE_MAX(nb_mbuf, (uint32_t)NB_MBUF); + + rte_snprintf(buf, sizeof(buf), "mbuf_pool_%u_%u", lcore, queue); + + if ((rxq->pool = rte_mempool_create(buf, nb_mbuf, MBUF_SIZE, 0, sizeof(struct rte_pktmbuf_pool_private), rte_pktmbuf_pool_init, NULL, + rte_pktmbuf_init, NULL, socket, MEMPOOL_F_SP_PUT | MEMPOOL_F_SC_GET)) == NULL) { + + RTE_LOG(ERR, IP_RSMBL, "mempool_create(%s) failed", buf); + return -1; + } + +Packet Reassembly and Forwarding +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +For each input packet, the packet forwarding operation is done by the l3fwd_simple_forward() function. +If the packet is an IPv4 or IPv6 fragment, then it calls rte_ipv4_reassemble_packet() for IPv4 packets, +or rte_ipv6_reassemble_packet() for IPv6 packets. +These functions either return a pointer to valid mbuf that contains reassembled packet, +or NULL (if the packet can't be reassembled for some reason). +Then l3fwd_simple_forward() continues with the code for the packet forwarding decision +(that is, the identification of the output interface for the packet) and +actual transmit of the packet. + +The rte_ipv4_reassemble_packet() or rte_ipv6_reassemble_packet() are responsible for: + +#. Searching the Fragment Table for entry with packet's + +#. If the entry is found, then check if that entry already timed-out. + If yes, then free all previously received fragments, + and remove information about them from the entry. + +#. If no entry with such key is found, then try to create a new one by one of two ways: + + #. Use as empty entry + + #. Delete a timed-out entry, free mbufs associated with it mbufs and store a new entry with specified key in it. + +#. Update the entry with new fragment information and check + if a packet can be reassembled (the packet's entry contains all fragments). + + #. If yes, then, reassemble the packet, mark table's entry as empty and return the reassembled mbuf to the caller. + + #. If no, then just return a NULL to the caller. + +If at any stage of packet processing a reassembly function encounters an error +(can't insert new entry into the Fragment table, or invalid/timed-out fragment), +then it will free all associated with the packet fragments, +mark the table entry as invalid and return NULL to the caller. + +Debug logging and Statistics Collection +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The RTE_LIBRTE_IP_FRAG_TBL_STAT controls statistics collection for the IP Fragment Table. +This macro is disabled by default. +To make ip_reassembly print the statistics to the standard output, +the user must send either an USR1, INT or TERM signal to the process. +For all of these signals, the ip_reassembly process prints Fragment table statistics for each RX queue, +plus the INT and TERM will cause process termination as usual. diff --git a/doc/guides/sample_app_ug/ipv4_multicast.rst b/doc/guides/sample_app_ug/ipv4_multicast.rst new file mode 100644 index 0000000000..a9c9df81b9 --- /dev/null +++ b/doc/guides/sample_app_ug/ipv4_multicast.rst @@ -0,0 +1,374 @@ +.. 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. + +IPv4 Multicast Sample Application +================================= + +The IPv4 Multicast application is a simple example of packet processing +using the Intel® Data Plane Development Kit (Intel® DPDK). +The application performs L3 multicasting. + +Overview +-------- + +The application demonstrates the use of zero-copy buffers for packet forwarding. +The initialization and run-time paths are very similar to those of the L2 forwarding application +(see Chapter 9 "L2 Forwarding Sample Application (in Real and Virtualized Environments)" for details more information). +This guide highlights the differences between the two applications. +There are two key differences from the L2 Forwarding sample application: + +* The IPv4 Multicast sample application makes use of indirect buffers. + +* The forwarding decision is taken based on information read from the input packet's IPv4 header. + +The lookup method is the Four-byte Key (FBK) hash-based method. +The lookup table is composed of pairs of destination IPv4 address (the FBK) +and a port mask associated with that IPv4 address. + +For convenience and simplicity, this sample application does not take IANA-assigned multicast addresses into account, +but instead equates the last four bytes of the multicast group (that is, the last four bytes of the destination IP address) +with the mask of ports to multicast packets to. +Also, the application does not consider the Ethernet addresses; +it looks only at the IPv4 destination address for any given packet. + +Building the Application +------------------------ + +To compile the application: + +#. Go to the sample application directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk + cd ${RTE_SDK}/examples/ipv4_multicast + +#. 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 *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + +#. Build the application: + + .. code-block:: console + + make + +.. note:: + + The compiled application is written to the build subdirectory. + To have the application written to a different location, + the O=/path/to/build/directory option may be specified in the make command. + +Running the Application +----------------------- + +The application has a number of command line options: + +.. code-block:: console + + ./build/ipv4_multicast [EAL options] -- -p PORTMASK [-q NQ] + +where, + +* -p PORTMASK: Hexadecimal bitmask of ports to configure + +* -q NQ: determines the number of queues per lcore + +.. note:: + + Unlike the basic L2/L3 Forwarding sample applications, + NUMA support is not provided in the IPv4 Multicast sample application. + +Typically, to run the IPv4 Multicast sample application, issue the following command (as root): + +.. code-block:: console + + ./build/ipv4_multicast -c 0x00f -n 3 -- -p 0x3 -q 1 + +In this command: + +* The -c option enables cores 0, 1, 2 and 3 + +* The -n option specifies 3 memory channels + +* The -p option enables ports 0 and 1 + +* The -q option assigns 1 queue to each lcore + +Refer to the *Intel® DPDK Getting Started Guide* for general information on running applications +and the Environment Abstraction Layer (EAL) options. + +Explanation +----------- + +The following sections provide some explanation of the code. +As mentioned in the overview section, +the initialization and run-time paths are very similar to those of the L2 Forwarding sample application +(see Chapter 9 "L2 Forwarding Sample Application in Real and Virtualized Environments" for more information). +The following sections describe aspects that are specific to the IPv4 Multicast sample application. + +Memory Pool Initialization +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The IPv4 Multicast sample application uses three memory pools. +Two of the pools are for indirect buffers used for packet duplication purposes. +Memory pools for indirect buffers are initialized differently from the memory pool for direct buffers: + +.. code-block:: c + + packet_pool = rte_mempool_create("packet_pool", NB_PKT_MBUF, PKT_MBUF_SIZE, 32, sizeof(struct rte_pktmbuf_pool_private), + rte_pktmbuf_pool_init, NULL, rte_pktmbuf_init, NULL, rte_socket_id(), 0); + + header_pool = rte_mempool_create("header_pool", NB_HDR_MBUF, HDR_MBUF_SIZE, 32, 0, NULL, NULL, rte_pktmbuf_init, NULL, rte_socket_id(), 0); + clone_pool = rte_mempool_create("clone_pool", NB_CLONE_MBUF, + CLONE_MBUF_SIZE, 32, 0, NULL, NULL, rte_pktmbuf_init, NULL, rte_socket_id(), 0); + +The reason for this is because indirect buffers are not supposed to hold any packet data and +therefore can be initialized with lower amount of reserved memory for each buffer. + +Hash Initialization +~~~~~~~~~~~~~~~~~~~ + +The hash object is created and loaded with the pre-configured entries read from a global array: + +.. code-block:: c + + static int + + init_mcast_hash(void) + { + uint32_t i; + mcast_hash_params.socket_id = rte_socket_id(); + + mcast_hash = rte_fbk_hash_create(&mcast_hash_params); + if (mcast_hash == NULL){ + return -1; + } + + for (i = 0; i < N_MCAST_GROUPS; i ++){ + if (rte_fbk_hash_add_key(mcast_hash, mcast_group_table[i].ip, mcast_group_table[i].port_mask) < 0) { + return -1; + } + } + return 0; + } + +Forwarding +~~~~~~~~~~ + +All forwarding is done inside the mcast_forward() function. +Firstly, the Ethernet* header is removed from the packet and the IPv4 address is extracted from the IPv4 header: + +.. code-block:: c + + /* Remove the Ethernet header from the input packet */ + + iphdr = (struct ipv4_hdr *)rte_pktmbuf_adj(m, sizeof(struct ether_hdr)); + RTE_MBUF_ASSERT(iphdr != NULL); + dest_addr = rte_be_to_cpu_32(iphdr->dst_addr); + +Then, the packet is checked to see if it has a multicast destination address and +if the routing table has any ports assigned to the destination address: + +.. code-block:: c + + if (!IS_IPV4_MCAST(dest_addr) || + (hash = rte_fbk_hash_lookup(mcast_hash, dest_addr)) <= 0 || + (port_mask = hash & enabled_port_mask) == 0) { + rte_pktmbuf_free(m); + return; + } + +Then, the number of ports in the destination portmask is calculated with the help of the bitcnt() function: + +.. code-block:: c + + /* Get number of bits set. */ + + static inline uint32_t bitcnt(uint32_t v) + { + uint32_t n; + + for (n = 0; v != 0; v &= v - 1, n++) + ; + return (n); + } + +This is done to determine which forwarding algorithm to use. +This is explained in more detail in the next section. + +Thereafter, a destination Ethernet address is constructed: + +.. code-block:: c + + /* construct destination ethernet address */ + + dst_eth_addr = ETHER_ADDR_FOR_IPV4_MCAST(dest_addr); + +Since Ethernet addresses are also part of the multicast process, each outgoing packet carries the same destination Ethernet address. +The destination Ethernet address is constructed from the lower 23 bits of the multicast group ORed +with the Ethernet address 01:00:5e:00:00:00, as per RFC 1112: + +.. code-block:: c + + #define ETHER_ADDR_FOR_IPV4_MCAST(x) \ + (rte_cpu_to_be_64(0x01005e000000ULL | ((x) & 0x7fffff)) >> 16) + +Then, packets are dispatched to the destination ports according to the portmask associated with a multicast group: + +.. code-block:: c + + for (port = 0; use_clone != port_mask; port_mask >>= 1, port++) { + /* Prepare output packet and send it out. */ + + if ((port_mask & 1) != 0) { + if (likely ((mc = mcast_out_pkt(m, use_clone)) != NULL)) + mcast_send_pkt(mc, &dst_eth_addr.as_addr, qconf, port); + else if (use_clone == 0) + rte_pktmbuf_free(m); + } + } + +The actual packet transmission is done in the mcast_send_pkt() function: + +.. code-block:: c + + static inline void mcast_send_pkt(struct rte_mbuf *pkt, struct ether_addr *dest_addr, struct lcore_queue_conf *qconf, uint8_t port) + { + struct ether_hdr *ethdr; + uint16_t len; + + /* Construct Ethernet header. */ + + ethdr = (struct ether_hdr *)rte_pktmbuf_prepend(pkt, (uint16_t) sizeof(*ethdr)); + + RTE_MBUF_ASSERT(ethdr != NULL); + + ether_addr_copy(dest_addr, ðdr->d_addr); + ether_addr_copy(&ports_eth_addr[port], ðdr->s_addr); + ethdr->ether_type = rte_be_to_cpu_16(ETHER_TYPE_IPv4); + + /* Put new packet into the output queue */ + + len = qconf->tx_mbufs[port].len; + qconf->tx_mbufs[port].m_table[len] = pkt; + qconf->tx_mbufs[port].len = ++len; + + /* Transmit packets */ + + if (unlikely(MAX_PKT_BURST == len)) + send_burst(qconf, port); + } + +Buffer Cloning +~~~~~~~~~~~~~~ + +This is the most important part of the application since it demonstrates the use of zero- copy buffer cloning. +There are two approaches for creating the outgoing packet and although both are based on the data zero-copy idea, +there are some differences in the detail. + +The first approach creates a clone of the input packet, for example, +walk though all segments of the input packet and for each of segment, +create a new buffer and attach that new buffer to the segment +(refer to rte_pktmbuf_clone() in the rte_mbuf library for more details). +A new buffer is then allocated for the packet header and is prepended to the cloned buffer. + +The second approach does not make a clone, it just increments the reference counter for all input packet segment, +allocates a new buffer for the packet header and prepends it to the input packet. + +Basically, the first approach reuses only the input packet's data, but creates its own copy of packet's metadata. +The second approach reuses both input packet's data and metadata. + +The advantage of first approach is that each outgoing packet has its own copy of the metadata, +so we can safely modify the data pointer of the input packet. +That allows us to skip creation if the output packet is for the last destination port +and instead modify input packet's header in place. +For example, for N destination ports, we need to invoke mcast_out_pkt() (N-1) times. + +The advantage of the second approach is that there is less work to be done for each outgoing packet, +that is, the "clone" operation is skipped completely. +However, there is a price to pay. +The input packet's metadata must remain intact, so for N destination ports, +we need to invoke mcast_out_pkt() (N) times. + +Therefore, for a small number of outgoing ports (and segments in the input packet), +first approach is faster. +As the number of outgoing ports (and/or input segments) grows, the second approach becomes more preferable. + +Depending on the number of segments or the number of ports in the outgoing portmask, +either the first (with cloning) or the second (without cloning) approach is taken: + +.. code-block:: c + + use_clone = (port_num <= MCAST_CLONE_PORTS && m->pkt.nb_segs <= MCAST_CLONE_SEGS); + +It is the mcast_out_pkt() function that performs the packet duplication (either with or without actually cloning the buffers): + +.. code-block:: c + + static inline struct rte_mbuf *mcast_out_pkt(struct rte_mbuf *pkt, int use_clone) + { + struct rte_mbuf *hdr; + + /* Create new mbuf for the header. */ + + if (unlikely ((hdr = rte_pktmbuf_alloc(header_pool)) == NULL)) + return (NULL); + + /* If requested, then make a new clone packet. */ + + if (use_clone != 0 && unlikely ((pkt = rte_pktmbuf_clone(pkt, clone_pool)) == NULL)) { + rte_pktmbuf_free(hdr); + return (NULL); + } + + /* prepend new header */ + + hdr->pkt.next = pkt; + + /* update header's fields */ + + hdr->pkt.pkt_len = (uint16_t)(hdr->pkt.data_len + pkt->pkt.pkt_len); + hdr->pkt.nb_segs = (uint8_t)(pkt->pkt.nb_segs + 1); + + /* copy metadata from source packet */ + + hdr->pkt.in_port = pkt->pkt.in_port; + hdr->pkt.vlan_macip = pkt->pkt.vlan_macip; + hdr->pkt.hash = pkt->pkt.hash; + hdr->ol_flags = pkt->ol_flags; + rte_mbuf_sanity_check(hdr, RTE_MBUF_PKT, 1); + + return (hdr); + } diff --git a/doc/guides/sample_app_ug/kernel_nic_interface.rst b/doc/guides/sample_app_ug/kernel_nic_interface.rst new file mode 100644 index 0000000000..720142f4d8 --- /dev/null +++ b/doc/guides/sample_app_ug/kernel_nic_interface.rst @@ -0,0 +1,620 @@ +.. 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. + +Kernel NIC Interface Sample Application +======================================= + +The Kernel NIC Interface (KNI) is an Intel® DPDK control plane solution that +allows userspace applications to exchange packets with the kernel networking stack. +To accomplish this, Intel® DPDK userspace applications use an IOCTL call +to request the creation of a KNI virtual device in the Linux* kernel. +The IOCTL call provides interface information and the Intel® DPDK's physical address space, +which is re-mapped into the kernel address space by the KNI kernel loadable module +that saves the information to a virtual device context. +The Intel® DPDK creates FIFO queues for packet ingress and egress +to the kernel module for each device allocated. + +The KNI kernel loadable module is a standard net driver, +which upon receiving the IOCTL call access the Intel® DPDK's FIFO queue to +receive/transmit packets from/to the Intel® DPDK userspace application. +The FIFO queues contain pointers to data packets in the Intel® DPDK. This: + +* Provides a faster mechanism to interface with the kernel net stack and eliminates system calls + +* Facilitates the Intel® DPDK using standard Linux* userspace net tools (tcpdump, ftp, and so on) + +* Eliminate the copy_to_user and copy_from_user operations on packets. + +The Kernel NIC Interface sample application is a simple example that demonstrates the use +of the Intel® DPDK to create a path for packets to go through the Linux* kernel. +This is done by creating one or more kernel net devices for each of the Intel® DPDK ports. +The application allows the use of standard Linux tools (ethtool, ifconfig, tcpdump) with the Intel® DPDK ports and +also the exchange of packets between the Intel® DPDK application and the Linux* kernel. + +Overview +-------- + +The Kernel NIC Interface sample application uses two threads in user space for each physical NIC port being used, +and allocates one or more KNI device for each physical NIC port with kernel module's support. +For a physical NIC port, one thread reads from the port and writes to KNI devices, +and another thread reads from KNI devices and writes the data unmodified to the physical NIC port. +It is recommended to configure one KNI device for each physical NIC port. +If configured with more than one KNI devices for a physical NIC port, +it is just for performance testing, or it can work together with VMDq support in future. + +The packet flow through the Kernel NIC Interface application is as shown in the following figure. + +.. _figure_2: + +**Figure 2. Kernel NIC Application Packet Flow** + +.. image3_png has been renamed to kernel_nic.png + +|kernel_nic| + +Compiling the Application +------------------------- + +Compile the application as follows: + +#. Go to the example directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk cd + ${RTE_SDK}/examples/kni + +#. Set the target (a default target is used if not specified) + + .. note:: + + This application is intended as a linuxapp only. + + .. code-block:: console + + export RTE_TARGET=x86_64-native-linuxapp-gcc + +#. Build the application: + + .. code-block:: console + + make + +Loading the Kernel Module +------------------------- + +Loading the KNI kernel module without any parameter is the typical way an Intel® DPDK application +gets packets into and out of the kernel net stack. +This way, only one kernel thread is created for all KNI devices for packet receiving in kernel side: + +.. code-block:: console + + #insmod rte_kni.ko + +Pinning the kernel thread to a specific core can be done using a taskset command such as following: + +.. code-block:: console + + #taskset -p 100000 `pgrep --fl kni_thread | awk '{print $1}'` + +This command line tries to pin the specific kni_thread on the 20th lcore (lcore numbering starts at 0), +which means it needs to check if that lcore is available on the board. +This command must be sent after the application has been launched, as insmod does not start the kni thread. + +For optimum performance, +the lcore in the mask must be selected to be on the same socket as the lcores used in the KNI application. + +To provide flexibility of performance, the kernel module of the KNI, +located in the kmod sub-directory of the Intel® DPDK target directory, +can be loaded with parameter of kthread_mode as follows: + +* #insmod rte_kni.ko kthread_mode=single + + This mode will create only one kernel thread for all KNI devices for packet receiving in kernel side. + By default, it is in this single kernel thread mode. + It can set core affinity for this kernel thread by using Linux command taskset. + +* #insmod rte_kni.ko kthread_mode =multiple + + This mode will create a kernel thread for each KNI device for packet receiving in kernel side. + The core affinity of each kernel thread is set when creating the KNI device. + The lcore ID for each kernel thread is provided in the command line of launching the application. + Multiple kernel thread mode can provide scalable higher performance. + +To measure the throughput in a loopback mode, the kernel module of the KNI, +located in the kmod sub-directory of the Intel® DPDK target directory, +can be loaded with parameters as follows: + +* #insmod rte_kni.ko lo_mode=lo_mode_fifo + + This loopback mode will involve ring enqueue/dequeue operations in kernel space. + +* #insmod rte_kni.ko lo_mode=lo_mode_fifo_skb + + This loopback mode will involve ring enqueue/dequeue operations and sk buffer copies in kernel space. + +Running the Application +----------------------- + +The application requires a number of command line options: + +.. code-block:: console + + kni [EAL options] -- -P -p PORTMASK --config="(port,lcore_rx,lcore_tx[,lcore_kthread,...])[,port,lcore_rx,lcore_tx[,lcore_kthread,...]]" + +Where: + +* -P: Set all ports to promiscuous mode so that packets are accepted regardless of the packet's Ethernet MAC destination address. + Without this option, only packets with the Ethernet MAC destination address set to the Ethernet address of the port are accepted. + +* -p PORTMASK: Hexadecimal bitmask of ports to configure. + +* --config="(port,lcore_rx, lcore_tx[,lcore_kthread, ...]) [, port,lcore_rx, lcore_tx[,lcore_kthread, ...]]": + Determines which lcores of RX, TX, kernel thread are mapped to which ports. + +Refer to *Intel® DPDK Getting Started Guide* for general information on running applications and the Environment Abstraction Layer (EAL) options. + +The -c coremask parameter of the EAL options should include the lcores indicated by the lcore_rx and lcore_tx, +but does not need to include lcores indicated by lcore_kthread as they are used to pin the kernel thread on. +The -p PORTMASK parameter should include the ports indicated by the port in --config, neither more nor less. + +The lcore_kthread in --config can be configured none, one or more lcore IDs. +In multiple kernel thread mode, if configured none, a KNI device will be allocated for each port, +while no specific lcore affinity will be set for its kernel thread. +If configured one or more lcore IDs, one or more KNI devices will be allocated for each port, +while specific lcore affinity will be set for its kernel thread. +In single kernel thread mode, if configured none, a KNI device will be allocated for each port. +If configured one or more lcore IDs, +one or more KNI devices will be allocated for each port while +no lcore affinity will be set as there is only one kernel thread for all KNI devices. + +For example, to run the application with two ports served by six lcores, one lcore of RX, one lcore of TX, +and one lcore of kernel thread for each port: + +.. code-block:: console + + ./build/kni -c 0xf0 -n 4 -- -P -p 0x3 -config="(0,4,6,8),(1,5,7,9)" + +KNI Operations +-------------- + +Once the KNI application is started, one can use different Linux* commands to manage the net interfaces. +If more than one KNI devices configured for a physical port, +only the first KNI device will be paired to the physical device. +Operations on other KNI devices will not affect the physical port handled in user space application. + +Assigning an IP address: + +.. code-block:: console + + #ifconfig vEth0_0 192.168.0.1 + +Displaying the NIC registers: + +.. code-block:: console + + #ethtool -d vEth0_0 + +Dumping the network traffic: + +.. code-block:: console + + #tcpdump -i vEth0_0 + +When the Intel® DPDK userspace application is closed, all the KNI devices are deleted from Linux*. + +Explanation +----------- + +The following sections provide some explanation of code. + +Initialization +~~~~~~~~~~~~~~ + +Setup of mbuf pool, driver and queues is similar to the setup done in the L2 Forwarding sample application +(see Chapter 9 "L2 Forwarding Sample Application (in Real and Virtualized Environments" for details). +In addition, one or more kernel NIC interfaces are allocated for each +of the configured ports according to the command line parameters. + +The code for creating the kernel NIC interface for a specific port is as follows: + +.. code-block:: c + + kni = rte_kni_create(port, MAX_PACKET_SZ, pktmbuf_pool, &kni_ops); + if (kni == NULL) + rte_exit(EXIT_FAILURE, "Fail to create kni dev " + "for port: %d\n", port); + +The code for allocating the kernel NIC interfaces for a specific port is as follows: + +.. code-block:: c + + static int + kni_alloc(uint8_t port_id) + { + uint8_t i; + struct rte_kni *kni; + struct rte_kni_conf conf; + struct kni_port_params **params = kni_port_params_array; + + if (port_id >= RTE_MAX_ETHPORTS || !params[port_id]) + return -1; + + params[port_id]->nb_kni = params[port_id]->nb_lcore_k ? params[port_id]->nb_lcore_k : 1; + + for (i = 0; i < params[port_id]->nb_kni; i++) { + + /* Clear conf at first */ + + memset(&conf, 0, sizeof(conf)); + if (params[port_id]->nb_lcore_k) { + rte_snprintf(conf.name, RTE_KNI_NAMESIZE, "vEth%u_%u", port_id, i); + conf.core_id = params[port_id]->lcore_k[i]; + conf.force_bind = 1; + } else + rte_snprintf(conf.name, RTE_KNI_NAMESIZE, "vEth%u", port_id); + conf.group_id = (uint16_t)port_id; + conf.mbuf_size = MAX_PACKET_SZ; + + /* + * The first KNI device associated to a port + * is the master, for multiple kernel thread + * environment. + */ + + if (i == 0) { + struct rte_kni_ops ops; + struct rte_eth_dev_info dev_info; + + memset(&dev_info, 0, sizeof(dev_info)); rte_eth_dev_info_get(port_id, &dev_info); + + conf.addr = dev_info.pci_dev->addr; + conf.id = dev_info.pci_dev->id; + + memset(&ops, 0, sizeof(ops)); + + ops.port_id = port_id; + ops.change_mtu = kni_change_mtu; + ops.config_network_if = kni_config_network_interface; + + kni = rte_kni_alloc(pktmbuf_pool, &conf, &ops); + } else + kni = rte_kni_alloc(pktmbuf_pool, &conf, NULL); + + if (!kni) + rte_exit(EXIT_FAILURE, "Fail to create kni for " + "port: %d\n", port_id); + + params[port_id]->kni[i] = kni; + } + return 0; + } + +The other step in the initialization process that is unique to this sample application +is the association of each port with lcores for RX, TX and kernel threads. + +* One lcore to read from the port and write to the associated one or more KNI devices + +* Another lcore to read from one or more KNI devices and write to the port + +* Other lcores for pinning the kernel threads on one by one + +This is done by using the`kni_port_params_array[]` array, which is indexed by the port ID. +The code is as follows: + +.. code-block:: console + + static int + parse_config(const char *arg) + { + const char *p, *p0 = arg; + char s[256], *end; + unsigned size; + enum fieldnames { + FLD_PORT = 0, + FLD_LCORE_RX, + FLD_LCORE_TX, + _NUM_FLD = KNI_MAX_KTHREAD + 3, + }; + int i, j, nb_token; + char *str_fld[_NUM_FLD]; + unsigned long int_fld[_NUM_FLD]; + uint8_t port_id, nb_kni_port_params = 0; + + memset(&kni_port_params_array, 0, sizeof(kni_port_params_array)); + + while (((p = strchr(p0, '(')) != NULL) && nb_kni_port_params < RTE_MAX_ETHPORTS) { + p++; + if ((p0 = strchr(p, ')')) == NULL) + goto fail; + + size = p0 - p; + + if (size >= sizeof(s)) { + printf("Invalid config parameters\n"); + goto fail; + } + + rte_snprintf(s, sizeof(s), "%.*s", size, p); + nb_token = rte_strsplit(s, sizeof(s), str_fld, _NUM_FLD, ','); + + if (nb_token <= FLD_LCORE_TX) { + printf("Invalid config parameters\n"); + goto fail; + } + + for (i = 0; i < nb_token; i++) { + errno = 0; + int_fld[i] = strtoul(str_fld[i], &end, 0); + if (errno != 0 || end == str_fld[i]) { + printf("Invalid config parameters\n"); + goto fail; + } + } + + i = 0; + port_id = (uint8_t)int_fld[i++]; + + if (port_id >= RTE_MAX_ETHPORTS) { + printf("Port ID %u could not exceed the maximum %u\n", port_id, RTE_MAX_ETHPORTS); + goto fail; + } + + if (kni_port_params_array[port_id]) { + printf("Port %u has been configured\n", port_id); + goto fail; + } + + kni_port_params_array[port_id] = (struct kni_port_params*)rte_zmalloc("KNI_port_params", sizeof(struct kni_port_params), CACHE_LINE_SIZE); + kni_port_params_array[port_id]->port_id = port_id; + kni_port_params_array[port_id]->lcore_rx = (uint8_t)int_fld[i++]; + kni_port_params_array[port_id]->lcore_tx = (uint8_t)int_fld[i++]; + + if (kni_port_params_array[port_id]->lcore_rx >= RTE_MAX_LCORE || kni_port_params_array[port_id]->lcore_tx >= RTE_MAX_LCORE) { + printf("lcore_rx %u or lcore_tx %u ID could not " + "exceed the maximum %u\n", + kni_port_params_array[port_id]->lcore_rx, kni_port_params_array[port_id]->lcore_tx, RTE_MAX_LCORE); + goto fail; + } + + for (j = 0; i < nb_token && j < KNI_MAX_KTHREAD; i++, j++) + kni_port_params_array[port_id]->lcore_k[j] = (uint8_t)int_fld[i]; + kni_port_params_array[port_id]->nb_lcore_k = j; + } + + print_config(); + + return 0; + + fail: + + for (i = 0; i < RTE_MAX_ETHPORTS; i++) { + if (kni_port_params_array[i]) { + rte_free(kni_port_params_array[i]); + kni_port_params_array[i] = NULL; + } + } + + return -1; + + } + +Packet Forwarding +~~~~~~~~~~~~~~~~~ + +After the initialization steps are completed, the main_loop() function is run on each lcore. +This function first checks the lcore_id against the user provided lcore_rx and lcore_tx +to see if this lcore is reading from or writing to kernel NIC interfaces. + +For the case that reads from a NIC port and writes to the kernel NIC interfaces, +the packet reception is the same as in L2 Forwarding sample application +(see Section 9.4.6 "Receive, Process and Transmit Packets"). +The packet transmission is done by sending mbufs into the kernel NIC interfaces by rte_kni_tx_burst(). +The KNI library automatically frees the mbufs after the kernel successfully copied the mbufs. + +.. code-block:: c + + /** + * Interface to burst rx and enqueue mbufs into rx_q + */ + + static void + kni_ingress(struct kni_port_params *p) + { + uint8_t i, nb_kni, port_id; + unsigned nb_rx, num; + struct rte_mbuf *pkts_burst[PKT_BURST_SZ]; + + if (p == NULL) + return; + + nb_kni = p->nb_kni; + port_id = p->port_id; + + for (i = 0; i < nb_kni; i++) { + /* Burst rx from eth */ + nb_rx = rte_eth_rx_burst(port_id, 0, pkts_burst, PKT_BURST_SZ); + if (unlikely(nb_rx > PKT_BURST_SZ)) { + RTE_LOG(ERR, APP, "Error receiving from eth\n"); + return; + } + + /* Burst tx to kni */ + num = rte_kni_tx_burst(p->kni[i], pkts_burst, nb_rx); + kni_stats[port_id].rx_packets += num; + rte_kni_handle_request(p->kni[i]); + + if (unlikely(num < nb_rx)) { + /* Free mbufs not tx to kni interface */ + kni_burst_free_mbufs(&pkts_burst[num], nb_rx - num); + kni_stats[port_id].rx_dropped += nb_rx - num; + } + } + } + +For the other case that reads from kernel NIC interfaces and writes to a physical NIC port, packets are retrieved by reading +mbufs from kernel NIC interfaces by `rte_kni_rx_burst()`. +The packet transmission is the same as in the L2 Forwarding sample application +(see Section 9.4.6 "Receive, Process and Transmit Packet's"). + +.. code-block:: c + + /** + * Interface to dequeue mbufs from tx_q and burst tx + */ + + static void + + kni_egress(struct kni_port_params *p) + { + uint8_t i, nb_kni, port_id; + unsigned nb_tx, num; + struct rte_mbuf *pkts_burst[PKT_BURST_SZ]; + + if (p == NULL) + return; + + nb_kni = p->nb_kni; + port_id = p->port_id; + + for (i = 0; i < nb_kni; i++) { + /* Burst rx from kni */ + num = rte_kni_rx_burst(p->kni[i], pkts_burst, PKT_BURST_SZ); + if (unlikely(num > PKT_BURST_SZ)) { + RTE_LOG(ERR, APP, "Error receiving from KNI\n"); + return; + } + + /* Burst tx to eth */ + + nb_tx = rte_eth_tx_burst(port_id, 0, pkts_burst, (uint16_t)num); + + kni_stats[port_id].tx_packets += nb_tx; + + if (unlikely(nb_tx < num)) { + /* Free mbufs not tx to NIC */ + kni_burst_free_mbufs(&pkts_burst[nb_tx], num - nb_tx); + kni_stats[port_id].tx_dropped += num - nb_tx; + } + } + } + +Callbacks for Kernel Requests +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To execute specific PMD operations in user space requested by some Linux* commands, +callbacks must be implemented and filled in the struct rte_kni_ops structure. +Currently, setting a new MTU and configuring the network interface (up/ down) are supported. + +.. code-block:: c + + static struct rte_kni_ops kni_ops = { + .change_mtu = kni_change_mtu, + .config_network_if = kni_config_network_interface, + }; + + /* Callback for request of changing MTU */ + + static int + kni_change_mtu(uint8_t port_id, unsigned new_mtu) + { + int ret; + struct rte_eth_conf conf; + + if (port_id >= rte_eth_dev_count()) { + RTE_LOG(ERR, APP, "Invalid port id %d\n", port_id); + return -EINVAL; + } + + RTE_LOG(INFO, APP, "Change MTU of port %d to %u\n", port_id, new_mtu); + + /* Stop specific port */ + + rte_eth_dev_stop(port_id); + + memcpy(&conf, &port_conf, sizeof(conf)); + + /* Set new MTU */ + + if (new_mtu > ETHER_MAX_LEN) + conf.rxmode.jumbo_frame = 1; + else + conf.rxmode.jumbo_frame = 0; + + /* mtu + length of header + length of FCS = max pkt length */ + + conf.rxmode.max_rx_pkt_len = new_mtu + KNI_ENET_HEADER_SIZE + KNI_ENET_FCS_SIZE; + + ret = rte_eth_dev_configure(port_id, 1, 1, &conf); + if (ret < 0) { + RTE_LOG(ERR, APP, "Fail to reconfigure port %d\n", port_id); + return ret; + } + + /* Restart specific port */ + + ret = rte_eth_dev_start(port_id); + if (ret < 0) { + RTE_LOG(ERR, APP, "Fail to restart port %d\n", port_id); + return ret; + } + + return 0; + } + + /* Callback for request of configuring network interface up/down */ + + static int + kni_config_network_interface(uint8_t port_id, uint8_t if_up) + { + int ret = 0; + + if (port_id >= rte_eth_dev_count() || port_id >= RTE_MAX_ETHPORTS) { + RTE_LOG(ERR, APP, "Invalid port id %d\n", port_id); + return -EINVAL; + } + + RTE_LOG(INFO, APP, "Configure network interface of %d %s\n", + + port_id, if_up ? "up" : "down"); + + if (if_up != 0) { + /* Configure network interface up */ + rte_eth_dev_stop(port_id); + ret = rte_eth_dev_start(port_id); + } else /* Configure network interface down */ + rte_eth_dev_stop(port_id); + + if (ret < 0) + RTE_LOG(ERR, APP, "Failed to start port %d\n", port_id); + return ret; + } + +.. |kernel_nic| image:: img/kernel_nic.png diff --git a/doc/guides/sample_app_ug/l2_forward_real_virtual.rst b/doc/guides/sample_app_ug/l2_forward_real_virtual.rst new file mode 100644 index 0000000000..dcec353cda --- /dev/null +++ b/doc/guides/sample_app_ug/l2_forward_real_virtual.rst @@ -0,0 +1,532 @@ +.. 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. + +L2 Forwarding Sample Application (in Real and Virtualized Environments) +======================================================================= + +The L2 Forwarding sample application is a simple example of packet processing using +the Intel® Data Plane Development Kit (Intel® DPDK) which +also takes advantage of Single Root I/O Virtualization (SR-IOV) features in a virtualized environment. + +.. note:: + + Please note that previously a separate L2 Forwarding in Virtualized Environments sample application was used, + however, in later Intel® DPDK versions these sample applications have been merged. + +Overview +-------- + +The L2 Forwarding sample application, which can operate in real and virtualized environments, +performs L2 forwarding for each packet that is received on an RX_PORT. +The destination port is the adjacent port from the enabled portmask, that is, +if the first four ports are enabled (portmask 0xf), +ports 1 and 2 forward into each other, and ports 3 and 4 forward into each other. +Also, the MAC addresses are affected as follows: + +* The source MAC address is replaced by the TX_PORT MAC address + +* The destination MAC address is replaced by 02:00:00:00:00:TX_PORT_ID + +This application can be used to benchmark performance using a traffic-generator, as shown in the Figure 3. + +The application can also be used in a virtualized environment as shown in Figure 4. + +The L2 Forwarding application can also be used as a starting point for developing a new application based on the Intel® DPDK. + +.. _figure_3: + +**Figure 3. Performance Benchmark Setup (Basic Environment)** + +.. image4_png has been replaced + +|l2_fwd_benchmark_setup| + +.. _figure_4: + +**Figure 4. Performance Benchmark Setup (Virtualized Environment)** + +.. image5_png has been renamed + +|l2_fwd_virtenv_benchmark_setup| + +Virtual Function Setup Instructions +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This application can use the virtual function available in the system and +therefore can be used in a virtual machine without passing through +the whole Network Device into a guest machine in a virtualized scenario. +The virtual functions can be enabled in the host machine or the hypervisor with the respective physical function driver. + +For example, in a Linux* host machine, it is possible to enable a virtual function using the following command: + +.. code-block:: console + + modprobe ixgbe max_vfs=2,2 + +This command enables two Virtual Functions on each of Physical Function of the NIC, +with two physical ports in the PCI configuration space. +It is important to note that enabled Virtual Function 0 and 2 would belong to Physical Function 0 +and Virtual Function 1 and 3 would belong to Physical Function 1, +in this case enabling a total of four Virtual Functions. + +Compiling the Application +------------------------- + +#. Go to the example directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk cd ${RTE_SDK}/examples/l2fwd + +#. 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 Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + +#. Build the application: + + .. code-block:: console + + make + +Running the Application +----------------------- + +The application requires a number of command line options: + +.. code-block:: console + + ./build/l2fwd [EAL options] -- -p PORTMASK [-q NQ] + +where, + +* p PORTMASK: A hexadecimal bitmask of the ports to configure + +* q NQ: A number of queues (=ports) per lcore (default is 1) + +To run the application in linuxapp environment with 4 lcores, 16 ports and 8 RX queues per lcore, issue the command: + +.. code-block:: console + + $ ./build/l2fwd -c f -n 4 -- -q 8 -p ffff + +Refer to the *Intel® *DPDK Getting Started Guide* for general information on running applications +and the Environment Abstraction Layer (EAL) options. + +Explanation +----------- + +The following sections provide some explanation of the code. + +Command Line Arguments +~~~~~~~~~~~~~~~~~~~~~~ + +The L2 Forwarding sample application takes specific parameters, +in addition to Environment Abstraction Layer (EAL) arguments (see Section 9.3). +The preferred way to parse parameters is to use the getopt() function, +since it is part of a well-defined and portable library. + +The parsing of arguments is done in the l2fwd_parse_args() function. +The method of argument parsing is not described here. +Refer to the *glibc getopt(3)* man page for details. + +EAL arguments are parsed first, then application-specific arguments. +This is done at the beginning of the main() function: + +.. code-block:: c + + /* init EAL */ + + ret = rte_eal_init(argc, argv); + if (ret < 0) + rte_exit(EXIT_FAILURE, "Invalid EAL arguments\n"); + + argc -= ret; + argv += ret; + + /* parse application arguments (after the EAL ones) */ + + ret = l2fwd_parse_args(argc, argv); + if (ret < 0) + rte_exit(EXIT_FAILURE, "Invalid L2FWD arguments\n"); + +Mbuf Pool Initialization +~~~~~~~~~~~~~~~~~~~~~~~~ + +Once the arguments are parsed, the mbuf pool is created. +The mbuf pool contains a set of mbuf objects that will be used by the driver +and the application to store network packet data: + +.. code-block:: c + + /* create the mbuf pool */ + + l2fwd_pktmbuf_pool = rte_mempool_create("mbuf_pool", NB_MBUF, MBUF_SIZE, 32, sizeof(struct rte_pktmbuf_pool_private), + rte_pktmbuf_pool_init, NULL, rte_pktmbuf_init, NULL, SOCKET0, 0); + + if (l2fwd_pktmbuf_pool == NULL) + rte_panic("Cannot init mbuf pool\n"); + +The rte_mempool is a generic structure used to handle pools of objects. +In this case, it is necessary to create a pool that will be used by the driver, +which expects to have some reserved space in the mempool structure, +sizeof(struct rte_pktmbuf_pool_private) bytes. +The number of allocated pkt mbufs is NB_MBUF, with a size of MBUF_SIZE each. +A per-lcore cache of 32 mbufs is kept. +The memory is allocated in NUMA socket 0, +but it is possible to extend this code to allocate one mbuf pool per socket. + +Two callback pointers are also given to the rte_mempool_create() function: + +* The first callback pointer is to rte_pktmbuf_pool_init() and is used + to initialize the private data of the mempool, which is needed by the driver. + This function is provided by the mbuf API, but can be copied and extended by the developer. + +* The second callback pointer given to rte_mempool_create() is the mbuf initializer. + The default is used, that is, rte_pktmbuf_init(), which is provided in the rte_mbuf library. + If a more complex application wants to extend the rte_pktmbuf structure for its own needs, + a new function derived from rte_pktmbuf_init( ) can be created. + +Driver Initialization +~~~~~~~~~~~~~~~~~~~~~ + +The main part of the code in the main() function relates to the initialization of the driver. +To fully understand this code, it is recommended to study the chapters that related to the Poll Mode Driver +in the *Intel® DPDK Programmer's Guide* - Rel 1.4 EAR and the *Intel® DPDK API Reference*. + +.. code-block:: c + + if (rte_eal_pci_probe() < 0) + rte_exit(EXIT_FAILURE, "Cannot probe PCI\n"); + + nb_ports = rte_eth_dev_count(); + + if (nb_ports == 0) + rte_exit(EXIT_FAILURE, "No Ethernet ports - bye\n"); + + if (nb_ports > RTE_MAX_ETHPORTS) + nb_ports = RTE_MAX_ETHPORTS; + + /* reset l2fwd_dst_ports */ + + for (portid = 0; portid < RTE_MAX_ETHPORTS; portid++) + l2fwd_dst_ports[portid] = 0; + + last_port = 0; + + /* + * Each logical core is assigned a dedicated TX queue on each port. + */ + + for (portid = 0; portid < nb_ports; portid++) { + /* skip ports that are not enabled */ + + if ((l2fwd_enabled_port_mask & (1 << portid)) == 0) + continue; + + if (nb_ports_in_mask % 2) { + l2fwd_dst_ports[portid] = last_port; + l2fwd_dst_ports[last_port] = portid; + } + else + last_port = portid; + + nb_ports_in_mask++; + + rte_eth_dev_info_get((uint8_t) portid, &dev_info); + } + +Observe that: + +* rte_igb_pmd_init_all() simultaneously registers the driver as a PCI driver and as an Ethernet* Poll Mode Driver. + +* rte_eal_pci_probe() parses the devices on the PCI bus and initializes recognized devices. + +The next step is to configure the RX and TX queues. +For each port, there is only one RX queue (only one lcore is able to poll a given port). +The number of TX queues depends on the number of available lcores. +The rte_eth_dev_configure() function is used to configure the number of queues for a port: + +.. code-block:: c + + ret = rte_eth_dev_configure((uint8_t)portid, 1, 1, &port_conf); + if (ret < 0) + rte_exit(EXIT_FAILURE, "Cannot configure device: " + "err=%d, port=%u\n", + ret, portid); + +The global configuration is stored in a static structure: + +.. code-block:: c + + static const struct rte_eth_conf port_conf = { + .rxmode = { + .split_hdr_size = 0, + .header_split = 0, /**< Header Split disabled */ + .hw_ip_checksum = 0, /**< IP checksum offload disabled */ + .hw_vlan_filter = 0, /**< VLAN filtering disabled */ + .jumbo_frame = 0, /**< Jumbo Frame Support disabled */ + .hw_strip_crc= 0, /**< CRC stripped by hardware */ + }, + + .txmode = { + .mq_mode = ETH_DCB_NONE + }, + }; + +RX Queue Initialization +~~~~~~~~~~~~~~~~~~~~~~~ + +The application uses one lcore to poll one or several ports, depending on the -q option, +which specifies the number of queues per lcore. + +For example, if the user specifies -q 4, the application is able to poll four ports with one lcore. +If there are 16 ports on the target (and if the portmask argument is -p ffff ), +the application will need four lcores to poll all the ports. + +.. code-block:: c + + ret = rte_eth_rx_queue_setup((uint8_t) portid, 0, nb_rxd, SOCKET0, &rx_conf, l2fwd_pktmbuf_pool); + if (ret < 0) + + rte_exit(EXIT_FAILURE, "rte_eth_rx_queue_setup: " + "err=%d, port=%u\n", + ret, portid); + +The list of queues that must be polled for a given lcore is stored in a private structure called struct lcore_queue_conf. + +.. code-block:: c + + struct lcore_queue_conf { + unsigned n_rx_port; + unsigned rx_port_list[MAX_RX_QUEUE_PER_LCORE]; + struct mbuf_table tx_mbufs[L2FWD_MAX_PORTS]; + } rte_cache_aligned; + + struct lcore_queue_conf lcore_queue_conf[RTE_MAX_LCORE]; + +The values n_rx_port and rx_port_list[] are used in the main packet processing loop +(see Section 9.4.6 "Receive, Process and Transmit Packets" later in this chapter). + +The global configuration for the RX queues is stored in a static structure: + +.. code-block:: c + + static const struct rte_eth_rxconf rx_conf = { + .rx_thresh = { + .pthresh = RX_PTHRESH, + .hthresh = RX_HTHRESH, + .wthresh = RX_WTHRESH, + }, + }; + +TX Queue Initialization +~~~~~~~~~~~~~~~~~~~~~~~ + +Each lcore should be able to transmit on any port. For every port, a single TX queue is initialized. + +.. code-block:: c + + /* init one TX queue on each port */ + + fflush(stdout); + + ret = rte_eth_tx_queue_setup((uint8_t) portid, 0, nb_txd, rte_eth_dev_socket_id(portid), &tx_conf); + if (ret < 0) + rte_exit(EXIT_FAILURE, "rte_eth_tx_queue_setup:err=%d, port=%u\n", ret, (unsigned) portid); + +The global configuration for TX queues is stored in a static structure: + +.. code-block:: c + + static const struct rte_eth_txconf tx_conf = { + .tx_thresh = { + .pthresh = TX_PTHRESH, + .hthresh = TX_HTHRESH, + .wthresh = TX_WTHRESH, + }, + .tx_free_thresh = RTE_TEST_TX_DESC_DEFAULT + 1, /* disable feature */ + }; + +Receive, Process and Transmit Packets +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In the l2fwd_main_loop() function, the main task is to read ingress packets from the RX queues. +This is done using the following code: + +.. code-block:: c + + /* + * Read packet from RX queues + */ + + for (i = 0; i < qconf->n_rx_port; i++) { + portid = qconf->rx_port_list[i]; + nb_rx = rte_eth_rx_burst((uint8_t) portid, 0, pkts_burst, MAX_PKT_BURST); + + for (j = 0; j < nb_rx; j++) { + m = pkts_burst[j]; + rte_prefetch0[rte_pktmbuf_mtod(m, void *)); l2fwd_simple_forward(m, portid); + } + } + +Packets are read in a burst of size MAX_PKT_BURST. +The rte_eth_rx_burst() function writes the mbuf pointers in a local table and returns the number of available mbufs in the table. + +Then, each mbuf in the table is processed by the l2fwd_simple_forward() function. +The processing is very simple: process the TX port from the RX port, then replace the source and destination MAC addresses. + +.. note:: + + In the following code, one line for getting the output port requires some explanation. + +During the initialization process, a static array of destination ports (l2fwd_dst_ports[]) is filled such that for each source port, +a destination port is assigned that is either the next or previous enabled port from the portmask. +Naturally, the number of ports in the portmask must be even, otherwise, the application exits. + +.. code-block:: c + + static void + l2fwd_simple_forward(struct rte_mbuf *m, unsigned portid) + { + struct ether_hdr *eth; + void *tmp; + unsigned dst_port; + + dst_port = l2fwd_dst_ports[portid]; + + eth = rte_pktmbuf_mtod(m, struct ether_hdr *); + + /* 02:00:00:00:00:xx */ + + tmp = ð->d_addr.addr_bytes[0]; + + *((uint64_t *)tmp) = 0x000000000002 + ((uint64_t) dst_port << 40); + + /* src addr */ + + ether_addr_copy(&l2fwd_ports_eth_addr[dst_port], ð->s_addr); + + l2fwd_send_packet(m, (uint8_t) dst_port); + } + +Then, the packet is sent using the l2fwd_send_packet (m, dst_port) function. +For this test application, the processing is exactly the same for all packets arriving on the same RX port. +Therefore, it would have been possible to call the l2fwd_send_burst() function directly from the main loop +to send all the received packets on the same TX port, +using the burst-oriented send function, which is more efficient. + +However, in real-life applications (such as, L3 routing), +packet N is not necessarily forwarded on the same port as packet N-1. +The application is implemented to illustrate that, so the same approach can be reused in a more complex application. + +The l2fwd_send_packet() function stores the packet in a per-lcore and per-txport table. +If the table is full, the whole packets table is transmitted using the l2fwd_send_burst() function: + +.. code-block:: c + + /* Send the packet on an output interface */ + + static int + l2fwd_send_packet(struct rte_mbuf *m, uint8_t port) + { + unsigned lcore_id, len; + struct lcore_queue_conf \*qconf; + + lcore_id = rte_lcore_id(); + qconf = &lcore_queue_conf[lcore_id]; + len = qconf->tx_mbufs[port].len; + qconf->tx_mbufs[port].m_table[len] = m; + len++; + + /* enough pkts to be sent */ + + if (unlikely(len == MAX_PKT_BURST)) { + l2fwd_send_burst(qconf, MAX_PKT_BURST, port); + len = 0; + } + + qconf->tx_mbufs[port].len = len; return 0; + } + +To ensure that no packets remain in the tables, each lcore does a draining of TX queue in its main loop. +This technique introduces some latency when there are not many packets to send, +however it improves performance: + +.. code-block:: c + + cur_tsc = rte_rdtsc(); + + /* + * TX burst queue drain + */ + + diff_tsc = cur_tsc - prev_tsc; + + if (unlikely(diff_tsc > drain_tsc)) { + for (portid = 0; portid < RTE_MAX_ETHPORTS; portid++) { + if (qconf->tx_mbufs[portid].len == 0) + continue; + + l2fwd_send_burst(&lcore_queue_conf[lcore_id], qconf->tx_mbufs[portid].len, (uint8_t) portid); + + qconf->tx_mbufs[portid].len = 0; + } + + /* if timer is enabled */ + + if (timer_period > 0) { + /* advance the timer */ + + timer_tsc += diff_tsc; + + /* if timer has reached its timeout */ + + if (unlikely(timer_tsc >= (uint64_t) timer_period)) { + /* do this only on master core */ + + if (lcore_id == rte_get_master_lcore()) { + print_stats(); + + /* reset the timer */ + timer_tsc = 0; + } + } + } + + prev_tsc = cur_tsc; + } + +.. |l2_fwd_benchmark_setup| image:: img/l2_fwd_benchmark_setup.svg + +.. |l2_fwd_virtenv_benchmark_setup| image:: img/l2_fwd_virtenv_benchmark_setup.png diff --git a/doc/guides/sample_app_ug/l3_forward.rst b/doc/guides/sample_app_ug/l3_forward.rst new file mode 100644 index 0000000000..9f952faf0d --- /dev/null +++ b/doc/guides/sample_app_ug/l3_forward.rst @@ -0,0 +1,351 @@ +.. 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. + +L3 Forwarding Sample Application +================================ + +The L3 Forwarding application is a simple example of packet processing using the Intel® DPDK. +The application performs L3 forwarding. + +Overview +-------- + +The application demonstrates the use of the hash and LPM libraries in the Intel® DPDK to implement packet forwarding. +The initialization and run-time paths are very similar to those of the L2 forwarding application +(see Chapter 9 "L2 Forwarding Sample Application (in Real and Virtualized Environments)" for more information). +The main difference from the L2 Forwarding sample application is that the forwarding decision +is made based on information read from the input packet. + +The lookup method is either hash-based or LPM-based and is selected at compile time. When the selected lookup method is hash-based, +a hash object is used to emulate the flow classification stage. +The hash object is used in correlation with a flow table to map each input packet to its flow at runtime. + +The hash lookup key is represented by a DiffServ 5-tuple composed of the following fields read from the input packet: +Source IP Address, Destination IP Address, Protocol, Source Port and Destination Port. +The ID of the output interface for the input packet is read from the identified flow table entry. +The set of flows used by the application is statically configured and loaded into the hash at initialization time. +When the selected lookup method is LPM based, an LPM object is used to emulate the forwarding stage for IPv4 packets. +The LPM object is used as the routing table to identify the next hop for each input packet at runtime. + +The LPM lookup key is represented by the Destination IP Address field read from the input packet. +The ID of the output interface for the input packet is the next hop returned by the LPM lookup. +The set of LPM rules used by the application is statically configured and loaded into the LPM object at initialization time. + +In the sample application, hash-based forwarding supports IPv4 and IPv6. LPM-based forwarding supports IPv4 only. + +Compiling the Application +------------------------- + +To compile the application: + +#. Go to the sample application directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk cd ${RTE_SDK}/examples/l3fwd + +#. 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 *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + +#. Build the application: + + .. code-block:: console + + make + +Running the Application +----------------------- + +The application has a number of command line options: + +.. code-block:: console + + ./build/l3fwd [EAL options] -- -p PORTMASK [-P] --config(port,queue,lcore)[,(port,queue,lcore)] [--enable-jumbo [--max-pkt-len PKTLEN]] [--no-numa][--hash-entry-num][--ipv6] + +where, + +* -p PORTMASK: Hexadecimal bitmask of ports to configure + +* -P: optional, sets all ports to promiscuous mode so that packets are accepted regardless of the packet's Ethernet MAC destination address. + Without this option, only packets with the Ethernet MAC destination address set to the Ethernet address of the port are accepted. + +* --config (port,queue,lcore)[,(port,queue,lcore)]: determines which queues from which ports are mapped to which cores + +* --enable-jumbo: optional, enables jumbo frames + +* --max-pkt-len: optional, maximum packet length in decimal (64-9600) + +* --no-numa: optional, disables numa awareness + +* --hash-entry-num: optional, specifies the hash entry number in hexadecimal to be setup + +* --ipv6: optional, set it if running ipv6 packets + +For example, consider a dual processor socket platform where cores 0-7 and 16-23 appear on socket 0, while cores 8-15 and 24-31 appear on socket 1. +Let's say that the programmer wants to use memory from both NUMA nodes, the platform has only two ports, one connected to each NUMA node, +and the programmer wants to use two cores from each processor socket to do the packet processing. + +To enable L3 forwarding between two ports, using two cores, cores 1 and 2, from each processor, +while also taking advantage of local memory access by optimizing around NUMA, the programmer must enable two queues from each port, +pin to the appropriate cores and allocate memory from the appropriate NUMA node. This is achieved using the following command: + +.. code-block:: console + + ./build/l3fwd -c 606 -n 4 -- -p 0x3 --config="(0,0,1),(0,1,2),(1,0,9),(1,1,10)" + +In this command: + +* The -c option enables cores 0, 1, 2, 3 + +* The -p option enables ports 0 and 1 + +* The --config option enables two queues on each port and maps each (port,queue) pair to a specific core. + Logic to enable multiple RX queues using RSS and to allocate memory from the correct NUMA nodes + is included in the application and is done transparently. + The following table shows the mapping in this example: + ++----------+-----------+-----------+-------------------------------------+ +| **Port** | **Queue** | **lcore** | **Description** | +| | | | | ++----------+-----------+-----------+-------------------------------------+ +| 0 | 0 | 0 | Map queue 0 from port 0 to lcore 0. | +| | | | | ++----------+-----------+-----------+-------------------------------------+ +| 0 | 1 | 2 | Map queue 1 from port 0 to lcore 2. | +| | | | | ++----------+-----------+-----------+-------------------------------------+ +| 1 | 0 | 1 | Map queue 0 from port 1 to lcore 1. | +| | | | | ++----------+-----------+-----------+-------------------------------------+ +| 1 | 1 | 3 | Map queue 1 from port 1 to lcore 3. | +| | | | | ++----------+-----------+-----------+-------------------------------------+ + +Refer to the *Intel® DPDK Getting Started Guide* for general information on running applications and +the Environment Abstraction Layer (EAL) options. + +Explanation +----------- + +The following sections provide some explanation of the sample application code. As mentioned in the overview section, +the initialization and run-time paths are very similar to those of the L2 forwarding application +(see Chapter 9 "L2 Forwarding Sample Application (in Real and Virtualized Environments)" for more information). +The following sections describe aspects that are specific to the L3 Forwarding sample application. + +Hash Initialization +~~~~~~~~~~~~~~~~~~~ + +The hash object is created and loaded with the pre-configured entries read from a global array, +and then generate the expected 5-tuple as key to keep consistence with those of real flow +for the convenience to execute hash performance test on 4M/8M/16M flows. + +.. note:: + + The Hash initialization will setup both ipv4 and ipv6 hash table, + and populate the either table depending on the value of variable ipv6. + To support the hash performance test with up to 8M single direction flows/16M bi-direction flows, + populate_ipv4_many_flow_into_table() function will populate the hash table with specified hash table entry number(default 4M). + +.. note:: + + Value of global variable ipv6 can be specified with --ipv6 in the command line. + Value of global variable hash_entry_number, + which is used to specify the total hash entry number for all used ports in hash performance test, + can be specified with --hash-entry-num VALUE in command line, being its default value 4. + +.. code-block:: c + + #if (APP_LOOKUP_METHOD == APP_LOOKUP_EXACT_MATCH) + + static void + setup_hash(int socketid) + { + // ... + + if (hash_entry_number != HASH_ENTRY_NUMBER_DEFAULT) { + if (ipv6 == 0) { + /* populate the ipv4 hash */ + populate_ipv4_many_flow_into_table(ipv4_l3fwd_lookup_struct[socketid], hash_entry_number); + } else { + /* populate the ipv6 hash */ + populate_ipv6_many_flow_into_table( ipv6_l3fwd_lookup_struct[socketid], hash_entry_number); + } + } else + if (ipv6 == 0) { + /* populate the ipv4 hash */ + populate_ipv4_few_flow_into_table(ipv4_l3fwd_lookup_struct[socketid]); + } else { + /* populate the ipv6 hash */ + populate_ipv6_few_flow_into_table(ipv6_l3fwd_lookup_struct[socketid]); + } + } + } + #endif + +LPM Initialization +~~~~~~~~~~~~~~~~~~ + +The LPM object is created and loaded with the pre-configured entries read from a global array. + +.. code-block:: c + + #if (APP_LOOKUP_METHOD == APP_LOOKUP_LPM) + + static void + setup_lpm(int socketid) + { + unsigned i; + int ret; + char s[64]; + + /* create the LPM table */ + + rte_snprintf(s, sizeof(s), "IPV4_L3FWD_LPM_%d", socketid); + + ipv4_l3fwd_lookup_struct[socketid] = rte_lpm_create(s, socketid, IPV4_L3FWD_LPM_MAX_RULES, 0); + + if (ipv4_l3fwd_lookup_struct[socketid] == NULL) + rte_exit(EXIT_FAILURE, "Unable to create the l3fwd LPM table" + " on socket %d\n", socketid); + + /* populate the LPM table */ + + for (i = 0; i < IPV4_L3FWD_NUM_ROUTES; i++) { + /* skip unused ports */ + + if ((1 << ipv4_l3fwd_route_array[i].if_out & enabled_port_mask) == 0) + continue; + + ret = rte_lpm_add(ipv4_l3fwd_lookup_struct[socketid], ipv4_l3fwd_route_array[i].ip, + ipv4_l3fwd_route_array[i].depth, ipv4_l3fwd_route_array[i].if_out); + + if (ret < 0) { + rte_exit(EXIT_FAILURE, "Unable to add entry %u to the " + "l3fwd LPM table on socket %d\n", i, socketid); + } + + printf("LPM: Adding route 0x%08x / %d (%d)\n", + (unsigned)ipv4_l3fwd_route_array[i].ip, ipv4_l3fwd_route_array[i].depth, ipv4_l3fwd_route_array[i].if_out); + } + } + #endif + +Packet Forwarding for Hash-based Lookups +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +For each input packet, the packet forwarding operation is done by the l3fwd_simple_forward() +or simple_ipv4_fwd_4pkts() function for IPv4 packets or the simple_ipv6_fwd_4pkts() function for IPv6 packets. +The l3fwd_simple_forward() function provides the basic functionality for both IPv4 and IPv6 packet forwarding +for any number of burst packets received, +and the packet forwarding decision (that is, the identification of the output interface for the packet) +for hash-based lookups is done by the get_ipv4_dst_port() or get_ipv6_dst_port() function. +The get_ipv4_dst_port() function is shown below: + +.. code-block:: c + + static inline uint8_t + get_ipv4_dst_port(void *ipv4_hdr, uint8_t portid, lookup_struct_t *ipv4_l3fwd_lookup_struct) + { + int ret = 0; + union ipv4_5tuple_host key; + + ipv4_hdr = (uint8_t \*)ipv4_hdr + offsetof(struct ipv4_hdr, time_to_live); + + m128i data = _mm_loadu_si128(( m128i*)(ipv4_hdr)); + + /* Get 5 tuple: dst port, src port, dst IP address, src IP address and protocol */ + + key.xmm = _mm_and_si128(data, mask0); + + /* Find destination port */ + + ret = rte_hash_lookup(ipv4_l3fwd_lookup_struct, (const void *)&key); + + return (uint8_t)((ret < 0)? portid : ipv4_l3fwd_out_if[ret]); + } + +The get_ipv6_dst_port() function is similar to the get_ipv4_dst_port() function. + +The simple_ipv4_fwd_4pkts() and simple_ipv6_fwd_4pkts() function are optimized for continuous 4 valid ipv4 and ipv6 packets, +they leverage the multiple buffer optimization to boost the performance of forwarding packets with the exact match on hash table. +The key code snippet of simple_ipv4_fwd_4pkts() is shown below: + +.. code-block:: c + + static inline void + simple_ipv4_fwd_4pkts(struct rte_mbuf* m[4], uint8_t portid, struct lcore_conf *qconf) + { + // ... + + data[0] = _mm_loadu_si128(( m128i*)(rte_pktmbuf_mtod(m[0], unsigned char *) + sizeof(struct ether_hdr) + offsetof(struct ipv4_hdr, time_to_live))); + data[1] = _mm_loadu_si128(( m128i*)(rte_pktmbuf_mtod(m[1], unsigned char *) + sizeof(struct ether_hdr) + offsetof(struct ipv4_hdr, time_to_live))); + data[2] = _mm_loadu_si128(( m128i*)(rte_pktmbuf_mtod(m[2], unsigned char *) + sizeof(struct ether_hdr) + offsetof(struct ipv4_hdr, time_to_live))); + data[3] = _mm_loadu_si128(( m128i*)(rte_pktmbuf_mtod(m[3], unsigned char *) + sizeof(struct ether_hdr) + offsetof(struct ipv4_hdr, time_to_live))); + + key[0].xmm = _mm_and_si128(data[0], mask0); + key[1].xmm = _mm_and_si128(data[1], mask0); + key[2].xmm = _mm_and_si128(data[2], mask0); + key[3].xmm = _mm_and_si128(data[3], mask0); + + const void *key_array[4] = {&key[0], &key[1], &key[2],&key[3]}; + + rte_hash_lookup_multi(qconf->ipv4_lookup_struct, &key_array[0], 4, ret); + + dst_port[0] = (ret[0] < 0)? portid:ipv4_l3fwd_out_if[ret[0]]; + dst_port[1] = (ret[1] < 0)? portid:ipv4_l3fwd_out_if[ret[1]]; + dst_port[2] = (ret[2] < 0)? portid:ipv4_l3fwd_out_if[ret[2]]; + dst_port[3] = (ret[3] < 0)? portid:ipv4_l3fwd_out_if[ret[3]]; + + // ... + } + +The simple_ipv6_fwd_4pkts() function is similar to the simple_ipv4_fwd_4pkts() function. + +Packet Forwarding for LPM-based Lookups +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +For each input packet, the packet forwarding operation is done by the l3fwd_simple_forward() function, +but the packet forwarding decision (that is, the identification of the output interface for the packet) +for LPM-based lookups is done by the get_ipv4_dst_port() function below: + +.. code-block:: c + + static inline uint8_t + get_ipv4_dst_port(struct ipv4_hdr *ipv4_hdr, uint8_t portid, lookup_struct_t *ipv4_l3fwd_lookup_struct) + { + uint8_t next_hop; + + return (uint8_t) ((rte_lpm_lookup(ipv4_l3fwd_lookup_struct, rte_be_to_cpu_32(ipv4_hdr->dst_addr), &next_hop) == 0)? next_hop : portid); + } diff --git a/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst new file mode 100644 index 0000000000..bc66f74c58 --- /dev/null +++ b/doc/guides/sample_app_ug/l3_forward_access_ctrl.rst @@ -0,0 +1,403 @@ +.. 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. + +L3 Forwarding with Access Control Sample Application +==================================================== + +The L3 Forwarding with Access Control application is a simple example of packet processing using the Intel® DPDK. +The application performs a security check on received packets. +Packets that are in the Access Control List (ACL), which is loaded during initialization, are dropped. +Others are forwarded to the correct port. + +Overview +-------- + +The application demonstrates the use of the ACL library in the Intel® DPDK to implement access control +and packet L3 forwarding. +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 + +When packets are received from a port, +the application extracts the necessary information from the TCP/IP header of the received packet and +performs a lookup in the rule database to figure out whether the packets should be dropped (in the ACL range) +or forwarded to desired ports. +The initialization and run-time paths are similar to those of the L3 forwarding application +(see Chapter 10, "L3 Forwarding Sample Application" for more information). +However, there are significant differences in the two applications. +For example, the original L3 forwarding application uses either LPM or +an exact match algorithm to perform forwarding port lookup, +while this application uses the ACL library to perform both ACL and route entry lookup. +The following sections provide more detail. + +Classification for both IPv4 and IPv6 packets is supported in this application. +The application also assumes that all the packets it processes are TCP/UDP packets and +always extracts source/destination port information from the packets. + +Tuple Packet Syntax +~~~~~~~~~~~~~~~~~~~ + +The application implements packet classification for the IPv4/IPv6 5-tuple syntax specifically. +The 5-tuple syntax consist of a source IP address, a destination IP address, +a source port, a destination port and a protocol identifier. +The fields in the 5-tuple syntax have the following formats: + +* **Source IP address and destination IP address** + : Each is either a 32-bit field (for IPv4), or a set of 4 32-bit fields (for IPv6) represented by a value and a mask length. + For example, an IPv4 range of 192.168.1.0 to 192.168.1.255 could be represented by a value = [192, 168, 1, 0] and a mask length = 24. + +* **Source port and destination port** + : Each is a 16-bit field, represented by a lower start and a higher end. + For example, a range of ports 0 to 8192 could be represented by lower = 0 and higher = 8192. + +* **Protocol identifier** + : An 8-bit field, represented by a value and a mask, that covers a range of values. + To verify that a value is in the range, use the following expression: "(VAL & mask) == value" + +The trick in how to represent a range with a mask and value is as follows. +A range can be enumerated in binary numbers with some bits that are never changed and some bits that are dynamically changed. +Set those bits that dynamically changed in mask and value with 0. +Set those bits that never changed in the mask with 1, in value with number expected. +For example, a range of 6 to 7 is enumerated as 0b110 and 0b111. +Bit 1-7 are bits never changed and bit 0 is the bit dynamically changed. +Therefore, set bit 0 in mask and value with 0, set bits 1-7 in mask with 1, and bits 1-7 in value with number 0b11. +So, mask is 0xfe, value is 0x6. + +.. note:: + + The library assumes that each field in the rule is in LSB or Little Endian order when creating the database. + It internally converts them to MSB or Big Endian order. + When performing a lookup, the library assumes the input is in MSB or Big Endian order. + +Access Rule Syntax +~~~~~~~~~~~~~~~~~~ + +In this sample application, each rule is a combination of the following: + +* 5-tuple field: This field has a format described in Section. + +* priority field: A weight to measure the priority of the rules. + The rule with the higher priority will ALWAYS be returned if the specific input has multiple matches in the rule database. + Rules with lower priority will NEVER be returned in any cases. + +* userdata field: A user-defined field that could be any value. + It can be the forwarding port number if the rule is a route table entry or it can be a pointer to a mapping address + if the rule is used for address mapping in the NAT application. + The key point is that it is a useful reserved field for user convenience. + +ACL and Route Rules +~~~~~~~~~~~~~~~~~~~ + +The application needs to acquire ACL and route rules before it runs. +Route rules are mandatory, while ACL rules are optional. +To simplify the complexity of the priority field for each rule, all ACL and route entries are assumed to be in the same file. +To read data from the specified file successfully, the application assumes the following: + +* Each rule occupies a single line. + +* Only the following four rule line types are valid in this application: + +* ACL rule line, which starts with a leading character '@' + +* Route rule line, which starts with a leading character 'R' + +* Comment line, which starts with a leading character '#' + +* Empty line, which consists of a space, form-feed ('\f'), newline ('\n'), + carriage return ('\r'), horizontal tab ('\t'), or vertical tab ('\v'). + +Other lines types are considered invalid. + +* Rules are organized in descending order of priority, + which means rules at the head of the file always have a higher priority than those further down in the file. + +* A typical IPv4 ACL rule line should have a format as shown below: + +.. image6_png has been renamed + +|ipv4_acl_rule| + +IPv4 addresses are specified in CIDR format as specified in RFC 4632. +They consist of the dot notation for the address and a prefix length separated by '/'. +For example, 192.168.0.34/32, where the address is 192.168.0.34 and the prefix length is 32. + +Ports are specified as a range of 16-bit numbers in the format MIN:MAX, +where MIN and MAX are the inclusive minimum and maximum values of the range. +The range 0:65535 represents all possible ports in a range. +When MIN and MAX are the same value, a single port is represented, for example, 20:20. + +The protocol identifier is an 8-bit value and a mask separated by '/'. +For example: 6/0xfe matches protocol values 6 and 7. + +* Route rules start with a leading character 'R' and have the same format as ACL rules except an extra field at the tail + that indicates the forwarding port number. + +Rules File Example +~~~~~~~~~~~~~~~~~~ + +.. _figure_5_1: + +Figure 5 is an example of a rules file. This file has three rules, one for ACL and two for route information. + +**Figure 5.Example Rules File** + +.. image7_png has been renamed + +|example_rules| + +Each rule is explained as follows: + +* Rule 1 (the first line) tells the application to drop those packets with source IP address = [1.2.3.*], + destination IP address = [192.168.0.36], protocol = [6]/[7] + +* Rule 2 (the second line) is similar to Rule 1, except the source IP address is ignored. + It tells the application to forward packets with destination IP address = [192.168.0.36], + protocol = [6]/[7], destined to port 1. + +* Rule 3 (the third line) tells the application to forward all packets to port 0. + This is something like a default route entry. + +As described earlier, the application assume rules are listed in descending order of priority, +therefore Rule 1 has the highest priority, then Rule 2, and finally, +Rule 3 has the lowest priority. + +Consider the arrival of the following three packets: + +* Packet 1 has source IP address = [1.2.3.4], destination IP address = [192.168.0.36], and protocol = [6] + +* Packet 2 has source IP address = [1.2.4.4], destination IP address = [192.168.0.36], and protocol = [6] + +* Packet 3 has source IP address = [1.2.3.4], destination IP address = [192.168.0.36], and protocol = [8] + +Observe that: + +* Packet 1 matches all of the rules + +* Packet 2 matches Rule 2 and Rule 3 + +* Packet 3 only matches Rule 3 + +For priority reasons, Packet 1 matches Rule 1 and is dropped. +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/). + +Application Phases +~~~~~~~~~~~~~~~~~~ + +Once the application starts, it transitions through three phases: + +* **Initialization Phase** + - Perform the following tasks: + +* Parse command parameters. Check the validity of rule file(s) name(s), number of logical cores, receive and transmit queues. + Bind ports, queues and logical cores. Check ACL search options, and so on. + +* Call Environmental Abstraction Layer (EAL) and Poll Mode Driver (PMD) functions to initialize the environment and detect possible NICs. + The EAL creates several threads and sets affinity to a specific hardware thread CPU based on the configuration specified + by the command line arguments. + +* Read the rule files and format the rules into the representation that the ACL library can recognize. + Call the ACL library function to add the rules into the database and compile them as a trie of pattern sets. + Note that application maintains a separate AC contexts for IPv4 and IPv6 rules. + +* **Runtime Phase** + - Process the incoming packets from a port. Packets are processed in three steps: + + * Retrieval: Gets a packet from the receive queue. Each logical core may process several queues for different ports. + This depends on the configuration specified by command line arguments. + + * Lookup: Checks that the packet type is supported (IPv4/IPv6) and performs a 5-tuple lookup over corresponding AC context. + If an ACL rule is matched, the packets will be dropped and return back to step 1. + If a route rule is matched, it indicates the packet is not in the ACL list and should be forwarded. + If there is no matches for the packet, then the packet is dropped. + + * Forwarding: Forwards the packet to the corresponding port. + +* **Final Phase** - Perform the following tasks: + + Calls the EAL, PMD driver and ACL library to free resource, then quits. + +Compiling the Application +------------------------- + +To compile the application: + +#. 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 *Intel® DPDK IPL Getting Started Guide* for possible RTE_TARGET values. + +#. Build the application: + + .. code-block:: console + + make + +Running the Application +----------------------- + +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] + + +where, + +* -p PORTMASK: Hexadecimal bitmask of ports to configure + +* -P: Sets all ports to promiscuous mode so that packets are accepted regardless of the packet's Ethernet MAC destination address. + Without this option, only packets with the Ethernet MAC destination address set to the Ethernet address of the port are accepted. + +* --config (port,queue,lcore)[,(port,queue,lcore)]: determines which queues from which ports are mapped to which cores + +* --rule_ipv4 FILENAME: Specifies the IPv4 ACL and route rules file + +* --rule_ipv6 FILENAME: Specifies the IPv6 ACL and route rules file + +* --scalar: Use a scalar function to perform rule lookup + +* --enable-jumbo: optional, enables jumbo frames + +* --max-pkt-len: optional, maximum packet length in decimal (64-9600) + +* --no-numa: optional, disables numa awareness + +As an example, consider a dual processor socket platform where cores 0, 2, 4, 6, 8 and 10 appear on socket 0, +while cores 1, 3, 5, 7, 9 and 11 appear on socket 1. +Let's say that the user wants to use memory from both NUMA nodes, +the platform has only two ports and the user wants to use two cores from each processor socket to do the packet processing. + +To enable L3 forwarding between two ports, using two cores from each processor, +while also taking advantage of local memory access by optimizing around NUMA, +the user must enable two queues from each port, +pin to the appropriate cores and allocate memory from the appropriate NUMA node. +This is achieved using the following command: + +.. code-block:: console + + ./build/l3fwd-acl -c f -n 4 -- -p 0x3 --config="(0,0,0),(0,1,2),(1,0,1),(1,1,3)" --rule_ipv4="./rule_ipv4.db" -- rule_ipv6="./rule_ipv6.db" --scalar + +In this command: + +* The -c option enables cores 0, 1, 2, 3 + +* The -p option enables ports 0 and 1 + +* The --config option enables two queues on each port and maps each (port,queue) pair to a specific core. + Logic to enable multiple RX queues using RSS and to allocate memory from the correct NUMA nodes is included in the application + and is done transparently. + The following table shows the mapping in this example: + + +----------+------------+-----------+------------------------------------------------+ + | **Port** | **Queue** | **lcore** | **Description** | + | | | | | + +==========+============+===========+================================================+ + | 0 | 0 | 0 | Map queue 0 from port 0 to lcore 0. | + | | | | | + +----------+------------+-----------+------------------------------------------------+ + | 0 | 1 | 2 | Map queue 1 from port 0 to lcore 2. | + | | | | | + +----------+------------+-----------+------------------------------------------------+ + | 1 | 0 | 1 | Map queue 0 from port 1 to lcore 1. | + | | | | | + +----------+------------+-----------+------------------------------------------------+ + | 1 | 1 | 3 | Map queue 1 from port 1 to lcore 3. | + | | | | | + +----------+------------+-----------+------------------------------------------------+ + +* 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 --scalar option specifies the performing of rule lookup with a scalar function. + +Explanation +----------- + +The following sections provide some explanation of the sample application code. +The aspects of port, device and CPU configuration are similar to those of the L3 forwarding application +(see Chapter 10, "L3 Forwarding Sample Application" for more information). +The following sections describe aspects that are specific to L3 forwarding with access control. + +Parse Rules from File +~~~~~~~~~~~~~~~~~~~~~ + +As described earlier, both ACL and route rules are assumed to be saved in the same file. +The application parses the rules from the file and adds them to the database by calling the ACL library function. +It ignores empty and comment lines, and parses and validates the rules it reads. +If errors are detected, the application exits with messages to identify the errors encountered. + +The application needs to consider the userdata and priority fields. +The ACL rules save the index to the specific rules in the userdata field, +while route rules save the forwarding port number. +In order to differentiate the two types of rules, ACL rules add a signature in the userdata field. +As for the priority field, the application assumes rules are organized in descending order of priority. +Therefore, the code only decreases the priority number with each rule it parses. + +Setting Up the ACL Context +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +For each supported AC rule format (IPv4 5-tuple, IPv6 6-tuple) application creates a separate context handler +from the ACL library for each CPU socket on the board and adds parsed rules into that context. + +Note, that for each supported rule type, +application needs to calculate the expected offset of the fields from the start of the packet. +That's why only packets with fixed IPv4/ IPv6 header are supported. +That allows to perform ACL classify straight over incoming packet buffer - +no extra protocol field retrieval need to be performed. + +Subsequently, the application checks whether NUMA is enabled. +If it is, the application records the socket IDs of the CPU cores involved in the task. + +Finally, the application creates contexts handler from the ACL library, +adds rules parsed from the file into the database and build an ACL trie. +It is important to note that the application creates an independent copy of each database for each socket CPU +involved in the task to reduce the time for remote memory access. + +.. |ipv4_acl_rule| image:: img/ipv4_acl_rule.png + +.. |example_rules| image:: img/example_rules.png diff --git a/doc/guides/sample_app_ug/l3_forward_power_man.rst b/doc/guides/sample_app_ug/l3_forward_power_man.rst new file mode 100644 index 0000000000..f02c3480de --- /dev/null +++ b/doc/guides/sample_app_ug/l3_forward_power_man.rst @@ -0,0 +1,410 @@ +.. 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. + +L3 Forwarding with Power Management Sample Application +====================================================== + +Introduction +------------ + +The L3 Forwarding with Power Management application is an example of power-aware packet processing using the Intel® DPDK. +The application is based on existing L3 Forwarding sample application, +with the power management algorithms to control the P-states and +C-states of the Intel processor via a power management library. + +Overview +-------- + +The application demonstrates the use of the Power libraries in the Intel® DPDK to implement packet forwarding. +The initialization and run-time paths are very similar to those of the L3 forwarding sample application +(see Chapter 10 "L3 Forwarding Sample Application" for more information). +The main difference from the L3 Forwarding sample application is that this application introduces power-aware optimization algorithms +by leveraging the Power library to control P-state and C-state of processor based on packet load. + +The Intel® DPDK includes poll-mode drivers to configure Intel NIC devices and their receive (Rx) and transmit (Tx) queues. +The design principle of this PMD is to access the Rx and Tx descriptors directly without any interrupts to quickly receive, +process and deliver packets in the user space. + +In general, the Intel® DPDK executes an endless packet processing loop on dedicated IA cores that include the following steps: + +* Retrieve input packets through the PMD to poll Rx queue + +* Process each received packet or provide received packets to other processing cores through software queues + +* Send pending output packets to Tx queue through the PMD + +In this way, the PMD achieves better performance than a traditional interrupt-mode driver, +at the cost of keeping cores active and running at the highest frequency, +hence consuming the maximum power all the time. +However, during the period of processing light network traffic, +which happens regularly in communication infrastructure systems due to well-known "tidal effect", +the PMD is still busy waiting for network packets, which wastes a lot of power. + +Processor performance states (P-states) are the capability of an Intel processor +to switch between different supported operating frequencies and voltages. +If configured correctly, according to system workload, this feature provides power savings. +CPUFreq is the infrastructure provided by the Linux* kernel to control the processor performance state capability. +CPUFreq supports a user space governor that enables setting frequency via manipulating the virtual file device from a user space application. +The Power library in the Intel® DPDK provides a set of APIs for manipulating a virtual file device to allow user space application +to set the CPUFreq governor and set the frequency of specific cores. + +This application includes a P-state power management algorithm to generate a frequency hint to be sent to CPUFreq. +The algorithm uses the number of received and available Rx packets on recent polls to make a heuristic decision to scale frequency up/down. +Specifically, some thresholds are checked to see whether a specific core running an Intel® DPDK polling thread needs to increase frequency +a step up based on the near to full trend of polled Rx queues. +Also, it decreases frequency a step if packet processed per loop is far less than the expected threshold +or the thread's sleeping time exceeds a threshold. + +C-States are also known as sleep states. +They allow software to put an Intel core into a low power idle state from which it is possible to exit via an event, such as an interrupt. +However, there is a tradeoff between the power consumed in the idle state and the time required to wake up from the idle state (exit latency). +Therefore, as you go into deeper C-states, the power consumed is lower but the exit latency is increased. Each C-state has a target residency. +It is essential that when entering into a C-state, the core remains in this C-state for at least as long as the target residency in order +to fully realize the benefits of entering the C-state. +CPUIdle is the infrastructure provide by the Linux kernel to control the processor C-state capability. +Unlike CPUFreq, CPUIdle does not provide a mechanism that allows the application to change C-state. +It actually has its own heuristic algorithms in kernel space to select target C-state to enter by executing privileged instructions like HLT and MWAIT, +based on the speculative sleep duration of the core. +In this application, we introduce a heuristic algorithm that allows packet processing cores to sleep for a short period +if there is no Rx packet received on recent polls. +In this way, CPUIdle automatically forces the corresponding cores to enter deeper C-states +instead of always running to the C0 state waiting for packets. + +.. note:: + + To fully demonstrate the power saving capability of using C-states, + it is recommended to enable deeper C3 and C6 states in the BIOS during system boot up. + +Compiling the Application +------------------------- + +To compile the application: + +#. Go to the sample application directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk cd ${RTE_SDK}/examples/l3fwd-power + +#. 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 *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + +#. Build the application: + + .. code-block:: console + + make + +Running the Application +----------------------- + +The application has a number of command line options: + +.. code-block:: console + + ./build/l3fwd_power [EAL options] -- -p PORTMASK [-P] --config(port,queue,lcore)[,(port,queue,lcore)] [--enable-jumbo [--max-pkt-len PKTLEN]] [--no-numa] + +where, + +* -p PORTMASK: Hexadecimal bitmask of ports to configure + +* -P: Sets all ports to promiscuous mode so that packets are accepted regardless of the packet's Ethernet MAC destination address. + Without this option, only packets with the Ethernet MAC destination address set to the Ethernet address of the port are accepted. + +* --config (port,queue,lcore)[,(port,queue,lcore)]: determines which queues from which ports are mapped to which cores. + +* --enable-jumbo: optional, enables jumbo frames + +* --max-pkt-len: optional, maximum packet length in decimal (64-9600) + +* --no-numa: optional, disables numa awareness + +See Chapter 10 "L3 Forwarding Sample Application" for details. +The L3fwd-power example reuses the L3fwd command line options. + +Explanation +----------- + +The following sections provide some explanation of the sample application code. +As mentioned in the overview section, +the initialization and run-time paths are identical to those of the L3 forwarding application. +The following sections describe aspects that are specific to the L3 Forwarding with Power Management sample application. + +Power Library Initialization +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The Power library is initialized in the MAIN routine. +It changes the P-state governor to userspace for specific cores that are under control. +The Timer library is also initialized and several timers are created later on, +responsible for checking if it needs to scale down frequency at run time by checking CPU utilization statistics. + +.. note:: + + Only the power management related initialization is shown. + +.. code-block:: c + + int MAIN(int argc, char **argv) + { + struct lcore_conf *qconf; + int ret; + unsigned nb_ports; + uint16_t queueid; + unsigned lcore_id; + uint64_t hz; + uint32_t n_tx_queue, nb_lcores; + uint8_t portid, nb_rx_queue, queue, socketid; + + // ... + + /* init RTE timer library to be used to initialize per-core timers */ + + rte_timer_subsystem_init(); + + // ... + + + /* per-core initialization */ + + for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++) { + if (rte_lcore_is_enabled(lcore_id) == 0) + continue; + + /* init power management library for a specified core */ + + ret = rte_power_init(lcore_id); + if (ret) + rte_exit(EXIT_FAILURE, "Power management library " + "initialization failed on core%d\n", lcore_id); + + /* init timer structures for each enabled lcore */ + + rte_timer_init(&power_timers[lcore_id]); + + hz = rte_get_hpet_hz(); + + rte_timer_reset(&power_timers[lcore_id], hz/TIMER_NUMBER_PER_SECOND, SINGLE, lcore_id, power_timer_cb, NULL); + + // ... + } + + // ... + } + +Monitoring Loads of Rx Queues +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In general, the polling nature of the Intel® DPDK prevents the OS power management subsystem from knowing +if the network load is actually heavy or light. +In this sample, sampling network load work is done by monitoring received and +available descriptors on NIC Rx queues in recent polls. +Based on the number of returned and available Rx descriptors, +this example implements algorithms to generate frequency scaling hints and speculative sleep duration, +and use them to control P-state and C-state of processors via the power management library. +Frequency (P-state) control and sleep state (C-state) control work individually for each logical core, +and the combination of them contributes to a power efficient packet processing solution when serving light network loads. + +The rte_eth_rx_burst() function and the newly-added rte_eth_rx_queue_count() function are used in the endless packet processing loop +to return the number of received and available Rx descriptors. +And those numbers of specific queue are passed to P-state and C-state heuristic algorithms +to generate hints based on recent network load trends. + +.. note:: + + Only power control related code is shown. + +.. code-block:: c + + static + attribute ((noreturn)) int main_loop( attribute ((unused)) void *dummy) + { + // ... + + while (1) { + // ... + + /** + * Read packet from RX queues + */ + + lcore_scaleup_hint = FREQ_CURRENT; + lcore_rx_idle_count = 0; + + for (i = 0; i < qconf->n_rx_queue; ++i) + { + rx_queue = &(qconf->rx_queue_list[i]); + rx_queue->idle_hint = 0; + portid = rx_queue->port_id; + queueid = rx_queue->queue_id; + + nb_rx = rte_eth_rx_burst(portid, queueid, pkts_burst, MAX_PKT_BURST); + stats[lcore_id].nb_rx_processed += nb_rx; + + if (unlikely(nb_rx == 0)) { + /** + * no packet received from rx queue, try to + * sleep for a while forcing CPU enter deeper + * C states. + */ + + rx_queue->zero_rx_packet_count++; + + if (rx_queue->zero_rx_packet_count <= MIN_ZERO_POLL_COUNT) + continue; + + rx_queue->idle_hint = power_idle_heuristic(rx_queue->zero_rx_packet_count); + lcore_rx_idle_count++; + } else { + rx_ring_length = rte_eth_rx_queue_count(portid, queueid); + + rx_queue->zero_rx_packet_count = 0; + + /** + * do not scale up frequency immediately as + * user to kernel space communication is costly + * which might impact packet I/O for received + * packets. + */ + + rx_queue->freq_up_hint = power_freq_scaleup_heuristic(lcore_id, rx_ring_length); + } + + /* Prefetch and forward packets */ + + // ... + } + + if (likely(lcore_rx_idle_count != qconf->n_rx_queue)) { + for (i = 1, lcore_scaleup_hint = qconf->rx_queue_list[0].freq_up_hint; i < qconf->n_rx_queue; ++i) { + x_queue = &(qconf->rx_queue_list[i]); + + if (rx_queue->freq_up_hint > lcore_scaleup_hint) + + lcore_scaleup_hint = rx_queue->freq_up_hint; + } + + if (lcore_scaleup_hint == FREQ_HIGHEST) + + rte_power_freq_max(lcore_id); + + else if (lcore_scaleup_hint == FREQ_HIGHER) + rte_power_freq_up(lcore_id); + } else { + /** + * All Rx queues empty in recent consecutive polls, + * sleep in a conservative manner, meaning sleep as + * less as possible. + */ + + for (i = 1, lcore_idle_hint = qconf->rx_queue_list[0].idle_hint; i < qconf->n_rx_queue; ++i) { + rx_queue = &(qconf->rx_queue_list[i]); + if (rx_queue->idle_hint < lcore_idle_hint) + lcore_idle_hint = rx_queue->idle_hint; + } + + if ( lcore_idle_hint < SLEEP_GEAR1_THRESHOLD) + /** + * execute "pause" instruction to avoid context + * switch for short sleep. + */ + rte_delay_us(lcore_idle_hint); + else + /* long sleep force runing thread to suspend */ + usleep(lcore_idle_hint); + + stats[lcore_id].sleep_time += lcore_idle_hint; + } + } + } + +P-State Heuristic Algorithm +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The power_freq_scaleup_heuristic() function is responsible for generating a frequency hint for the specified logical core +according to available descriptor number returned from rte_eth_rx_queue_count(). +On every poll for new packets, the length of available descriptor on an Rx queue is evaluated, +and the algorithm used for frequency hinting is as follows: + +* If the size of available descriptors exceeds 96, the maximum frequency is hinted. + +* If the size of available descriptors exceeds 64, a trend counter is incremented by 100. + +* If the length of the ring exceeds 32, the trend counter is incremented by 1. + +* When the trend counter reached 10000 the frequency hint is changed to the next higher frequency. + +.. note:: + + The assumption is that the Rx queue size is 128 and the thresholds specified above + must be adjusted accordingly based on actual hardware Rx queue size, + which are configured via the rte_eth_rx_queue_setup() function. + +In general, a thread needs to poll packets from multiple Rx queues. +Most likely, different queue have different load, so they would return different frequency hints. +The algorithm evaluates all the hints and then scales up frequency in an aggressive manner +by scaling up to highest frequency as long as one Rx queue requires. +In this way, we can minimize any negative performance impact. + +On the other hand, frequency scaling down is controlled in the timer callback function. +Specifically, if the sleep times of a logical core indicate that it is sleeping more than 25% of the sampling period, +or if the average packet per iteration is less than expectation, the frequency is decreased by one step. + +C-State Heuristic Algorithm +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Whenever recent rte_eth_rx_burst() polls return 5 consecutive zero packets, +an idle counter begins incrementing for each successive zero poll. +At the same time, the function power_idle_heuristic() is called to generate speculative sleep duration +in order to force logical to enter deeper sleeping C-state. +There is no way to control C- state directly, and the CPUIdle subsystem in OS is intelligent enough +to select C-state to enter based on actual sleep period time of giving logical core. +The algorithm has the following sleeping behavior depending on the idle counter: + +* If idle count less than 100, the counter value is used as a microsecond sleep value through rte_delay_us() + which execute pause instructions to avoid costly context switch but saving power at the same time. + +* If idle count is between 100 and 999, a fixed sleep interval of 100 μs is used. + A 100 μs sleep interval allows the core to enter the C1 state while keeping a fast response time in case new traffic arrives. + +* If idle count is greater than 1000, a fixed sleep value of 1 ms is used until the next timer expiration is used. + This allows the core to enter the C3/C6 states. + +.. note:: + + The thresholds specified above need to be adjusted for different Intel processors and traffic profiles. + +If a thread polls multiple Rx queues and different queue returns different sleep duration values, +the algorithm controls the sleep time in a conservative manner by sleeping for the least possible time +in order to avoid a potential performance impact. diff --git a/doc/guides/sample_app_ug/l3_forward_virtual.rst b/doc/guides/sample_app_ug/l3_forward_virtual.rst new file mode 100644 index 0000000000..115af2cac2 --- /dev/null +++ b/doc/guides/sample_app_ug/l3_forward_virtual.rst @@ -0,0 +1,158 @@ +.. 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. + +L3 Forwarding in a Virtualization Environment Sample Application +================================================================ + +The L3 Forwarding in a Virtualization Environment sample application is a simple example of packet processing using the Intel® DPDK. +The application performs L3 forwarding that takes advantage of Single Root I/O Virtualization (SR-IOV) features +in a virtualized environment. + +Overview +-------- + +The application demonstrates the use of the hash and LPM libraries in the Intel® DPDK to implement packet forwarding. +The initialization and run-time paths are very similar to those of the L3 forwarding application +(see Chapter 10 "L3 Forwarding Sample Application" for more information). +The forwarding decision is taken based on information read from the input packet. + +The lookup method is either hash-based or LPM-based and is selected at compile time. +When the selected lookup method is hash-based, a hash object is used to emulate the flow classification stage. +The hash object is used in correlation with the flow table to map each input packet to its flow at runtime. + +The hash lookup key is represented by the DiffServ 5-tuple composed of the following fields read from the input packet: +Source IP Address, Destination IP Address, Protocol, Source Port and Destination Port. +The ID of the output interface for the input packet is read from the identified flow table entry. +The set of flows used by the application is statically configured and loaded into the hash at initialization time. +When the selected lookup method is LPM based, an LPM object is used to emulate the forwarding stage for IPv4 packets. +The LPM object is used as the routing table to identify the next hop for each input packet at runtime. + +The LPM lookup key is represented by the Destination IP Address field read from the input packet. +The ID of the output interface for the input packet is the next hop returned by the LPM lookup. +The set of LPM rules used by the application is statically configured and loaded into the LPM object at the initialization time. + +.. note:: + + Please refer to Section 9.1.1 "Virtual Function Setup Instructions" for virtualized test case setup. + +Compiling the Application +------------------------- + +To compile the application: + +#. Go to the sample application directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk + cd ${RTE_SDK}/examples/l3fwd-vf + +#. 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 *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + +#. Build the application: + + .. code-block:: console + + make + +.. note:: + + The compiled application is written to the build subdirectory. + To have the application written to a different location, + the O=/path/to/build/directory option may be specified in the make command. + +Running the Application +----------------------- + +The application has a number of command line options: + +.. code-block:: console + + ./build/l3fwd-vf [EAL options] -- -p PORTMASK --config(port,queue,lcore)[,(port,queue,lcore)] [--no-numa] + +where, + +* --p PORTMASK: Hexadecimal bitmask of ports to configure + +* --config (port,queue,lcore)[,(port,queue,lcore]: determines which queues from which ports are mapped to which cores + +* --no-numa: optional, disables numa awareness + +For example, consider a dual processor socket platform where cores 0,2,4,6, 8, and 10 appear on socket 0, +while cores 1,3,5,7,9, and 11 appear on socket 1. +Let's say that the programmer wants to use memory from both NUMA nodes, +the platform has only two ports and the programmer wants to use one core from each processor socket to do the packet processing +since only one Rx/Tx queue pair can be used in virtualization mode. + +To enable L3 forwarding between two ports, using one core from each processor, +while also taking advantage of local memory accesses by optimizing around NUMA, +the programmer can pin to the appropriate cores and allocate memory from the appropriate NUMA node. +This is achieved using the following command: + +.. code-block:: console + + ./build/l3fwd-vf -c 0x03 -n 3 -- -p 0x3 --config="(0,0,0),(1,0,1)" + +In this command: + +* The -c option enables cores 0 and 1 + +* The -p option enables ports 0 and 1 + +* The --config option enables one queue on each port and maps each (port,queue) pair to a specific core. + Logic to enable multiple RX queues using RSS and to allocate memory from the correct NUMA nodes + is included in the application and is done transparently. + The following table shows the mapping in this example: + + +----------+-----------+-----------+------------------------------------+ + | **Port** | **Queue** | **lcore** | **Description** | + | | | | | + +==========+===========+===========+====================================+ + | 0 | 0 | 0 | Map queue 0 from port 0 to lcore 0 | + | | | | | + +----------+-----------+-----------+------------------------------------+ + | 1 | 1 | 1 | Map queue 0 from port 1 to lcore 1 | + | | | | | + +----------+-----------+-----------+------------------------------------+ + +Refer to the *Intel® DPDK Getting Started Guide* for general information on running applications +and the Environment Abstraction Layer (EAL) options. + +Explanation +----------- + +The operation of this application is similar to that of the basic L3 Forwarding Sample Application. +See Section 10.4 "Explanation" for more information. diff --git a/doc/guides/sample_app_ug/link_status_intr.rst b/doc/guides/sample_app_ug/link_status_intr.rst new file mode 100644 index 0000000000..7334fb8ed6 --- /dev/null +++ b/doc/guides/sample_app_ug/link_status_intr.rst @@ -0,0 +1,480 @@ +.. 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. + +Link Status Interrupt Sample Application +======================================== + +The Link Status Interrupt sample application is a simple example of packet processing using +the Intel® Data Plane Development Kit (Intel® DPDK) that +demonstrates how network link status changes for a network port can be captured and +used by an Intel® DPDK application. + +Overview +-------- + +The Link Status Interrupt sample application registers a user space callback for the link status interrupt of each port +and performs L2 forwarding for each packet that is received on an RX_PORT. +The following operations are performed: + +* RX_PORT and TX_PORT are paired with available ports one-by-one according to the core mask + +* The source MAC address is replaced by the TX_PORT MAC address + +* The destination MAC address is replaced by 02:00:00:00:00:TX_PORT_ID + +This application can be used to demonstrate the usage of link status interrupt and its user space callbacks +and the behavior of L2 forwarding each time the link status changes. + +Compiling the Application +------------------------- + +#. Go to the example directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk + cd ${RTE_SDK}/examples/link_status_interrupt + +#. 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 *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + +#. Build the application: + + .. code-block:: console + + make + +.. note:: + + The compiled application is written to the build subdirectory. + To have the application written to a different location, + the O=/path/to/build/directory option may be specified on the make command line. + +Running the Application +----------------------- + +The application requires a number of command line options: + +.. code-block:: console + + ./build/link_status_interrupt [EAL options] -- -p PORTMASK [-q NQ][-T PERIOD] + +where, + +* -p PORTMASK: A hexadecimal bitmask of the ports to configure + +* -q NQ: A number of queues (=ports) per lcore (default is 1) + +* -T PERIOD: statistics will be refreshed each PERIOD seconds (0 to disable, 10 default) + +To run the application in a linuxapp environment with 4 lcores, 4 memory channels, 16 ports and 8 RX queues per lcore, +issue the command: + +.. code-block:: console + + $ ./build/link_status_interrupt -c f -n 4-- -q 8 -p ffff + +Refer to the *Intel® DPDK Getting Started Guide* for general information on running applications +and the Environment Abstraction Layer (EAL) options. + +Explanation +----------- + +The following sections provide some explanation of the code. + +Command Line Arguments +~~~~~~~~~~~~~~~~~~~~~~ + +The Link Status Interrupt sample application takes specific parameters, +in addition to Environment Abstraction Layer (EAL) arguments (see Section 13.3). + +Command line parsing is done in the same way as it is done in the L2 Forwarding Sample Application. +See Section 9.4.1, "Command Line Arguments" for more information. + +Mbuf Pool Initialization +~~~~~~~~~~~~~~~~~~~~~~~~ + +Mbuf pool initialization is done in the same way as it is done in the L2 Forwarding Sample Application. +See Section 9.4.2, "Mbuf Pool Initialization" for more information. + +Driver Initialization +~~~~~~~~~~~~~~~~~~~~~ + +The main part of the code in the main() function relates to the initialization of the driver. +To fully understand this code, it is recommended to study the chapters that related to the Poll Mode Driver in the +*Intel® DPDK Programmer's Guide and the Intel® DPDK API Reference*. + +.. code-block:: c + + if (rte_eal_pci_probe() < 0) + rte_exit(EXIT_FAILURE, "Cannot probe PCI\n"); + + nb_ports = rte_eth_dev_count(); + if (nb_ports == 0) + rte_exit(EXIT_FAILURE, "No Ethernet ports - bye\n"); + + if (nb_ports > RTE_MAX_ETHPORTS) + nb_ports = RTE_MAX_ETHPORTS; + + /* + * Each logical core is assigned a dedicated TX queue on each port. + */ + + for (portid = 0; portid < nb_ports; portid++) { + /* skip ports that are not enabled */ + + if ((lsi_enabled_port_mask & (1 << portid)) == 0) + continue; + + /* save the destination port id */ + + if (nb_ports_in_mask % 2) { + lsi_dst_ports[portid] = portid_last; + lsi_dst_ports[portid_last] = portid; + } + else + portid_last = portid; + + nb_ports_in_mask++; + + rte_eth_dev_info_get((uint8_t) portid, &dev_info); + } + +Observe that: + +* rte_eal_pci_probe() parses the devices on the PCI bus and initializes recognized devices. + +The next step is to configure the RX and TX queues. +For each port, there is only one RX queue (only one lcore is able to poll a given port). +The number of TX queues depends on the number of available lcores. +The rte_eth_dev_configure() function is used to configure the number of queues for a port: + +.. code-block:: c + + ret = rte_eth_dev_configure((uint8_t) portid, 1, 1, &port_conf); + if (ret < 0) + rte_exit(EXIT_FAILURE, "Cannot configure device: err=%d, port=%u\n", ret, portid); + +The global configuration is stored in a static structure: + +.. code-block:: c + + static const struct rte_eth_conf port_conf = { + .rxmode = { + .split_hdr_size = 0, + .header_split = 0, /**< Header Split disabled */ + .hw_ip_checksum = 0, /**< IP checksum offload disabled */ + .hw_vlan_filter = 0, /**< VLAN filtering disabled */ + .hw_strip_crc= 0, /**< CRC stripped by hardware */ + }, + .txmode = {}, + .intr_conf = { + .lsc = 1, /**< link status interrupt feature enabled */ + }, + }; + +Configuring lsc to 0 (the default) disables the generation of any link status change interrupts in kernel space +and no user space interrupt event is received. +The public interface rte_eth_link_get() accesses the NIC registers directly to update the link status. +Configuring lsc to non-zero enables the generation of link status change interrupts in kernel space +when a link status change is present and calls the user space callbacks registered by the application. +The public interface rte_eth_link_get() just reads the link status in a global structure +that would be updated in the interrupt host thread only. + +Interrupt Callback Registration +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The application can register one or more callbacks to a specific port and interrupt event. +An example callback function that has been written as indicated below. + +.. code-block:: c + + static void + lsi_event_callback(uint8_t port_id, enum rte_eth_event_type type, void *param) + { + struct rte_eth_link link; + + RTE_SET_USED(param); + + printf("\n\nIn registered callback...\n"); + + printf("Event type: %s\n", type == RTE_ETH_EVENT_INTR_LSC ? "LSC interrupt" : "unknown event"); + + rte_eth_link_get_nowait(port_id, &link); + + if (link.link_status) { + printf("Port %d Link Up - speed %u Mbps - %s\n\n", port_id, (unsigned)link.link_speed, + (link.link_duplex == ETH_LINK_FULL_DUPLEX) ? ("full-duplex") : ("half-duplex")); + } else + printf("Port %d Link Down\n\n", port_id); + } + +This function is called when a link status interrupt is present for the right port. +The port_id indicates which port the interrupt applies to. +The type parameter identifies the interrupt event type, +which currently can be RTE_ETH_EVENT_INTR_LSC only, but other types can be added in the future. +The param parameter is the address of the parameter for the callback. +This function should be implemented with care since it will be called in the interrupt host thread, +which is different from the main thread of its caller. + +The application registers the lsi_event_callback and a NULL parameter to the link status interrupt event on each port: + +.. code-block:: c + + rte_eth_dev_callback_register((uint8_t)portid, RTE_ETH_EVENT_INTR_LSC, lsi_event_callback, NULL); + +This registration can be done only after calling the rte_eth_dev_configure() function and before calling any other function. +If lsc is initialized with 0, the callback is never called since no interrupt event would ever be present. + +RX Queue Initialization +~~~~~~~~~~~~~~~~~~~~~~~ + +The application uses one lcore to poll one or several ports, depending on the -q option, +which specifies the number of queues per lcore. + +For example, if the user specifies -q 4, the application is able to poll four ports with one lcore. +If there are 16 ports on the target (and if the portmask argument is -p ffff), +the application will need four lcores to poll all the ports. + +.. code-block:: c + + ret = rte_eth_rx_queue_setup((uint8_t) portid, 0, nb_rxd, SOCKET0, &rx_conf, lsi_pktmbuf_pool); + if (ret < 0) + rte_exit(EXIT_FAILURE, "rte_eth_rx_queue_setup: err=%d, port=%u\n", ret, portid); + +The list of queues that must be polled for a given lcore is stored in a private structure called struct lcore_queue_conf. + +.. code-block:: c + + struct lcore_queue_conf { + unsigned n_rx_port; + unsigned rx_port_list[MAX_RX_QUEUE_PER_LCORE]; unsigned tx_queue_id; + struct mbuf_table tx_mbufs[LSI_MAX_PORTS]; + } rte_cache_aligned; + + struct lcore_queue_conf lcore_queue_conf[RTE_MAX_LCORE]; + +The n_rx_port and rx_port_list[] fields are used in the main packet processing loop +(see Section 13.4.7, "Receive, Process and Transmit Packets" later in this chapter). + +The global configuration for the RX queues is stored in a static structure: + +.. code-block:: c + + static const struct rte_eth_rxconf rx_conf = { + .rx_thresh = { + .pthresh = RX_PTHRESH, + .hthresh = RX_HTHRESH, + .wthresh = RX_WTHRESH, + }, + }; + +TX Queue Initialization +~~~~~~~~~~~~~~~~~~~~~~~ + +Each lcore should be able to transmit on any port. +For every port, a single TX queue is initialized. + +.. code-block:: c + + /* init one TX queue logical core on each port */ + + fflush(stdout); + + ret = rte_eth_tx_queue_setup(portid, 0, nb_txd, rte_eth_dev_socket_id(portid), &tx_conf); + if (ret < 0) + rte_exit(EXIT_FAILURE, "rte_eth_tx_queue_setup: err=%d,port=%u\n", ret, (unsigned) portid); + +The global configuration for TX queues is stored in a static structure: + +.. code-block:: c + + static const struct rte_eth_txconf tx_conf = { + .tx_thresh = { + .pthresh = TX_PTHRESH, + .hthresh = TX_HTHRESH, + .wthresh = TX_WTHRESH, + }, + .tx_free_thresh = RTE_TEST_TX_DESC_DEFAULT + 1, /* disable feature */ + }; + +Receive, Process and Transmit Packets +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In the lsi_main_loop() function, the main task is to read ingress packets from the RX queues. +This is done using the following code: + +.. code-block:: c + + /* + * Read packet from RX queues + */ + + for (i = 0; i < qconf->n_rx_port; i++) { + portid = qconf->rx_port_list[i]; + nb_rx = rte_eth_rx_burst((uint8_t) portid, 0, pkts_burst, MAX_PKT_BURST); + port_statistics[portid].rx += nb_rx; + + for (j = 0; j < nb_rx; j++) { + m = pkts_burst[j]; + rte_prefetch0(rte_pktmbuf_mtod(m, void *)); + lsi_simple_forward(m, portid); + } + } + +Packets are read in a burst of size MAX_PKT_BURST. +The rte_eth_rx_burst() function writes the mbuf pointers in a local table and returns the number of available mbufs in the table. + +Then, each mbuf in the table is processed by the lsi_simple_forward() function. +The processing is very simple: processes the TX port from the RX port and then replaces the source and destination MAC addresses. + +.. note:: + + In the following code, the two lines for calculating the output port require some explanation. + If portId is even, the first line does nothing (as portid & 1 will be 0), and the second line adds 1. + If portId is odd, the first line subtracts one and the second line does nothing. + Therefore, 0 goes to 1, and 1 to 0, 2 goes to 3 and 3 to 2, and so on. + +.. code-block:: c + + static void + lsi_simple_forward(struct rte_mbuf *m, unsigned portid) + { + struct ether_hdr *eth; + void *tmp; + unsigned dst_port = lsi_dst_ports[portid]; + + eth = rte_pktmbuf_mtod(m, struct ether_hdr *); + + /* 02:00:00:00:00:xx */ + + tmp = ð->d_addr.addr_bytes[0]; + + *((uint64_t *)tmp) = 0x000000000002 + (dst_port << 40); + + /* src addr */ + ether_addr_copy(&lsi_ports_eth_addr[dst_port], ð->s_addr); + + lsi_send_packet(m, dst_port); + } + +Then, the packet is sent using the lsi_send_packet(m, dst_port) function. +For this test application, the processing is exactly the same for all packets arriving on the same RX port. +Therefore, it would have been possible to call the lsi_send_burst() function directly from the main loop +to send all the received packets on the same TX port using +the burst-oriented send function, which is more efficient. + +However, in real-life applications (such as, L3 routing), +packet N is not necessarily forwarded on the same port as packet N-1. +The application is implemented to illustrate that so the same approach can be reused in a more complex application. + +The lsi_send_packet() function stores the packet in a per-lcore and per-txport table. +If the table is full, the whole packets table is transmitted using the lsi_send_burst() function: + +.. code-block:: c + + /* Send the packet on an output interface */ + + static int + lsi_send_packet(struct rte_mbuf *m, uint8_t port) + { + unsigned lcore_id, len; + struct lcore_queue_conf *qconf; + + lcore_id = rte_lcore_id(); + qconf = &lcore_queue_conf[lcore_id]; + len = qconf->tx_mbufs[port].len; + qconf->tx_mbufs[port].m_table[len] = m; + len++; + + /* enough pkts to be sent */ + + if (unlikely(len == MAX_PKT_BURST)) { + lsi_send_burst(qconf, MAX_PKT_BURST, port); + len = 0; + } + qconf->tx_mbufs[port].len = len; + + return 0; + } + +To ensure that no packets remain in the tables, each lcore does a draining of the TX queue in its main loop. +This technique introduces some latency when there are not many packets to send. +However, it improves performance: + +.. code-block:: c + + cur_tsc = rte_rdtsc(); + + /* + * TX burst queue drain + */ + + diff_tsc = cur_tsc - prev_tsc; + + if (unlikely(diff_tsc > drain_tsc)) { + /* this could be optimized (use queueid instead of * portid), but it is not called so often */ + + for (portid = 0; portid < RTE_MAX_ETHPORTS; portid++) { + if (qconf->tx_mbufs[portid].len == 0) + continue; + + lsi_send_burst(&lcore_queue_conf[lcore_id], + qconf->tx_mbufs[portid].len, (uint8_t) portid); + qconf->tx_mbufs[portid].len = 0; + } + + /* if timer is enabled */ + + if (timer_period > 0) { + /* advance the timer */ + + timer_tsc += diff_tsc; + + /* if timer has reached its timeout */ + + if (unlikely(timer_tsc >= (uint64_t) timer_period)) { + /* do this only on master core */ + + if (lcore_id == rte_get_master_lcore()) { + print_stats(); + + /* reset the timer */ + timer_tsc = 0; + } + } + } + prev_tsc = cur_tsc; + } diff --git a/doc/guides/sample_app_ug/load_balancer.rst b/doc/guides/sample_app_ug/load_balancer.rst new file mode 100644 index 0000000000..6277de4703 --- /dev/null +++ b/doc/guides/sample_app_ug/load_balancer.rst @@ -0,0 +1,245 @@ +.. 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. + +Load Balancer Sample Application +================================ + +The Load Balancer sample application demonstrates the concept of isolating the packet I/O task +from the application-specific workload. +Depending on the performance target, +a number of logical cores (lcores) are dedicated to handle the interaction with the NIC ports (I/O lcores), +while the rest of the lcores are dedicated to performing the application processing (worker lcores). +The worker lcores are totally oblivious to the intricacies of the packet I/O activity and +use the NIC-agnostic interface provided by software rings to exchange packets with the I/O cores. + +Overview +-------- + +The architecture of the Load Balance application is presented in the following figure. + +.. _figure_5: + +**Figure 5. Load Balancer Application Architecture** + +.. image8_png has been renamed + +|load_bal_app_arch| + +For the sake of simplicity, the diagram illustrates a specific case of two I/O RX and two I/O TX lcores off loading the packet I/O +overhead incurred by four NIC ports from four worker cores, with each I/O lcore handling RX/TX for two NIC ports. + +I/O RX Logical Cores +~~~~~~~~~~~~~~~~~~~~ + +Each I/O RX lcore performs packet RX from its assigned NIC RX rings and then distributes the received packets to the worker threads. +The application allows each I/O RX lcore to communicate with any of the worker threads, +therefore each (I/O RX lcore, worker lcore) pair is connected through a dedicated single producer - single consumer software ring. + +The worker lcore to handle the current packet is determined by reading a predefined 1-byte field from the input packet: + +worker_id = packet[load_balancing_field] % n_workers + +Since all the packets that are part of the same traffic flow are expected to have the same value for the load balancing field, +this scheme also ensures that all the packets that are part of the same traffic flow are directed to the same worker lcore (flow affinity) +in the same order they enter the system (packet ordering). + +I/O TX Logical Cores +~~~~~~~~~~~~~~~~~~~~ + +Each I/O lcore owns the packet TX for a predefined set of NIC ports. To enable each worker thread to send packets to any NIC TX port, +the application creates a software ring for each (worker lcore, NIC TX port) pair, +with each I/O TX core handling those software rings that are associated with NIC ports that it handles. + +Worker Logical Cores +~~~~~~~~~~~~~~~~~~~~ + +Each worker lcore reads packets from its set of input software rings and +routes them to the NIC ports for transmission by dispatching them to output software rings. +The routing logic is LPM based, with all the worker threads sharing the same LPM rules. + +Compiling the Application +------------------------- + +The sequence of steps used to build the application is: + +#. Export the required environment variables: + + .. code-block:: console + + export RTE_SDK= + export RTE_TARGET=x86_64-native-linuxapp-gcc + +#. Build the application executable file: + + .. code-block:: console + + cd ${RTE_SDK}/examples/load_balancer make + + For more details on how to build the Intel® DPDK libraries and sample applications, + please refer to the *Intel® DPDK Getting Started Guide.* + +Running the Application +----------------------- + +To successfully run the application, +the command line used to start the application has to be in sync with the traffic flows configured on the traffic generator side. + +For examples of application command lines and traffic generator flows, please refer to the Intel® DPDK Test Report. +For more details on how to set up and run the sample applications provided with Intel® DPDK package, +please refer to the *Intel® DPDK Getting Started Guide*. + +Explanation +----------- + +Application Configuration +~~~~~~~~~~~~~~~~~~~~~~~~~ + +The application run-time configuration is done through the application command line parameters. +Any parameter that is not specified as mandatory is optional, +with the default value hard-coded in the main.h header file from the application folder. + +The list of application command line parameters is listed below: + +#. --rx "(PORT, QUEUE, LCORE), ...": The list of NIC RX ports and queues handled by the I/O RX lcores. + This parameter also implicitly defines the list of I/O RX lcores. This is a mandatory parameter. + +#. --tx "(PORT, LCORE), ... ": The list of NIC TX ports handled by the I/O TX lcores. + This parameter also implicitly defines the list of I/O TX lcores. + This is a mandatory parameter. + +#. --w "LCORE, ...": The list of the worker lcores. This is a mandatory parameter. + +#. --lpm "IP / PREFIX => PORT; ...": The list of LPM rules used by the worker lcores for packet forwarding. + This is a mandatory parameter. + +#. --rsz "A, B, C, D": Ring sizes: + + #. A = The size (in number of buffer descriptors) of each of the NIC RX rings read by the I/O RX lcores. + + #. B = The size (in number of elements) of each of the software rings used by the I/O RX lcores to send packets to worker lcores. + + #. C = The size (in number of elements) of each of the software rings used by the worker lcores to send packets to I/O TX lcores. + + #. D = The size (in number of buffer descriptors) of each of the NIC TX rings written by I/O TX lcores. + +#. --bsz "(A, B), (C, D), (E, F)": Burst sizes: + + #. A = The I/O RX lcore read burst size from NIC RX. + + #. B = The I/O RX lcore write burst size to the output software rings. + + #. C = The worker lcore read burst size from the input software rings. + + #. D = The worker lcore write burst size to the output software rings. + + #. E = The I/O TX lcore read burst size from the input software rings. + + #. F = The I/O TX lcore write burst size to the NIC TX. + +#. --pos-lb POS: The position of the 1-byte field within the input packet used by the I/O RX lcores + to identify the worker lcore for the current packet. + This field needs to be within the first 64 bytes of the input packet. + +The infrastructure of software rings connecting I/O lcores and worker lcores is built by the application +as a result of the application configuration provided by the user through the application command line parameters. + +A specific lcore performing the I/O RX role for a specific set of NIC ports can also perform the I/O TX role +for the same or a different set of NIC ports. +A specific lcore cannot perform both the I/O role (either RX or TX) and the worker role during the same session. + +Example: + +.. code-block:: console + + ./load_balancer -c 0xf8 -n 4 -- --rx "(0,0,3),(1,0,3)" --tx "(0,3),(1,3)" --w "4,5,6,7" --lpm "1.0.0.0/24=>0; 1.0.1.0/24=>1;" --pos-lb 29 + +There is a single I/O lcore (lcore 3) that handles RX and TX for two NIC ports (ports 0 and 1) that +handles packets to/from four worker lcores (lcores 4, 5, 6 and 7) that +are assigned worker IDs 0 to 3 (worker ID for lcore 4 is 0, for lcore 5 is 1, for lcore 6 is 2 and for lcore 7 is 3). + +Assuming that all the input packets are IPv4 packets with no VLAN label and the source IP address of the current packet is A.B.C.D, +the worker lcore for the current packet is determined by byte D (which is byte 29). +There are two LPM rules that are used by each worker lcore to route packets to the output NIC ports. + +The following table illustrates the packet flow through the system for several possible traffic flows: + ++------------+----------------+-----------------+------------------------------+--------------+ +| **Flow #** | **Source** | **Destination** | **Worker ID (Worker lcore)** | **Output** | +| | **IP Address** | **IP Address** | | **NIC Port** | +| | | | | | ++============+================+=================+==============================+==============+ +| 1 | 0.0.0.0 | 1.0.0.1 | 0 (4) | 0 | +| | | | | | ++------------+----------------+-----------------+------------------------------+--------------+ +| 2 | 0.0.0.1 | 1.0.1.2 | 1 (5) | 1 | +| | | | | | ++------------+----------------+-----------------+------------------------------+--------------+ +| 3 | 0.0.0.14 | 1.0.0.3 | 2 (6) | 0 | +| | | | | | ++------------+----------------+-----------------+------------------------------+--------------+ +| 4 | 0.0.0.15 | 1.0.1.4 | 3 (7) | 1 | +| | | | | | ++------------+----------------+-----------------+------------------------------+--------------+ + +NUMA Support +~~~~~~~~~~~~ + +The application has built-in performance enhancements for the NUMA case: + +#. One buffer pool per each CPU socket. + +#. One LPM table per each CPU socket. + +#. Memory for the NIC RX or TX rings is allocated on the same socket with the lcore handling the respective ring. + +In the case where multiple CPU sockets are used in the system, +it is recommended to enable at least one lcore to fulfil the I/O role for the NIC ports that +are directly attached to that CPU socket through the PCI Express* bus. +It is always recommended to handle the packet I/O with lcores from the same CPU socket as the NICs. + +Depending on whether the I/O RX lcore (same CPU socket as NIC RX), +the worker lcore and the I/O TX lcore (same CPU socket as NIC TX) handling a specific input packet, +are on the same or different CPU sockets, the following run-time scenarios are possible: + +#. AAA: The packet is received, processed and transmitted without going across CPU sockets. + +#. AAB: The packet is received and processed on socket A, + but as it has to be transmitted on a NIC port connected to socket B, + the packet is sent to socket B through software rings. + +#. ABB: The packet is received on socket A, but as it has to be processed by a worker lcore on socket B, + the packet is sent to socket B through software rings. + The packet is transmitted by a NIC port connected to the same CPU socket as the worker lcore that processed it. + +#. ABC: The packet is received on socket A, it is processed by an lcore on socket B, + then it has to be transmitted out by a NIC connected to socket C. + The performance price for crossing the CPU socket boundary is paid twice for this packet. + +.. |load_bal_app_arch| image:: img/load_bal_app_arch.png diff --git a/doc/guides/sample_app_ug/multi_process.rst b/doc/guides/sample_app_ug/multi_process.rst new file mode 100644 index 0000000000..31bb1d43bb --- /dev/null +++ b/doc/guides/sample_app_ug/multi_process.rst @@ -0,0 +1,784 @@ +.. 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. + +Multi-process Sample Application +================================ + +This chapter describes the example applications for multi-processing that are included in the Intel® DPDK. + +Example Applications +-------------------- + +Building the Sample Applications +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The multi-process example applications are built in the same way as other sample applications, +and as documented in the *Intel® DPDK Getting Started Guide*. +To build all the example applications: + +#. Set RTE_SDK and go to the example directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk + cd ${RTE_SDK}/examples/multi_process + +#. Set the target (a default target will be used if not specified). For example: + + .. code-block:: console + + export RTE_TARGET=x86_64-native-linuxapp-gcc + + See the *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + +#. Build the applications: + + .. code-block:: console + + make + +.. note:: + + If just a specific multi-process application needs to be built, + the final make command can be run just in that application's directory, + rather than at the top-level multi-process directory. + +Basic Multi-process Example +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The examples/simple_mp folder in the Intel® DPDK release contains a basic example application to demonstrate how +two Intel® DPDK processes can work together using queues and memory pools to share information. + +Running the Application +^^^^^^^^^^^^^^^^^^^^^^^ + +To run the application, start one copy of the simple_mp binary in one terminal, +passing at least two cores in the coremask, as follows: + +.. code-block:: console + + ./build/simple_mp -c 3 -n 4 --proc-type=primary + +For the first Intel® DPDK process run, the proc-type flag can be omitted or set to auto, +since all Intel® DPDK processes will default to being a primary instance, +meaning they have control over the hugepage shared memory regions. +The process should start successfully and display a command prompt as follows: + +.. code-block:: console + + $ ./build/simple_mp -c 3 -n 4 --proc-type=primary + EAL: coremask set to 3 + EAL: Detected lcore 0 on socket 0 + EAL: Detected lcore 1 on socket 0 + EAL: Detected lcore 2 on socket 0 + EAL: Detected lcore 3 on socket 0 + ... + + EAL: Requesting 2 pages of size 1073741824 + EAL: Requesting 768 pages of size 2097152 + EAL: Ask a virtual area of 0x40000000 bytes + EAL: Virtual area found at 0x7ff200000000 (size = 0x40000000) + ... + + EAL: check igb_uio module + EAL: check module finished + EAL: Master core 0 is ready (tid=54e41820) + EAL: Core 1 is ready (tid=53b32700) + + Starting core 1 + + simple_mp > + +To run the secondary process to communicate with the primary process, +again run the same binary setting at least two cores in the coremask: + +.. code-block:: console + + ./build/simple_mp -c C -n 4 --proc-type=secondary + +When running a secondary process such as that shown above, the proc-type parameter can again be specified as auto. +However, omitting the parameter altogether will cause the process to try and start as a primary rather than secondary process. + +Once the process type is specified correctly, +the process starts up, displaying largely similar status messages to the primary instance as it initializes. +Once again, you will be presented with a command prompt. + +Once both processes are running, messages can be sent between them using the send command. +At any stage, either process can be terminated using the quit command. + +.. code-block:: console + + EAL: Master core 10 is ready (tid=b5f89820) EAL: Master core 8 is ready (tid=864a3820) + EAL: Core 11 is ready (tid=84ffe700) EAL: Core 9 is ready (tid=85995700) + Starting core 11 Starting core 9 + simple_mp > send hello_secondary simple_mp > core 9: Received 'hello_secondary' + simple_mp > core 11: Received 'hello_primary' simple_mp > send hello_primary + simple_mp > quit simple_mp > quit + +.. note:: + + If the primary instance is terminated, the secondary instance must also be shut-down and restarted after the primary. + This is necessary because the primary instance will clear and reset the shared memory regions on startup, + invalidating the secondary process's pointers. + The secondary process can be stopped and restarted without affecting the primary process. + +How the Application Works +^^^^^^^^^^^^^^^^^^^^^^^^^ + +The core of this example application is based on using two queues and a single memory pool in shared memory. +These three objects are created at startup by the primary process, +since the secondary process cannot create objects in memory as it cannot reserve memory zones, +and the secondary process then uses lookup functions to attach to these objects as it starts up. + +.. code-block:: c + + if (rte_eal_process_type() == RTE_PROC_PRIMARY){ + send_ring = rte_ring_create(_PRI_2_SEC, ring_size, SOCKET0, flags); + recv_ring = rte_ring_create(_SEC_2_PRI, ring_size, SOCKET0, flags); + message_pool = rte_mempool_create(_MSG_POOL, pool_size, string_size, pool_cache, priv_data_sz, NULL, NULL, NULL, NULL, SOCKET0, flags); + } else { + recv_ring = rte_ring_lookup(_PRI_2_SEC); + send_ring = rte_ring_lookup(_SEC_2_PRI); + message_pool = rte_mempool_lookup(_MSG_POOL); + } + +Note, however, that the named ring structure used as send_ring in the primary process is the recv_ring in the secondary process. + +Once the rings and memory pools are all available in both the primary and secondary processes, +the application simply dedicates two threads to sending and receiving messages respectively. +The receive thread simply dequeues any messages on the receive ring, prints them, +and frees the buffer space used by the messages back to the memory pool. +The send thread makes use of the command-prompt library to interactively request user input for messages to send. +Once a send command is issued by the user, a buffer is allocated from the memory pool, filled in with the message contents, +then enqueued on the appropriate rte_ring. + +Symmetric Multi-process Example +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The second example of Intel® DPDK multi-process support demonstrates how a set of processes can run in parallel, +with each process performing the same set of packet- processing operations. +(Since each process is identical in functionality to the others, +we refer to this as symmetric multi-processing, to differentiate it from asymmetric multi- processing - +such as a client-server mode of operation seen in the next example, +where different processes perform different tasks, yet co-operate to form a packet-processing system.) +The following diagram shows the data-flow through the application, using two processes. + +.. _figure_6: + +**Figure 6. Example Data Flow in a Symmetric Multi-process Application** + +.. image9_png has been renamed + +|sym_multi_proc_app| + +As the diagram shows, each process reads packets from each of the network ports in use. +RSS is used to distribute incoming packets on each port to different hardware RX queues. +Each process reads a different RX queue on each port and so does not contend with any other process for that queue access. +Similarly, each process writes outgoing packets to a different TX queue on each port. + +Running the Application +^^^^^^^^^^^^^^^^^^^^^^^ + +As with the simple_mp example, the first instance of the symmetric_mp process must be run as the primary instance, +though with a number of other application- specific parameters also provided after the EAL arguments. +These additional parameters are: + +* -p , where portmask is a hexadecimal bitmask of what ports on the system are to be used. + For example: -p 3 to use ports 0 and 1 only. + +* --num-procs , where N is the total number of symmetric_mp instances that will be run side-by-side to perform packet processing. + This parameter is used to configure the appropriate number of receive queues on each network port. + +* --proc-id , where n is a numeric value in the range 0 <= n < N (number of processes, specified above). + This identifies which symmetric_mp instance is being run, so that each process can read a unique receive queue on each network port. + +The secondary symmetric_mp instances must also have these parameters specified, +and the first two must be the same as those passed to the primary instance, or errors result. + +For example, to run a set of four symmetric_mp instances, running on lcores 1-4, +all performing level-2 forwarding of packets between ports 0 and 1, +the following commands can be used (assuming run as root): + +.. code-block:: console + + # ./build/symmetric_mp -c 2 -n 4 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=0 + # ./build/symmetric_mp -c 4 -n 4 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=1 + # ./build/symmetric_mp -c 8 -n 4 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=2 + # ./build/symmetric_mp -c 10 -n 4 --proc-type=auto -- -p 3 --num-procs=4 --proc-id=3 + +.. note:: + + In the above example, the process type can be explicitly specified as primary or secondary, rather than auto. + When using auto, the first process run creates all the memory structures needed for all processes - + irrespective of whether it has a proc-id of 0, 1, 2 or 3. + +.. note:: + + For the symmetric multi-process example, since all processes work in the same manner, + once the hugepage shared memory and the network ports are initialized, + it is not necessary to restart all processes if the primary instance dies. + Instead, that process can be restarted as a secondary, + by explicitly setting the proc-type to secondary on the command line. + (All subsequent instances launched will also need this explicitly specified, + as auto-detection will detect no primary processes running and therefore attempt to re-initialize shared memory.) + +How the Application Works +^^^^^^^^^^^^^^^^^^^^^^^^^ + +The initialization calls in both the primary and secondary instances are the same for the most part, +calling the rte_eal_init(), 1 G and 10 G driver initialization and then rte_eal_pci_probe() functions. +Thereafter, the initialization done depends on whether the process is configured as a primary or secondary instance. + +In the primary instance, a memory pool is created for the packet mbufs and the network ports to be used are initialized - +the number of RX and TX queues per port being determined by the num-procs parameter passed on the command-line. +The structures for the initialized network ports are stored in shared memory and +therefore will be accessible by the secondary process as it initializes. + +.. code-block:: c + + if (num_ports & 1) + rte_exit(EXIT_FAILURE, "Application must use an even number of ports\n"); + + for(i = 0; i < num_ports; i++){ + if(proc_type == RTE_PROC_PRIMARY) + if (smp_port_init(ports[i], mp, (uint16_t)num_procs) < 0) + rte_exit(EXIT_FAILURE, "Error initialising ports\n"); + } + +In the secondary instance, rather than initializing the network ports, the port information exported by the primary process is used, +giving the secondary process access to the hardware and software rings for each network port. +Similarly, the memory pool of mbufs is accessed by doing a lookup for it by name: + +.. code-block:: c + + mp = (proc_type == RTE_PROC_SECONDARY) ? rte_mempool_lookup(_SMP_MBUF_POOL) : rte_mempool_create(_SMP_MBUF_POOL, NB_MBUFS, MBUF_SIZE, ... ) + +Once this initialization is complete, the main loop of each process, both primary and secondary, +is exactly the same - each process reads from each port using the queue corresponding to its proc-id parameter, +and writes to the corresponding transmit queue on the output port. + +Client-Server Multi-process Example +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The third example multi-process application included with the Intel® DPDK shows how one can +use a client-server type multi-process design to do packet processing. +In this example, a single server process performs the packet reception from the ports being used and +distributes these packets using round-robin ordering among a set of client processes, +which perform the actual packet processing. +In this case, the client applications just perform level-2 forwarding of packets by sending each packet out on a different network port. + +The following diagram shows the data-flow through the application, using two client processes. + +.. _figure_7: + +**Figure 7. Example Data Flow in a Client-Server Symmetric Multi-process Application** + +.. image10_png has been renamed + +|client_svr_sym_multi_proc_app| + +Running the Application +^^^^^^^^^^^^^^^^^^^^^^^ + +The server process must be run initially as the primary process to set up all memory structures for use by the clients. +In addition to the EAL parameters, the application- specific parameters are: + +* -p , where portmask is a hexadecimal bitmask of what ports on the system are to be used. + For example: -p 3 to use ports 0 and 1 only. + +* -n , where the num-clients parameter is the number of client processes that will process the packets received + by the server application. + +.. note:: + + In the server process, a single thread, the master thread, that is, the lowest numbered lcore in the coremask, performs all packet I/O. + If a coremask is specified with more than a single lcore bit set in it, + an additional lcore will be used for a thread to periodically print packet count statistics. + +Since the server application stores configuration data in shared memory, including the network ports to be used, +the only application parameter needed by a client process is its client instance ID. +Therefore, to run a server application on lcore 1 (with lcore 2 printing statistics) along with two client processes running on lcores 3 and 4, +the following commands could be used: + +.. code-block:: console + + # ./mp_server/build/mp_server -c 6 -n 4 -- -p 3 -n 2 + # ./mp_client/build/mp_client -c 8 -n 4 --proc-type=auto -- -n 0 + # ./mp_client/build/mp_client -c 10 -n 4 --proc-type=auto -- -n 1 + +.. note:: + + If the server application dies and needs to be restarted, all client applications also need to be restarted, + as there is no support in the server application for it to run as a secondary process. + Any client processes that need restarting can be restarted without affecting the server process. + +How the Application Works +^^^^^^^^^^^^^^^^^^^^^^^^^ + +The server process performs the network port and data structure initialization much as the symmetric multi-process application does when run as primary. +One additional enhancement in this sample application is that the server process stores its port configuration data in a memory zone in hugepage shared memory. +This eliminates the need for the client processes to have the portmask parameter passed into them on the command line, +as is done for the symmetric multi-process application, and therefore eliminates mismatched parameters as a potential source of errors. + +In the same way that the server process is designed to be run as a primary process instance only, +the client processes are designed to be run as secondary instances only. +They have no code to attempt to create shared memory objects. +Instead, handles to all needed rings and memory pools are obtained via calls to rte_ring_lookup() and rte_mempool_lookup(). +The network ports for use by the processes are obtained by loading the network port drivers and probing the PCI bus, +which will, as in the symmetric multi-process example, +automatically get access to the network ports using the settings already configured by the primary/server process. + +Once all applications are initialized, the server operates by reading packets from each network port in turn and +distributing those packets to the client queues (software rings, one for each client process) in round-robin order. +On the client side, the packets are read from the rings in as big of bursts as possible, then routed out to a different network port. +The routing used is very simple. All packets received on the first NIC port are transmitted back out on the second port and vice versa. +Similarly, packets are routed between the 3rd and 4th network ports and so on. +The sending of packets is done by writing the packets directly to the network ports; they are not transferred back via the server process. + +In both the server and the client processes, outgoing packets are buffered before being sent, +so as to allow the sending of multiple packets in a single burst to improve efficiency. +For example, the client process will buffer packets to send, +until either the buffer is full or until we receive no further packets from the server. + +Master-slave Multi-process Example +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The fourth example of Intel® DPDK multi-process support demonstrates a master-slave model that +provide the capability of application recovery if a slave process crashes or meets unexpected conditions. +In addition, it also demonstrates the floating process, +which can run among different cores in contrast to the traditional way of binding a process/thread to a specific CPU core, +using the local cache mechanism of mempool structures. + +This application performs the same functionality as the L2 Forwarding sample application, +therefore this chapter does not cover that part but describes functionality that is introduced in this multi-process example only. +Please refer to Chapter 9, "L2 Forwarding Sample Application (in Real and Virtualized Environments)" for more information. + +Unlike previous examples where all processes are started from the command line with input arguments, in this example, +only one process is spawned from the command line and that process creates other processes. +The following section describes this in more detail. + +Master-slave Process Models +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The process spawned from the command line is called the *master process* in this document. +A process created by the master is called a *slave process*. +The application has only one master process, but could have multiple slave processes. + +Once the master process begins to run, it tries to initialize all the resources such as +memory, CPU cores, driver, ports, and so on, as the other examples do. +Thereafter, it creates slave processes, as shown in the following figure. + +.. _figure_8: + +**Figure 8. Master-slave Process Workflow** + +.. image11_png has been renamed + +|master_slave_proc| + +The master process calls the rte_eal_mp_remote_launch() EAL function to launch an application function for each pinned thread through the pipe. +Then, it waits to check if any slave processes have exited. +If so, the process tries to re-initialize the resources that belong to that slave and launch them in the pinned thread entry again. +The following section describes the recovery procedures in more detail. + +For each pinned thread in EAL, after reading any data from the pipe, it tries to call the function that the application specified. +In this master specified function, a fork() call creates a slave process that performs the L2 forwarding task. +Then, the function waits until the slave exits, is killed or crashes. Thereafter, it notifies the master of this event and returns. +Finally, the EAL pinned thread waits until the new function is launched. + +After discussing the master-slave model, it is necessary to mention another issue, global and static variables. + +For multiple-thread cases, all global and static variables have only one copy and they can be accessed by any thread if applicable. +So, they can be used to sync or share data among threads. + +In the previous examples, each process has separate global and static variables in memory and are independent of each other. +If it is necessary to share the knowledge, some communication mechanism should be deployed, such as, memzone, ring, shared memory, and so on. +The global or static variables are not a valid approach to share data among processes. +For variables in this example, on the one hand, the slave process inherits all the knowledge of these variables after being created by the master. +On the other hand, other processes cannot know if one or more processes modifies them after slave creation since that +is the nature of a multiple process address space. +But this does not mean that these variables cannot be used to share or sync data; it depends on the use case. +The following are the possible use cases: + +#. The master process starts and initializes a variable and it will never be changed after slave processes created. This case is OK. + +#. After the slave processes are created, the master or slave cores need to change a variable, but other processes do not need to know the change. + This case is also OK. + +#. After the slave processes are created, the master or a slave needs to change a variable. + In the meantime, one or more other process needs to be aware of the change. + In this case, global and static variables cannot be used to share knowledge. Another communication mechanism is needed. + A simple approach without lock protection can be a heap buffer allocated by rte_malloc or mem zone. + +Slave Process Recovery Mechanism +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Before talking about the recovery mechanism, it is necessary to know what is needed before a new slave instance can run if a previous one exited. + +When a slave process exits, the system returns all the resources allocated for this process automatically. +However, this does not include the resources that were allocated by the Intel® DPDK. All the hardware resources are shared among the processes, +which include memzone, mempool, ring, a heap buffer allocated by the rte_malloc library, and so on. +If the new instance runs and the allocated resource is not returned, either resource allocation failed or the hardware resource is lost forever. + +When a slave process runs, it may have dependencies on other processes. +They could have execution sequence orders; they could share the ring to communicate; they could share the same port for reception and forwarding; +they could use lock structures to do exclusive access in some critical path. +What happens to the dependent process(es) if the peer leaves? +The consequence are varied since the dependency cases are complex. +It depends on what the processed had shared. +However, it is necessary to notify the peer(s) if one slave exited. +Then, the peer(s) will be aware of that and wait until the new instance begins to run. + +Therefore, to provide the capability to resume the new slave instance if the previous one exited, it is necessary to provide several mechanisms: + +#. Keep a resource list for each slave process. + Before a slave process run, the master should prepare a resource list. + After it exits, the master could either delete the allocated resources and create new ones, + or re-initialize those for use by the new instance. + +#. Set up a notification mechanism for slave process exit cases. After the specific slave leaves, + the master should be notified and then help to create a new instance. + This mechanism is provided in Section 15.1.5.1, "Master-slave Process Models". + +#. Use a synchronization mechanism among dependent processes. + The master should have the capability to stop or kill slave processes that have a dependency on the one that has exited. + Then, after the new instance of exited slave process begins to run, the dependency ones could resume or run from the start. + The example sends a STOP command to slave processes dependent on the exited one, then they will exit. + Thereafter, the master creates new instances for the exited slave processes. + +The following diagram describes slave process recovery. + +.. _figure_9: + +**Figure 9. Slave Process Recovery Process Flow** + +.. image12_png has been renamed + +|slave_proc_recov| + +Floating Process Support +^^^^^^^^^^^^^^^^^^^^^^^^ + +When the Intel® DPDK application runs, there is always a -c option passed in to indicate the cores that are enabled. +Then, the Intel® DPDK creates a thread for each enabled core. +By doing so, it creates a 1:1 mapping between the enabled core and each thread. +The enabled core always has an ID, therefore, each thread has a unique core ID in the Intel® DPDK execution environment. +With the ID, each thread can easily access the structures or resources exclusively belonging to it without using function parameter passing. +It can easily use the rte_lcore_id() function to get the value in every function that is called. + +For threads/processes not created in that way, either pinned to a core or not, they will not own a unique ID and the +rte_lcore_id() function will not work in the correct way. +However, sometimes these threads/processes still need the unique ID mechanism to do easy access on structures or resources. +For example, the Intel® DPDK mempool library provides a local cache mechanism +(refer to *Intel® DPDK Programmer's Guide* , Section 6.4, "Local Cache") +for fast element allocation and freeing. +If using a non-unique ID or a fake one, +a race condition occurs if two or more threads/ processes with the same core ID try to use the local cache. + +Therefore, unused core IDs from the passing of parameters with the -c option are used to organize the core ID allocation array. +Once the floating process is spawned, it tries to allocate a unique core ID from the array and release it on exit. + +A natural way to spawn a floating process is to use the fork() function and allocate a unique core ID from the unused core ID array. +However, it is necessary to write new code to provide a notification mechanism for slave exit +and make sure the process recovery mechanism can work with it. + +To avoid producing redundant code, the Master-Slave process model is still used to spawn floating processes, +then cancel the affinity to specific cores. +Besides that, clear the core ID assigned to the Intel® DPDK spawning a thread that has a 1:1 mapping with the core mask. +Thereafter, get a new core ID from the unused core ID allocation array. + +Run the Application +^^^^^^^^^^^^^^^^^^^ + +This example has a command line similar to the L2 Forwarding sample application with a few differences. + +To run the application, start one copy of the l2fwd_fork binary in one terminal. +Unlike the L2 Forwarding example, +this example requires at least three cores since the master process will wait and be accountable for slave process recovery. +The command is as follows: + +.. code-block:: console + + #./build/l2fwd_fork -c 1c -n 4 -- -p 3 -f + +This example provides another -f option to specify the use of floating process. +If not specified, the example will use a pinned process to perform the L2 forwarding task. + +To verify the recovery mechanism, proceed as follows: First, check the PID of the slave processes: + +.. code-block:: console + + #ps -fe | grep l2fwd_fork + root 5136 4843 29 11:11 pts/1 00:00:05 ./build/l2fwd_fork + root 5145 5136 98 11:11 pts/1 00:00:11 ./build/l2fwd_fork + root 5146 5136 98 11:11 pts/1 00:00:11 ./build/l2fwd_fork + +Then, kill one of the slaves: + +.. code-block:: console + + #kill -9 5145 + +After 1 or 2 seconds, check whether the slave has resumed: + +.. code-block:: console + + #ps -fe | grep l2fwd_fork + root 5136 4843 3 11:11 pts/1 00:00:06 ./build/l2fwd_fork + root 5247 5136 99 11:14 pts/1 00:00:01 ./build/l2fwd_fork + root 5248 5136 99 11:14 pts/1 00:00:01 ./build/l2fwd_fork + +It can also monitor the traffic generator statics to see whether slave processes have resumed. + +Explanation +^^^^^^^^^^^ + +As described in previous sections, +not all global and static variables need to change to be accessible in multiple processes; +it depends on how they are used. +In this example, +the statics info on packets dropped/forwarded/received count needs to be updated by the slave process, +and the master needs to see the update and print them out. +So, it needs to allocate a heap buffer using rte_zmalloc. +In addition, if the -f option is specified, +an array is needed to store the allocated core ID for the floating process so that the master can return it +after a slave has exited accidently. + +.. code-block:: c + + static int + l2fwd_malloc_shared_struct(void) + { + port_statistics = rte_zmalloc("port_stat", sizeof(struct l2fwd_port_statistics) * RTE_MAX_ETHPORTS, 0); + + if (port_statistics == NULL) + return -1; + + /* allocate mapping_id array */ + + if (float_proc) { + int i; + + mapping_id = rte_malloc("mapping_id", sizeof(unsigned) * RTE_MAX_LCORE, 0); + if (mapping_id == NULL) + return -1; + + for (i = 0 ;i < RTE_MAX_LCORE; i++) + mapping_id[i] = INVALID_MAPPING_ID; + + } + return 0; + } + +For each slave process, packets are received from one port and forwarded to another port that another slave is operating on. +If the other slave exits accidentally, the port it is operating on may not work normally, +so the first slave cannot forward packets to that port. +There is a dependency on the port in this case. So, the master should recognize the dependency. +The following is the code to detect this dependency: + +.. code-block:: c + + for (portid = 0; portid < nb_ports; portid++) { + /* skip ports that are not enabled */ + + if ((l2fwd_enabled_port_mask & (1 << portid)) == 0) + continue; + + /* Find pair ports' lcores */ + + find_lcore = find_pair_lcore = 0; + pair_port = l2fwd_dst_ports[portid]; + + for (i = 0; i < RTE_MAX_LCORE; i++) { + if (!rte_lcore_is_enabled(i)) + continue; + + for (j = 0; j < lcore_queue_conf[i].n_rx_port;j++) { + if (lcore_queue_conf[i].rx_port_list[j] == portid) { + lcore = i; + find_lcore = 1; + break; + } + + if (lcore_queue_conf[i].rx_port_list[j] == pair_port) { + pair_lcore = i; + find_pair_lcore = 1; + break; + } + } + + if (find_lcore && find_pair_lcore) + break; + } + + if (!find_lcore || !find_pair_lcore) + rte_exit(EXIT_FAILURE, "Not find port=%d pair\\n", portid); + + printf("lcore %u and %u paired\\n", lcore, pair_lcore); + + lcore_resource[lcore].pair_id = pair_lcore; + lcore_resource[pair_lcore].pair_id = lcore; + } + +Before launching the slave process, +it is necessary to set up the communication channel between the master and slave so that +the master can notify the slave if its peer process with the dependency exited. +In addition, the master needs to register a callback function in the case where a specific slave exited. + +.. code-block:: c + + for (i = 0; i < RTE_MAX_LCORE; i++) { + if (lcore_resource[i].enabled) { + /* Create ring for master and slave communication */ + + ret = create_ms_ring(i); + if (ret != 0) + rte_exit(EXIT_FAILURE, "Create ring for lcore=%u failed",i); + + if (flib_register_slave_exit_notify(i,slave_exit_cb) != 0) + rte_exit(EXIT_FAILURE, "Register master_trace_slave_exit failed"); + } + } + +After launching the slave process, the master waits and prints out the port statics periodically. +If an event indicating that a slave process exited is detected, +it sends the STOP command to the peer and waits until it has also exited. +Then, it tries to clean up the execution environment and prepare new resources. +Finally, the new slave instance is launched. + +.. code-block:: c + + while (1) { + sleep(1); + cur_tsc = rte_rdtsc(); + diff_tsc = cur_tsc - prev_tsc; + + /* if timer is enabled */ + + if (timer_period > 0) { + /* advance the timer */ + timer_tsc += diff_tsc; + + /* if timer has reached its timeout */ + if (unlikely(timer_tsc >= (uint64_t) timer_period)) { + print_stats(); + + /* reset the timer */ + timer_tsc = 0; + } + } + + prev_tsc = cur_tsc; + + /* Check any slave need restart or recreate */ + + rte_spinlock_lock(&res_lock); + + for (i = 0; i < RTE_MAX_LCORE; i++) { + struct lcore_resource_struct *res = &lcore_resource[i]; + struct lcore_resource_struct *pair = &lcore_resource[res->pair_id]; + + /* If find slave exited, try to reset pair */ + + if (res->enabled && res->flags && pair->enabled) { + if (!pair->flags) { + master_sendcmd_with_ack(pair->lcore_id, CMD_STOP); + rte_spinlock_unlock(&res_lock); + sleep(1); + rte_spinlock_lock(&res_lock); + if (pair->flags) + continue; + } + + if (reset_pair(res->lcore_id, pair->lcore_id) != 0) + rte_exit(EXIT_FAILURE, "failed to reset slave"); + + res->flags = 0; + pair->flags = 0; + } + } + rte_spinlock_unlock(&res_lock); + } + +When the slave process is spawned and starts to run, it checks whether the floating process option is applied. +If so, it clears the affinity to a specific core and also sets the unique core ID to 0. +Then, it tries to allocate a new core ID. +Since the core ID has changed, the resource allocated by the master cannot work, +so it remaps the resource to the new core ID slot. + +.. code-block:: c + + static int + l2fwd_launch_one_lcore( attribute ((unused)) void *dummy) + { + unsigned lcore_id = rte_lcore_id(); + + if (float_proc) { + unsigned flcore_id; + + /* Change it to floating process, also change it's lcore_id */ + + clear_cpu_affinity(); + + RTE_PER_LCORE(_lcore_id) = 0; + + /* Get a lcore_id */ + + if (flib_assign_lcore_id() < 0 ) { + printf("flib_assign_lcore_id failed\n"); + return -1; + } + + flcore_id = rte_lcore_id(); + + /* Set mapping id, so master can return it after slave exited */ + + mapping_id[lcore_id] = flcore_id; + printf("Org lcore_id = %u, cur lcore_id = %u\n",lcore_id, flcore_id); + remapping_slave_resource(lcore_id, flcore_id); + } + + l2fwd_main_loop(); + + /* return lcore_id before return */ + if (float_proc) { + flib_free_lcore_id(rte_lcore_id()); + mapping_id[lcore_id] = INVALID_MAPPING_ID; + } + return 0; + } + +.. |sym_multi_proc_app| image:: img/sym_multi_proc_app.png + +.. |client_svr_sym_multi_proc_app| image:: img/client_svr_sym_multi_proc_app.png + +.. |master_slave_proc| image:: img/master_slave_proc.png + +.. |slave_proc_recov| image:: img/slave_proc_recov.png diff --git a/doc/guides/sample_app_ug/netmap_compatibility.rst b/doc/guides/sample_app_ug/netmap_compatibility.rst new file mode 100644 index 0000000000..9f61cca69a --- /dev/null +++ b/doc/guides/sample_app_ug/netmap_compatibility.rst @@ -0,0 +1,174 @@ +.. 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. + + +Netmap Compatibility Sample Application +======================================= + +Introduction +------------ + +The Netmap compatibility library provides a minimal set of APIs to give the ability to programs written against the Netmap APIs +to be run with minimal changes to their source code, using the Intel® DPDK to perform the actual packet I/O. + +Since Netmap applications use regular system calls, like open(), ioctl() and +mmap() to communicate with the Netmap kernel module performing the packet I/O, +the compat_netmap library provides a set of similar APIs to use in place of those system calls, +effectively turning a Netmap application into a Intel® DPDK one. + +The provided library is currently minimal and doesn't support all the features that Netmap supports, +but is enough to run simple applications, such as the bridge example detailed below. + +Knowledge of Netmap is required to understand the rest of this section. +Please refer to the Netmap distribution for details about Netmap. + +Available APIs +-------------- + +The library provides the following drop-in replacements for system calls usually used in Netmap applications:rte_netmap_close() + +* rte_netmap_ioctl() + +* rte_netmap_open() + +* rte_netmap_mmap() + +* rte_netmap_poll() + +They use the same signature as their libc counterparts, and can be used as drop-in replacements in most cases. + +Caveats +------- + +Given the difference between the way Netmap and the Intel® DPDK approach packet I/O, +there are caveats and limitations to be aware of when trying to use the compat_netmap library, the most important of which are listed below. +Additional caveats are presented in the $RTE_SDK/examples/netmap_compat/README.md file. +These can change as the library is updated: + +* Any system call that can potentially affect file descriptors cannot be used with a descriptor returned by the rte_netmap_open() function. + +Note that: + +* rte_netmap_mmap() merely returns the address of a Intel® DPDK memzone. + The address, length, flags, offset, and so on arguments are therefore ignored completely. + +* rte_netmap_poll() only supports infinite (negative) or zero time outs. + It effectively turns calls to the poll() system call made in a Netmap application into polling of the Intel® DPDK ports, + changing the semantics of the usual POSIX defined poll. + +* Not all of Netmap's features are supported: "host rings", + slot flags and so on are not supported or are simply not relevant in the Intel® DPDK model. + +* The Netmap manual page states that "a device obtained through /dev/netmap also supports the ioctl supported by network devices". + It is not the case with this compatibility layer. + +* The Netmap kernel module exposes a sysfs interface to change some internal parameters, such as the size of the shared memory region. + This interface is not available when using this compatibility layer. + +Porting Netmap Applications +--------------------------- + +Porting Netmap applications typically involves two major steps: + +* Changing the system calls to use their compat_netmap library counterparts + +* Adding further Intel® DPDK initialization code + +Since the compat_netmap functions have the same signature as the usual libc calls, the change is in most cases trivial. + +The usual Intel® DPDK initialization code involving rte_eal_init() and rte_eal_pci_probe() +has to be added to the Netmap application in the same way it is used in all other Intel® DPDK sample applications. +Please refer to the *Intel® DPDK Programmer's Guide* - Rel 1.4 EAR and example source code for details about initialization. + +In addition of the regular Intel® DPDK initialization code, +the ported application needs to call initialization functions for the compat_netmap library, +namely rte_netmap_init() and rte_netmap_init_port(). + +These two initialization functions take compat_netmap specific data structures as parameters: +struct rte_netmap_conf and struct rte_netmap_port_conf. +Those structures' fields are Netmap related and are self-explanatory for developers familiar with Netmap. +They are definedin $RTE_SDK/examples/netmap_compat/ lib/compat_netmap.h. + +The bridge application is an example largely based on the bridge example shipped with the Netmap distribution. +It shows how a minimal Netmap application with minimal and straightforward source code changes can be run on top of the Intel® DPDK. +Please refer to $RTE_SDK/examples/netmap_compat/bridge/bridge.c for an example of ported application. + +Compiling the "bridge" Sample Application +----------------------------------------- + +#. Go to the example directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk + cd ${RTE_SDK}/examples/netmap_compat + +#. 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 *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + +#. Build the application: + + .. code-block:: console + + make + +Running the "bridge" Sample Application +--------------------------------------- + +The application requires a single command line option: + +.. code-block:: console + + ./build/packet_ordering [EAL options] -- -p PORT_A [-p PORT_B] + +where, + +* -p INTERFACE is the number of a valid Intel® DPDK port to use. + + If a single -p parameter is given, the interface will send back all the traffic it receives. + If two -p parameters are given, the two interfaces form a bridge, + where traffic received on one interface is replicated and sent by the other interface. + +To run the application in a linuxapp environment using port 0 and 2, issue the following command: + +.. code-block:: console + + ./build/packet_ordering [EAL options] -- -p 0 -p 2 + +Refer to the *Intel® DPDK Getting Started Guide* for general information on running applications and +the Environment Abstraction Layer (EAL) options. + +Note that unlike a traditional bridge or the l2fwd sample application, no MAC address changes are done on the frames. +Do not forget to take that into account when configuring your traffic generators if you decide to test this sample application. diff --git a/doc/guides/sample_app_ug/qos_metering.rst b/doc/guides/sample_app_ug/qos_metering.rst new file mode 100644 index 0000000000..d947283916 --- /dev/null +++ b/doc/guides/sample_app_ug/qos_metering.rst @@ -0,0 +1,198 @@ +.. 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. + +QoS Metering Sample Application +=============================== + +The QoS meter sample application is an example that demonstrates the use of Intel® DPDK to provide QoS marking and metering, +as defined by RFC2697 for Single Rate Three Color Marker (srTCM) and RFC 2698 for Two Rate Three Color Marker (trTCM) algorithm. + +Overview +-------- + +The application uses a single thread for reading the packets from the RX port, +metering, marking them with the appropriate color (green, yellow or red) and writing them to the TX port. + +A policing scheme can be applied before writing the packets to the TX port by dropping or +changing the color of the packet in a static manner depending on both the input and output colors of the packets that are processed by the meter. + +The operation mode can be selected as compile time out of the following options: + +* Simple forwarding + +* srTCM color blind + +* srTCM color aware + +* srTCM color blind + +* srTCM color aware + +Please refer to RFC2697 and RFC2698 for details about the srTCM and trTCM configurable parameters +(CIR, CBS and EBS for srTCM; CIR, PIR, CBS and PBS for trTCM). + +The color blind modes are functionally equivalent with the color-aware modes when +all the incoming packets are colored as green. + +Compiling the Application +------------------------- + +#. Go to the example directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk + cd ${RTE_SDK}/examples/qos_meter + +#. Set the target + (a default target is used if not specified): + + .. note:: + + This application is intended as a linuxapp only. + + .. code-block:: console + + export RTE_TARGET=x86_64-native-linuxapp-gcc + +#. Build the application: + + .. code-block:: console + + make + +Running the Application +----------------------- + +The application execution command line is as below: + +.. code-block:: console + + ./qos_meter [EAL options] -- -p PORTMASK + +The application is constrained to use a single core in the EAL core mask and 2 ports only in the application port mask +(first port from the port mask is used for RX and the other port in the core mask is used for TX). + +Refer to *Intel® DPDK Getting Started Guide* for general information on running applications and +the Environment Abstraction Layer (EAL) options. + +Explanation +----------- + +Selecting one of the metering modes is done with these defines: + +.. code-block:: c + + #define APP_MODE_FWD 0 + #define APP_MODE_SRTCM_COLOR_BLIND 1 + #define APP_MODE_SRTCM_COLOR_AWARE 2 + #define APP_MODE_TRTCM_COLOR_BLIND 3 + #define APP_MODE_TRTCM_COLOR_AWARE 4 + + #define APP_MODE APP_MODE_SRTCM_COLOR_BLIND + +To simplify debugging (for example, by using the traffic generator RX side MAC address based packet filtering feature), +the color is defined as the LSB byte of the destination MAC address. + +The traffic meter parameters are configured in the application source code with following default values: + +.. code-block:: c + + struct rte_meter_srtcm_params app_srtcm_params[] = { + + {.cir = 1000000 * 46, .cbs = 2048, .ebs = 2048}, + + }; + + struct rte_meter_trtcm_params app_trtcm_params[] = { + + {.cir = 1000000 * 46, .pir = 1500000 * 46, .cbs = 2048, .pbs = 2048}, + + }; + +Assuming the input traffic is generated at line rate and all packets are 64 bytes Ethernet frames (IPv4 packet size of 46 bytes) +and green, the expected output traffic should be marked as shown in the following table: + +.. _table_1: + +**Table 1. Output Traffic Marking** + ++-------------+------------------+-------------------+----------------+ +| **Mode** | **Green (Mpps)** | **Yellow (Mpps)** | **Red (Mpps)** | +| | | | | ++=============+==================+===================+================+ +| srTCM blind | 1 | 1 | 12.88 | +| | | | | ++-------------+------------------+-------------------+----------------+ +| srTCM color | 1 | 1 | 12.88 | +| | | | | ++-------------+------------------+-------------------+----------------+ +| trTCM blind | 1 | 0.5 | 13.38 | +| | | | | ++-------------+------------------+-------------------+----------------+ +| trTCM color | 1 | 0.5 | 13.38 | +| | | | | ++-------------+------------------+-------------------+----------------+ +| FWD | 14.88 | 0 | 0 | +| | | | | ++-------------+------------------+-------------------+----------------+ + +To set up the policing scheme as desired, it is necessary to modify the main.h source file, +where this policy is implemented as a static structure, as follows: + +.. code-block:: c + + int policer_table[e_RTE_METER_COLORS][e_RTE_METER_COLORS] = + { + { GREEN, RED, RED}, + { DROP, YELLOW, RED}, + { DROP, DROP, RED} + }; + +Where rows indicate the input color, columns indicate the output color, +and the value that is stored in the table indicates the action to be taken for that particular case. + +There are four different actions: + +* GREEN: The packet's color is changed to green. + +* YELLOW: The packet's color is changed to yellow. + +* RED: The packet's color is changed to red. + +* DROP: The packet is dropped. + +In this particular case: + +* Every packet which input and output color are the same, keeps the same color. + +* Every packet which color has improved is dropped (this particular case can't happen, so these values will not be used). + +* For the rest of the cases, the color is changed to red. diff --git a/doc/guides/sample_app_ug/qos_scheduler.rst b/doc/guides/sample_app_ug/qos_scheduler.rst new file mode 100644 index 0000000000..616e495298 --- /dev/null +++ b/doc/guides/sample_app_ug/qos_scheduler.rst @@ -0,0 +1,351 @@ +.. 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. + +QoS Scheduler Sample Application +================================ + +The QoS sample application demonstrates the use of the Intel® DPDK to provide QoS scheduling. + +Overview +-------- + +The architecture of the QoS scheduler application is shown in the following figure. + +.. _figure_10: + +**Figure 10. QoS Scheduler Application Architecture** + +.. image13_png has been renamed + +|qos_sched_app_arch| + +There are two flavors of the runtime execution for this application, +with two or three threads per each packet flow configuration being used. +The RX thread reads packets from the RX port, +classifies the packets based on the double VLAN (outer and inner) and +the lower two bytes of the IP destination address and puts them into the ring queue. +The worker thread dequeues the packets from the ring and calls the QoS scheduler enqueue/dequeue functions. +If a separate TX core is used, these are sent to the TX ring. +Otherwise, they are sent directly to the TX port. +The TX thread, if present, reads from the TX ring and write the packets to the TX port. + +Compiling the Application +------------------------- + +To compile the application: + +#. Go to the sample application directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk cd ${RTE_SDK}/examples/qos_sched + +#. Set the target (a default target is used if not specified). For example: + + .. note:: + + This application is intended as a linuxapp only. + + .. code-block:: console + + export RTE_TARGET=x86_64-native-linuxapp-gcc + +#. Build the application: + + .. code-block:: console + + make + +.. note:: + + To get statistics on the sample app using the command line interface as described in the next section, + DPDK must be compiled defining *CONFIG_RTE_SCHED_COLLECT_STATS*, + which can be done by changing the configuration file for the specific target to be compiled. + +Running the Application +----------------------- + +.. note:: + + In order to run the application, a total of at least 4 + G of huge pages must be set up for each of the used sockets (depending on the cores in use). + +The application has a number of command line options: + +.. code-block:: console + + ./qos_sched [EAL options] -- + +Mandatory application parameters include: + +* --pfc "RX PORT, TX PORT, RX LCORE, WT LCORE, TX CORE": Packet flow configuration. + Multiple pfc entities can be configured in the command line, + having 4 or 5 items (if TX core defined or not). + +Optional application parameters include: + +* -i: It makes the application to start in the interactive mode. + In this mode, the application shows a command line that can be used for obtaining statistics while + scheduling is taking place (see interactive mode below for more information). + +* --mst n: Master core index (the default value is 1). + +* --rsz "A, B, C": Ring sizes: + +* A = Size (in number of buffer descriptors) of each of the NIC RX rings read + by the I/O RX lcores (the default value is 128). + +* B = Size (in number of elements) of each of the software rings used + by the I/O RX lcores to send packets to worker lcores (the default value is 8192). + +* C = Size (in number of buffer descriptors) of each of the NIC TX rings written + by worker lcores (the default value is 256) + +* --bsz "A, B, C, D": Burst sizes + +* A = I/O RX lcore read burst size from the NIC RX (the default value is 64) + +* B = I/O RX lcore write burst size to the output software rings, + worker lcore read burst size from input software rings,QoS enqueue size (the default value is 64) + +* C = QoS dequeue size (the default value is 32) + +* D = Worker lcore write burst size to the NIC TX (the default value is 64) + +* --msz M: Mempool size (in number of mbufs) for each pfc (default 2097152) + +* --rth "A, B, C": The RX queue threshold parameters + +* A = RX prefetch threshold (the default value is 8) + +* B = RX host threshold (the default value is 8) + +* C = RX write-back threshold (the default value is 4) + +* --tth "A, B, C": TX queue threshold parameters + +* A = TX prefetch threshold (the default value is 36) + +* B = TX host threshold (the default value is 0) + +* C = TX write-back threshold (the default value is 0) + +* --cfg FILE: Profile configuration to load + +Refer to *Intel®DPDK Getting Started Guide* for general information on running applications and +the Environment Abstraction Layer (EAL) options. + +The profile configuration file defines all the port/subport/pipe/traffic class/queue parameters +needed for the QoS scheduler configuration. + +The profile file has the following format: + +:: + + ; port configuration [port] + + frame overhead = 24 + number of subports per port = 1 + number of pipes per subport = 4096 + queue sizes = 64 64 64 64 + + ; Subport configuration + + [subport 0] + tb rate = 1250000000; Bytes per second + tb size = 1000000; Bytes + tc 0 rate = 1250000000; Bytes per second + tc 1 rate = 1250000000; Bytes per second + tc 2 rate = 1250000000; Bytes per second + tc 3 rate = 1250000000; Bytes per second + tc period = 10; Milliseconds + tc oversubscription period = 10; Milliseconds + + pipe 0-4095 = 0; These pipes are configured with pipe profile 0 + + ; Pipe configuration + + [pipe profile 0] + tb rate = 305175; Bytes per second + tb size = 1000000; Bytes + + tc 0 rate = 305175; Bytes per second + tc 1 rate = 305175; Bytes per second + tc 2 rate = 305175; Bytes per second + tc 3 rate = 305175; Bytes per second + tc period = 40; Milliseconds + + tc 0 oversubscription weight = 1 + tc 1 oversubscription weight = 1 + tc 2 oversubscription weight = 1 + tc 3 oversubscription weight = 1 + + tc 0 wrr weights = 1 1 1 1 + tc 1 wrr weights = 1 1 1 1 + tc 2 wrr weights = 1 1 1 1 + tc 3 wrr weights = 1 1 1 1 + + ; RED params per traffic class and color (Green / Yellow / Red) + + [red] + tc 0 wred min = 48 40 32 + tc 0 wred max = 64 64 64 + tc 0 wred inv prob = 10 10 10 + tc 0 wred weight = 9 9 9 + + tc 1 wred min = 48 40 32 + tc 1 wred max = 64 64 64 + tc 1 wred inv prob = 10 10 10 + tc 1 wred weight = 9 9 9 + + tc 2 wred min = 48 40 32 + tc 2 wred max = 64 64 64 + tc 2 wred inv prob = 10 10 10 + tc 2 wred weight = 9 9 9 + + tc 3 wred min = 48 40 32 + tc 3 wred max = 64 64 64 + tc 3 wred inv prob = 10 10 10 + tc 3 wred weight = 9 9 9 + +Interactive mode +~~~~~~~~~~~~~~~~ + +These are the commands that are currently working under the command line interface: + +* Control Commands + +* --quit: Quits the application. + +* General Statistics + + * stats app: Shows a table with in-app calculated statistics. + + * stats port X subport Y: For a specific subport, it shows the number of packets that + went through the scheduler properly and the number of packets that were dropped. + The same information is shown in bytes. + The information is displayed in a table separating it in different traffic classes. + + * stats port X subport Y pipe Z: For a specific pipe, it shows the number of packets that + went through the scheduler properly and the number of packets that were dropped. + The same information is shown in bytes. + This information is displayed in a table separating it in individual queues. + +* Average queue size + +All of these commands work the same way, averaging the number of packets throughout a specific subset of queues. + +Two parameters can be configured for this prior to calling any of these commands: + + * qavg n X: n is the number of times that the calculation will take place. + Bigger numbers provide higher accuracy. The default value is 10. + + * qavg period X: period is the number of microseconds that will be allowed between each calculation. + The default value is 100. + +The commands that can be used for measuring average queue size are: + +* qavg port X subport Y: Show average queue size per subport. + +* qavg port X subport Y tc Z: Show average queue size per subport for a specific traffic class. + +* qavg port X subport Y pipe Z: Show average queue size per pipe. + +* qavg port X subport Y pipe Z tc A: Show average queue size per pipe for a specific traffic class. + +* qavg port X subport Y pipe Z tc A q B: Show average queue size of a specific queue. + +Example +~~~~~~~ + +The following is an example command with a single packet flow configuration: + +.. code-block:: console + + ./qos_sched -c a2 -n 4 -- --pfc "3,2,5,7" --cfg ./profile.cfg + +This example uses a single packet flow configuration which creates one RX thread on lcore 5 reading +from port 3 and a worker thread on lcore 7 writing to port 2. + +Another example with 2 packet flow configurations using different ports but sharing the same core for QoS scheduler is given below: + +.. code-block:: console + + ./qos_sched -c c6 -n 4 -- --pfc "3,2,2,6,7" --pfc "1,0,2,6,7" --cfg ./profile.cfg + +Note that independent cores for the packet flow configurations for each of the RX, WT and TX thread are also supported, +providing flexibility to balance the work. + +The EAL coremask is constrained to contain the default mastercore 1 and the RX, WT and TX cores only. + +Explanation +----------- + +The Port/Subport/Pipe/Traffic Class/Queue are the hierarchical entities in a typical QoS application: + +* A subport represents a predefined group of users. + +* A pipe represents an individual user/subscriber. + +* A traffic class is the representation of a different traffic type with a specific loss rate, + delay and jitter requirements; such as data voice, video or data transfers. + +* A queue hosts packets from one or multiple connections of the same type belonging to the same user. + +The traffic flows that need to be configured are application dependent. +This application classifies based on the QinQ double VLAN tags and the IP destination address as indicated in the following table. + +.. _table_2: + +**Table 2. Entity Types** + ++----------------+-------------------------+--------------------------------------------------+----------------------------------+ +| **Level Name** | **Siblings per Parent** | **QoS Functional Description** | **Selected By** | +| | | | | ++================+=========================+==================================================+==================================+ +| Port | - | Ethernet port | Physical port | +| | | | | ++----------------+-------------------------+--------------------------------------------------+----------------------------------+ +| Subport | Config (8) | Traffic shaped (token bucket) | Outer VLAN tag | +| | | | | ++----------------+-------------------------+--------------------------------------------------+----------------------------------+ +| Pipe | Config (4k) | Traffic shaped (token bucket) | Inner VLAN tag | +| | | | | ++----------------+-------------------------+--------------------------------------------------+----------------------------------+ +| Traffic Class | 4 | TCs of the same pipe services in strict priority | Destination IP address (0.0.X.0) | +| | | | | ++----------------+-------------------------+--------------------------------------------------+----------------------------------+ +| Queue | 4 | Queue of the same TC serviced in WRR | Destination IP address (0.0.0.X) | +| | | | | ++----------------+-------------------------+--------------------------------------------------+----------------------------------+ + +Please refer to the "QoS Scheduler" chapter in the *Intel® DPDK Programmer's Guide* for more information about these parameters. + +.. |qos_sched_app_arch| image:: img/qos_sched_app_arch.png diff --git a/doc/guides/sample_app_ug/quota_watermark.rst b/doc/guides/sample_app_ug/quota_watermark.rst new file mode 100644 index 0000000000..c44b0b8137 --- /dev/null +++ b/doc/guides/sample_app_ug/quota_watermark.rst @@ -0,0 +1,506 @@ +.. 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. + +Quota and Watermark Sample Application +====================================== + +The Quota and Watermark sample application is a simple example of packet processing using Intel® Data Plane Development Kit (Intel® DPDK) that +showcases the use of a quota as the maximum number of packets enqueue/dequeue at a time and low and high watermarks +to signal low and high ring usage respectively. + +Additionally, it shows how ring watermarks can be used to feedback congestion notifications to data producers by +temporarily stopping processing overloaded rings and sending Ethernet flow control frames. + +This sample application is split in two parts: + +* qw - The core quota and watermark sample application + +* qwctl - A command line tool to alter quota and watermarks while qw is running + +Overview +-------- + +The Quota and Watermark sample application performs forwarding for each packet that is received on a given port. +The destination port is the adjacent port from the enabled port mask, that is, +if the first four ports are enabled (port mask 0xf), ports 0 and 1 forward into each other, +and ports 2 and 3 forward into each other. +The MAC addresses of the forwarded Ethernet frames are not affected. + +Internally, packets are pulled from the ports by the master logical core and put on a variable length processing pipeline, +each stage of which being connected by rings, as shown in Figure 12. + +.. _figure_12: + +**Figure 12. Pipeline Overview** + +.. image15_png has been renamed + +|pipeline_overview| + +An adjustable quota value controls how many packets are being moved through the pipeline per enqueue and dequeue. +Adjustable watermark values associated with the rings control a back-off mechanism that +tries to prevent the pipeline from being overloaded by: + +* Stopping enqueuing on rings for which the usage has crossed the high watermark threshold + +* Sending Ethernet pause frames + +* Only resuming enqueuing on a ring once its usage goes below a global low watermark threshold + +This mechanism allows congestion notifications to go up the ring pipeline and +eventually lead to an Ethernet flow control frame being send to the source. + +On top of serving as an example of quota and watermark usage, +this application can be used to benchmark ring based processing pipelines performance using a traffic- generator, +as shown in Figure 13. + +.. _figure_13: + +**Figure 13. Ring-based Processing Pipeline Performance Setup** + +.. image16_png has been renamed + +|ring_pipeline_perf_setup| + +Compiling the Application +------------------------- + +#. Go to the example directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk + cd ${RTE_SDK}/examples/quota_watermark + +#. 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 *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + +#. Build the application: + + .. code-block:: console + + make + +Running the Application +----------------------- + +The core application, qw, has to be started first. + +Once it is up and running, one can alter quota and watermarks while it runs using the control application, qwctl. + +Running the Core Application +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The application requires a single command line option: + +.. code-block:: console + + ./qw/build/qw [EAL options] -- -p PORTMASK + +where, + +-p PORTMASK: A hexadecimal bitmask of the ports to configure + +To run the application in a linuxapp environment with four logical cores and ports 0 and 2, +issue the following command: + +.. code-block:: console + + ./qw/build/qw -c f -n 4 -- -p 5 + +Refer to the *Intel® DPDK Getting Started Guide* for general information on running applications and +the Environment Abstraction Layer (EAL) options. + +Running the Control Application +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The control application requires a number of command line options: + +.. code-block:: console + + ./qwctl/build/qwctl [EAL options] --proc-type=secondary + +The --proc-type=secondary option is necessary for the EAL to properly initialize the control application to +use the same huge pages as the core application and thus be able to access its rings. + +To run the application in a linuxapp environment on logical core 0, issue the following command: + +.. code-block:: console + + ./qwctl/build/qwctl -c 1 -n 4 --proc-type=secondary + +Refer to the *Intel® DPDK Getting Started* Guide for general information on running applications and +the Environment Abstraction Layer (EAL) options. + +qwctl is an interactive command line that let the user change variables in a running instance of qw. +The help command gives a list of available commands: + +.. code-block:: console + + $ qwctl > help + +Code Overview +------------- + +The following sections provide a quick guide to the application's source code. + +Core Application - qw +~~~~~~~~~~~~~~~~~~~~~ + +EAL and Drivers Setup +^^^^^^^^^^^^^^^^^^^^^ + +The EAL arguments are parsed at the beginning of the MAIN() function: + +.. code-block:: c + + ret = rte_eal_init(argc, argv); + if (ret < 0) + rte_exit(EXIT_FAILURE, "Cannot initialize EAL\n"); + + argc -= ret; + argv += ret; + +Then, a call to init_dpdk(), defined in init.c, is made to initialize the poll mode drivers: + +.. code-block:: c + + void + init_dpdk(void) + { + int ret; + + /* Bind the drivers to usable devices */ + + ret = rte_eal_pci_probe(); + if (ret < 0) + rte_exit(EXIT_FAILURE, "rte_eal_pci_probe(): error %d\n", ret); + + if (rte_eth_dev_count() < 2) + rte_exit(EXIT_FAILURE, "Not enough ethernet port available\n"); + } + +To fully understand this code, it is recommended to study the chapters that relate to the *Poll Mode Driver* +in the *Intel® DPDK Getting Started Guide* and the *Intel® DPDK API Reference*. + +Shared Variables Setup +^^^^^^^^^^^^^^^^^^^^^^ + +The quota and low_watermark shared variables are put into an rte_memzone using a call to setup_shared_variables(): + +.. code-block:: c + + void + setup_shared_variables(void) + { + const struct rte_memzone *qw_memzone; + + qw_memzone = rte_memzone_reserve(QUOTA_WATERMARK_MEMZONE_NAME, 2 * sizeof(int), rte_socket_id(), RTE_MEMZONE_2MB); + + if (qw_memzone == NULL) + rte_exit(EXIT_FAILURE, "%s\n", rte_strerror(rte_errno)); + + quota = qw_memzone->addr; + low_watermark = (unsigned int *) qw_memzone->addr + sizeof(int); + } + +These two variables are initialized to a default value in MAIN() and +can be changed while qw is running using the qwctl control program. + +Application Arguments +^^^^^^^^^^^^^^^^^^^^^ + +The qw application only takes one argument: a port mask that specifies which ports should be used by the application. +At least two ports are needed to run the application and there should be an even number of ports given in the port mask. + +The port mask parsing is done in parse_qw_args(), defined in args.c. + +Mbuf Pool Initialization +^^^^^^^^^^^^^^^^^^^^^^^^ + +Once the application's arguments are parsed, an mbuf pool is created. +It contains a set of mbuf objects that are used by the driver and the application to store network packets: + +.. code-block:: c + + /* Create a pool of mbuf to store packets */ + + mbuf_pool = rte_mempool_create("mbuf_pool", MBUF_PER_POOL, MBUF_SIZE, 32, sizeof(struct rte_pktmbuf_pool_private), + rte_pktmbuf_pool_init, NULL, rte_pktmbuf_init, NULL, rte_socket_id(), 0); + + if (mbuf_pool == NULL) + rte_panic("%s\n", rte_strerror(rte_errno)); + +The rte_mempool is a generic structure used to handle pools of objects. +In this case, it is necessary to create a pool that will be used by the driver, +which expects to have some reserved space in the mempool structure, sizeof(struct rte_pktmbuf_pool_private) bytes. + +The number of allocated pkt mbufs is MBUF_PER_POOL, with a size of MBUF_SIZE each. +A per-lcore cache of 32 mbufs is kept. +The memory is allocated in on the master lcore's socket, but it is possible to extend this code to allocate one mbuf pool per socket. + +Two callback pointers are also given to the rte_mempool_create() function: + +* The first callback pointer is to rte_pktmbuf_pool_init() and is used to initialize the private data of the mempool, + which is needed by the driver. + This function is provided by the mbuf API, but can be copied and extended by the developer. + +* The second callback pointer given to rte_mempool_create() is the mbuf initializer. + +The default is used, that is, rte_pktmbuf_init(), which is provided in the rte_mbuf library. +If a more complex application wants to extend the rte_pktmbuf structure for its own needs, +a new function derived from rte_pktmbuf_init() can be created. + +Ports Configuration and Pairing +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Each port in the port mask is configured and a corresponding ring is created in the master lcore's array of rings. +This ring is the first in the pipeline and will hold the packets directly coming from the port. + +.. code-block:: c + + for (port_id = 0; port_id < RTE_MAX_ETHPORTS; port_id++) + if (is_bit_set(port_id, portmask)) { + configure_eth_port(port_id); + init_ring(master_lcore_id, port_id); + } + + pair_ports(); + +The configure_eth_port() and init_ring() functions are used to configure a port and a ring respectively and are defined in init.c. +They make use of the Intel® DPDK APIs defined in rte_eth.h and rte_ring.h. + +pair_ports() builds the port_pairs[] array so that its key-value pairs are a mapping between reception and transmission ports. +It is defined in init.c. + +Logical Cores Assignment +^^^^^^^^^^^^^^^^^^^^^^^^ + +The application uses the master logical core to poll all the ports for new packets and enqueue them on a ring associated with the port. + +Each logical core except the last runs pipeline_stage() after a ring for each used port is initialized on that core. +pipeline_stage() on core X dequeues packets from core X-1's rings and enqueue them on its own rings. See Figure 14. + +.. code-block:: c + + /* Start pipeline_stage() on all the available slave lcore but the last */ + + for (lcore_id = 0 ; lcore_id < last_lcore_id; lcore_id++) { + if (rte_lcore_is_enabled(lcore_id) && lcore_id != master_lcore_id) { + for (port_id = 0; port_id < RTE_MAX_ETHPORTS; port_id++) + if (is_bit_set(port_id, portmask)) + init_ring(lcore_id, port_id); + + rte_eal_remote_launch(pipeline_stage, NULL, lcore_id); + } + } + +The last available logical core runs send_stage(), +which is the last stage of the pipeline dequeuing packets from the last ring in the pipeline and +sending them out on the destination port setup by pair_ports(). + +.. code-block:: c + + /* Start send_stage() on the last slave core */ + + rte_eal_remote_launch(send_stage, NULL, last_lcore_id); + +Receive, Process and Transmit Packets +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. _figure_14: + +Figure 14 shows where each thread in the pipeline is. +It should be used as a reference while reading the rest of this section. + +**Figure 14. Threads and Pipelines** + +.. image17_png has been renamed + +|threads_pipelines| + +In the receive_stage() function running on the master logical core, +the main task is to read ingress packets from the RX ports and enqueue them +on the port's corresponding first ring in the pipeline. +This is done using the following code: + +.. code-block:: c + + lcore_id = rte_lcore_id(); + + /* Process each port round robin style */ + + for (port_id = 0; port_id < RTE_MAX_ETHPORTS; port_id++) { + if (!is_bit_set(port_id, portmask)) + continue; + + ring = rings[lcore_id][port_id]; + + if (ring_state[port_id] != RING_READY) { + if (rte_ring_count(ring) > *low_watermark) + continue; + else + ring_state[port_id] = RING_READY; + } + + /* Enqueue received packets on the RX ring */ + + nb_rx_pkts = rte_eth_rx_burst(port_id, 0, pkts, *quota); + + ret = rte_ring_enqueue_bulk(ring, (void *) pkts, nb_rx_pkts); + if (ret == -EDQUOT) { + ring_state[port_id] = RING_OVERLOADED; + send_pause_frame(port_id, 1337); + } + } + +For each port in the port mask, the corresponding ring's pointer is fetched into ring and that ring's state is checked: + +* If it is in the RING_READY state, \*quota packets are grabbed from the port and put on the ring. + Should this operation make the ring's usage cross its high watermark, + the ring is marked as overloaded and an Ethernet flow control frame is sent to the source. + +* If it is not in the RING_READY state, this port is ignored until the ring's usage crosses the \*low_watermark value. + +The pipeline_stage() function's task is to process and move packets from the preceding pipeline stage. +This thread is running on most of the logical cores to create and arbitrarily long pipeline. + +.. code-block:: c + + lcore_id = rte_lcore_id(); + + previous_lcore_id = get_previous_lcore_id(lcore_id); + + for (port_id = 0; port_id < RTE_MAX_ETHPORTS; port_id++) { + if (!is_bit_set(port_id, portmask)) + continue; + + tx = rings[lcore_id][port_id]; + rx = rings[previous_lcore_id][port_id]; + if (ring_state[port_id] != RING_READY) { + if (rte_ring_count(tx) > *low_watermark) + continue; + else + ring_state[port_id] = RING_READY; + } + + /* Dequeue up to quota mbuf from rx */ + + nb_dq_pkts = rte_ring_dequeue_burst(rx, pkts, *quota); + + if (unlikely(nb_dq_pkts < 0)) + continue; + + /* Enqueue them on tx */ + + ret = rte_ring_enqueue_bulk(tx, pkts, nb_dq_pkts); + if (ret == -EDQUOT) + ring_state[port_id] = RING_OVERLOADED; + } + +The thread's logic works mostly like receive_stage(), +except that packets are moved from ring to ring instead of port to ring. + +In this example, no actual processing is done on the packets, +but pipeline_stage() is an ideal place to perform any processing required by the application. + +Finally, the send_stage() function's task is to read packets from the last ring in a pipeline and +send them on the destination port defined in the port_pairs[] array. +It is running on the last available logical core only. + +.. code-block:: c + + lcore_id = rte_lcore_id(); + + previous_lcore_id = get_previous_lcore_id(lcore_id); + + for (port_id = 0; port_id < RTE_MAX_ETHPORTS; port_id++) { + if (!is_bit_set(port_id, portmask)) continue; + + dest_port_id = port_pairs[port_id]; + tx = rings[previous_lcore_id][port_id]; + + if (rte_ring_empty(tx)) continue; + + /* Dequeue packets from tx and send them */ + + nb_dq_pkts = rte_ring_dequeue_burst(tx, (void *) tx_pkts, *quota); + nb_tx_pkts = rte_eth_tx_burst(dest_port_id, 0, tx_pkts, nb_dq_pkts); + } + +For each port in the port mask, up to \*quota packets are pulled from the last ring in its pipeline and +sent on the destination port paired with the current port. + +Control Application - qwctl +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The qwctl application uses the rte_cmdline library to provide the user with an interactive command line that +can be used to modify and inspect parameters in a running qw application. +Those parameters are the global quota and low_watermark value as well as each ring's built-in high watermark. + +Command Definitions +^^^^^^^^^^^^^^^^^^^ + +The available commands are defined in commands.c. + +It is advised to use the cmdline sample application user guide as a reference for everything related to the rte_cmdline library. + +Accessing Shared Variables +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The setup_shared_variables() function retrieves the shared variables quota and +low_watermark from the rte_memzone previously created by qw. + +.. code-block:: c + + static void + setup_shared_variables(void) + { + const struct rte_memzone *qw_memzone; + + qw_memzone = rte_memzone_lookup(QUOTA_WATERMARK_MEMZONE_NAME); + if (qw_memzone == NULL) + rte_exit(EXIT_FAILURE, "Could't find memzone\n"); + + quota = qw_memzone->addr; + + low_watermark = (unsigned int *) qw_memzone->addr + sizeof(int); + } + +.. |pipeline_overview| image:: img/pipeline_overview.png + +.. |ring_pipeline_perf_setup| image:: img/ring_pipeline_perf_setup.png + +.. |threads_pipelines| image:: img/threads_pipelines.png diff --git a/doc/guides/sample_app_ug/test_pipeline.rst b/doc/guides/sample_app_ug/test_pipeline.rst new file mode 100644 index 0000000000..38b413a4c0 --- /dev/null +++ b/doc/guides/sample_app_ug/test_pipeline.rst @@ -0,0 +1,273 @@ +.. 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. + +Test Pipeline Application +========================= + +The Test Pipeline application illustrates the use of the Intel® DPDK Packet Framework tool suite. +Its purpose is to demonstrate the performance of single-table Intel® DPDK pipelines. + +Overview +-------- + +The application uses three CPU cores: + +* Core A ("RX core") receives traffic from the NIC ports and feeds core B with traffic through SW queues. + +* Core B ("Pipeline core") implements a single-table Intel® DPDK pipeline + whose type is selectable through specific command line parameter. + Core B receives traffic from core A through software queues, + processes it according to the actions configured in the table entries that + are hit by the input packets and feeds it to core C through another set of software queues. + +* Core C ("TX core") receives traffic from core B through software queues and sends it to the NIC ports for transmission. + +.. _figure_21: + +**Figure 21.Test Pipeline Application** + +.. image24_png has been renamed + +|test_pipeline_app| + +Compiling the Application +------------------------- + +#. Go to the app/test directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk + cd ${RTE_SDK}/app/test/test-pipeline + +#. Set the target (a default target is used if not specified): + + .. code-block:: console + + export RTE_TARGET=x86_64-native-linuxapp-gcc + +#. Build the application: + + .. code-block:: console + + make + +Running the Application +----------------------- + +Application Command Line +~~~~~~~~~~~~~~~~~~~~~~~~ + +The application execution command line is: + +.. code-block:: console + + ./test-pipeline [EAL options] -- -p PORTMASK --TABLE_TYPE + +The -c EAL CPU core mask option has to contain exactly 3 CPU cores. +The first CPU core in the core mask is assigned for core A, the second for core B and the third for core C. + +The PORTMASK parameter must contain 2 or 4 ports. + +Table Types and Behavior +~~~~~~~~~~~~~~~~~~~~~~~~ + +Table 3 describes the table types used and how they are populated. + +The hash tables are pre-populated with 16 million keys. +For hash tables, the following parameters can be selected: + +* **Configurable key size implementation or fixed (specialized) key size implementation (e.g. hash-8-ext or hash-spec-8-ext).** + The key size specialized implementations are expected to provide better performance for 8-byte and 16-byte key sizes, + while the key-size-non-specialized implementation is expected to provide better performance for larger key sizes; + +* **Key size (e.g. hash-spec-8-ext or hash-spec-16-ext).** + The available options are 8, 16 and 32 bytes; + +* **Table type (e.g. hash-spec-16-ext or hash-spec-16-lru).** + The available options are ext (extendible bucket) or lru (least recently used). + +.. _table_3: + +**Table 3. Table Types** + ++-------+------------------------+----------------------------------------------------------+-------------------------------------------------------+ +| **#** | **TABLE_TYPE** | **Description of Core B Table** | **Pre-added Table Entries** | +| | | | | ++=======+========================+==========================================================+=======================================================+ +| 1 | none | Core B is not implementing an Intel® DPDK pipeline. | N/A | +| | | Core B is implementing a pass-through from its input set | | +| | | of software queues to its output set of software queues. | | +| | | | | ++-------+------------------------+----------------------------------------------------------+-------------------------------------------------------+ +| 2 | stub | Stub table. Core B is implementing the same pass-through | N/A | +| | | functionality as described for the "none" option by | | +| | | using the Intel® DPDK Packet Framework by using one | | +| | | stub table for each input NIC port. | | +| | | | | ++-------+------------------------+----------------------------------------------------------+-------------------------------------------------------+ +| 3 | hash-[spec]-8-lru | LRU hash table with 8-byte key size and 16 million | 16 million entries are successfully added to the | +| | | entries. | hash table with the following key format: | +| | | | | +| | | | [4-byte index, 4 bytes of 0] | ++-------+------------------------+----------------------------------------------------------+ | +| 4 | hash-[spec]-8-ext | Extendible bucket hash table with 8-byte key size | The action configured for all table entries is | +| | | and 16 million entries. | "Sendto output port", with the output port index | +| | | | uniformly distributed for the range of output ports. | +| | | | | +| | | | The default table rule (used in the case of a lookup | +| | | | miss) is to drop the packet. | +| | | | | +| | | | At run time, core A is creating the following lookup | +| | | | key and storing it into the packet meta data for | +| | | | core B to use for table lookup: | +| | | | | +| | | | [destination IPv4 address, 4 bytes of 0] | +| | | | | ++-------+------------------------+----------------------------------------------------------+-------------------------------------------------------+ +| 5 | hash-[spec]-16-lru | LRU hash table with 16-byte key size and 16 million | 16 million entries are successfully added to the hash | +| | | entries. | table with the following key format: | +| | | | | +| | | | [4-byte index, 12 bytes of 0] | ++-------+------------------------+----------------------------------------------------------+ | +| 6 | hash-[spec]-ash-16-ext | Extendible bucket hash table with 16-byte key size | The action configured for all table entries is | +| | | and 16 million entries. | "Send to output port", with the output port index | +| | | | uniformly distributed for the range of output ports. | +| | | | | +| | | | The default table rule (used in the case of a lookup | +| | | | miss) is to drop the packet. | +| | | | | +| | | | At run time, core A is creating the following lookup | +| | | | key and storing it into the packet meta data for core | +| | | | B to use for table lookup: | +| | | | | +| | | | [destination IPv4 address, 12 bytes of 0] | +| | | | | ++-------+------------------------+----------------------------------------------------------+-------------------------------------------------------+ +| 7 | hash-[spec]-32-lru | LRU hash table with 32-byte key size and 16 million | 16 million entries are successfully added to the hash | +| | | entries. | table with the following key format: | +| | | | | +| | | | [4-byte index, 28 bytes of 0]. | ++-------+------------------------+----------------------------------------------------------+ | +| 8 | hash-[spec]-32-ext | Extendible bucket hash table with 32-byte key size | The action configured for all table entries is | +| | | and 16 million entries. | "Send to output port", with the output port index | +| | | | uniformly distributed for the range of output ports. | +| | | | | +| | | | The default table rule (used in the case of a lookup | +| | | | miss) is to drop the packet. | +| | | | | +| | | | At run time, core A is creating the following lookup | +| | | | key and storing it into the packet meta data for | +| | | | Lpmcore B to use for table lookup: | +| | | | | +| | | | [destination IPv4 address, 28 bytes of 0] | +| | | | | ++-------+------------------------+----------------------------------------------------------+-------------------------------------------------------+ +| 9 | lpm | Longest Prefix Match (LPM) IPv4 table. | In the case of two ports, two routes | +| | | | are added to the table: | +| | | | | +| | | | [0.0.0.0/9 => send to output port 0] | +| | | | | +| | | | [0.128.0.0/9 => send to output port 1] | +| | | | | +| | | | In case of four ports, four entries are added to the | +| | | | table: | +| | | | | +| | | | [0.0.0.0/10 => send to output port 0] | +| | | | | +| | | | [0.64.0.0/10 => send to output port 1] | +| | | | | +| | | | [0.128.0.0/10 => send to output port 2] | +| | | | | +| | | | [0.192.0.0/10 => send to output port 3] | +| | | | | +| | | | The default table rule (used in the case of a lookup | +| | | | miss) is to drop the packet. | +| | | | | +| | | | At run time, core A is storing the IPv4 destination | +| | | | within the packet meta data to be later used by core | +| | | | B as the lookup key. | +| | | | | ++-------+------------------------+----------------------------------------------------------+-------------------------------------------------------+ +| 10 | acl | Access Control List (ACL) table | In the case of two ports, two ACL rules are added to | +| | | | the table: | +| | | | | +| | | | [priority = 0 (highest), | +| | | | | +| | | | IPv4 source = ANY, | +| | | | | +| | | | IPv4 destination = 0.0.0.0/9, | +| | | | | +| | | | L4 protocol = ANY, | +| | | | | +| | | | TCP source port = ANY, | +| | | | | +| | | | TCP destination port = ANY | +| | | | | +| | | | => send to output port 0] | +| | | | | +| | | | | +| | | | [priority = 0 (highest), | +| | | | | +| | | | IPv4 source = ANY, | +| | | | | +| | | | IPv4 destination = 0.128.0.0/9, | +| | | | | +| | | | L4 protocol = ANY, | +| | | | | +| | | | TCP source port = ANY, | +| | | | | +| | | | TCP destination port = ANY | +| | | | | +| | | | => send to output port 0]. | +| | | | | +| | | | | +| | | | The default table rule (used in the case of a lookup | +| | | | miss) is to drop the packet. | +| | | | | ++-------+------------------------+----------------------------------------------------------+-------------------------------------------------------+ + +Input Traffic +~~~~~~~~~~~~~ + +Regardless of the table type used for the core B pipeline, +the same input traffic can be used to hit all table entries with uniform distribution, +which results in uniform distribution of packets sent out on the set of output NIC ports. +The profile for input traffic is TCP/IPv4 packets with: + +* destination IP address as A.B.C.D with A fixed to 0 and B, C,D random + +* source IP address fixed to 0.0.0.0 + +* destination TCP port fixed to 0 + +* source TCP port fixed to 0 + +.. |test_pipeline_app| image:: img/test_pipeline_app.png diff --git a/doc/guides/sample_app_ug/timer.rst b/doc/guides/sample_app_ug/timer.rst new file mode 100644 index 0000000000..bdd57d947f --- /dev/null +++ b/doc/guides/sample_app_ug/timer.rst @@ -0,0 +1,219 @@ +.. 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. + +Timer Sample Application +======================== + +The Timer sample application is a simple application that demonstrates the use of a timer in an Intel® DPDK application. +This application prints some messages from different lcores regularly, demonstrating the use of timers. + +Compiling the Application +------------------------- + +#. Go to the example directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk cd ${RTE_SDK}/examples/timer + +#. 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 *Intel® DPDK Getting Started Guide* for possible *RTE_TARGET* values. + +#. Build the application: + + .. code-block:: console + + make + +Running the Application +----------------------- + +To run the example in linuxapp environment: + +.. code-block:: console + + $ ./build/timer -c f -n 4 + +Refer to the *Intel® DPDK Getting Started Guide* for general information on running applications and +the Environment Abstraction Layer (EAL) options. + +Explanation +----------- + +The following sections provide some explanation of the code. + +Initialization and Main Loop +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In addition to EAL initialization, the timer subsystem must be initialized, by calling the rte_timer_subsystem_init() function. + +.. code-block:: c + + /* init EAL */ + + ret = rte_eal_init(argc, argv); + if (ret < 0) + rte_panic("Cannot init EAL\n"); + + /* init RTE timer library */ + + rte_timer_subsystem_init(); + +After timer creation (see the next paragraph), +the main loop is executed on each slave lcore using the well-known rte_eal_remote_launch() and also on the master. + +.. code-block:: c + + /* call lcore_mainloop() on every slave lcore */ + + RTE_LCORE_FOREACH_SLAVE(lcore_id) { + rte_eal_remote_launch(lcore_mainloop, NULL, lcore_id); + } + + /* call it on master lcore too */ + + (void) lcore_mainloop(NULL); + +The main loop is very simple in this example: + +.. code-block:: c + + while (1) { + /* + * Call the timer handler on each core: as we don't + * need a very precise timer, so only call + * rte_timer_manage() every ~10ms (at 2 Ghz). In a real + * application, this will enhance performances as + * reading the HPET timer is not efficient. + */ + + cur_tsc = rte_rdtsc(); + + diff_tsc = cur_tsc - prev_tsc; + + if (diff_tsc > TIMER_RESOLUTION_CYCLES) { + rte_timer_manage(); + prev_tsc = cur_tsc; + } + } + +As explained in the comment, it is better to use the TSC register (as it is a per-lcore register) to check if the +rte_timer_manage() function must be called or not. +In this example, the resolution of the timer is 10 milliseconds. + +Managing Timers +~~~~~~~~~~~~~~~ + +In the main() function, the two timers are initialized. +This call to rte_timer_init() is necessary before doing any other operation on the timer structure. + +.. code-block:: c + + /* init timer structures */ + + rte_timer_init(&timer0); + rte_timer_init(&timer1); + +Then, the two timers are configured: + +* The first timer (timer0) is loaded on the master lcore and expires every second. + Since the PERIODICAL flag is provided, the timer is reloaded automatically by the timer subsystem. + The callback function is timer0_cb(). + +* The second timer (timer1) is loaded on the next available lcore every 333 ms. + The SINGLE flag means that the timer expires only once and must be reloaded manually if required. + The callback function is timer1_cb(). + +.. code-block:: c + + /* load timer0, every second, on master lcore, reloaded automatically */ + + hz = rte_get_hpet_hz(); + + lcore_id = rte_lcore_id(); + + rte_timer_reset(&timer0, hz, PERIODICAL, lcore_id, timer0_cb, NULL); + + /* load timer1, every second/3, on next lcore, reloaded manually */ + + lcore_id = rte_get_next_lcore(lcore_id, 0, 1); + + rte_timer_reset(&timer1, hz/3, SINGLE, lcore_id, timer1_cb, NULL); + +The callback for the first timer (timer0) only displays a message until a global counter reaches 20 (after 20 seconds). +In this case, the timer is stopped using the rte_timer_stop() function. + +.. code-block:: c + + /* timer0 callback */ + + static void + timer0_cb( attribute ((unused)) struct rte_timer *tim, __attribute ((unused)) void *arg) + { + static unsigned counter = 0; + + unsigned lcore_id = rte_lcore_id(); + + printf("%s() on lcore %u\n", FUNCTION , lcore_id); + + /* this timer is automatically reloaded until we decide to stop it, when counter reaches 20. */ + + if ((counter ++) == 20) + rte_timer_stop(tim); + } + +The callback for the second timer (timer1) displays a message and reloads the timer on the next lcore, using the +rte_timer_reset() function: + +.. code-block:: c + + /* timer1 callback */ + + static void + timer1_cb( attribute ((unused)) struct rte_timer *tim, _attribute ((unused)) void *arg) + { + unsigned lcore_id = rte_lcore_id(); + uint64_t hz; + + printf("%s() on lcore %u\\n", FUNCTION , lcore_id); + + /* reload it on another lcore */ + + hz = rte_get_hpet_hz(); + + lcore_id = rte_get_next_lcore(lcore_id, 0, 1); + + rte_timer_reset(&timer1, hz/3, SINGLE, lcore_id, timer1_cb, NULL); + } diff --git a/doc/guides/sample_app_ug/vhost.rst b/doc/guides/sample_app_ug/vhost.rst new file mode 100644 index 0000000000..b605b24789 --- /dev/null +++ b/doc/guides/sample_app_ug/vhost.rst @@ -0,0 +1,758 @@ +.. 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. + + +Vhost Sample Application +======================== + +The vhost sample application demonstrates integration of the Intel® Data Plane Development Kit (Intel® DPDK) +with the Linux* KVM hypervisor by implementing the vhost-net offload API. +The sample application performs simple packet switching between virtual machines based on Media Access Control +(MAC) address or Virtual Local Area Network (VLAN) tag. +The splitting of ethernet traffic from an external switch is performed in hardware by the Virtual Machine Device Queues +(VMDQ) and Data Center Bridging (DCB) features of the Intel® 82599 10 Gigabit Ethernet Controller. + +Background +---------- + +Virtio networking (virtio-net) was developed as the Linux* KVM para-virtualized method for communicating network packets +between host and guest. +It was found that virtio-net performance was poor due to context switching and packet copying between host, guest, and QEMU. +The following figure shows the system architecture for a virtio- based networking (virtio-net). + +.. _figure_16: + +**Figure16. QEMU Virtio-net (prior to vhost-net)** + +.. image19_png has been renamed + +|qemu_virtio_net| + +The Linux* Kernel vhost-net module was developed as an offload mechanism for virtio-net. +The vhost-net module enables KVM (QEMU) to offload the servicing of virtio-net devices to the vhost-net kernel module, +reducing the context switching and packet copies in the virtual dataplane. + +This is achieved by QEMU sharing the following information with the vhost-net module through the vhost-net API: + +* The layout of the guest memory space, to enable the vhost-net module to translate addresses. + +* The locations of virtual queues in QEMU virtual address space, + to enable the vhost module to read/write directly to and from the virtqueues. + +* An event file descriptor (eventfd) configured in KVM to send interrupts to the virtio- net device driver in the guest. + This enables the vhost-net module to notify (call) the guest. + +* An eventfd configured in KVM to be triggered on writes to the virtio-net device's + Peripheral Component Interconnect (PCI) config space. + This enables the vhost-net module to receive notifications (kicks) from the guest. + +The following figure shows the system architecture for virtio-net networking with vhost-net offload. + +.. _figure_17: + +**Figure 17. Virtio with Linux* Kernel Vhost** + +.. image20_png has been renamed + +|virtio_linux_vhost| + +Sample Code Overview +-------------------- + +The Intel® DPDK vhost-net sample code demonstrates KVM (QEMU) offloading the servicing of a Virtual Machine's (VM's) +virtio-net devices to an Intel® DPDK-based application in place of the kernel's vhost-net module. + +The Intel® DPDK vhost-net sample code is a simple packet switching application with the following features: + +* Management of virtio-net device creation/destruction events. + +* Mapping of the VM's physical memory into the Intel® DPDK vhost-net sample code's address space. + +* Triggering/receiving notifications to/from VMs via eventfds. + +* A virtio-net back-end implementation providing a subset of virtio-net features. + +* Packet switching between virtio-net devices and the network interface card, + including using VMDQs to reduce the switching that needs to be performed in software. + +The following figure shows the architecture of the Vhost sample application. + +.. _figure_18: + +**Figure 18. Vhost-net Architectural Overview** + +.. image21_png has been renamed + +|vhost_net_arch| + +The following figure shows the flow of packets through the vhost-net sample application. + +.. _figure_19: + +**Figure 19. Packet Flow Through the vhost-net Sample Application** + +.. image22_png has been renamed + +|vhost_net_sample_app| + +Supported Distributions +----------------------- + +The example in this section have been validated with the following distributions: + +* Fedora* 18 + +* Fedora* 19 + +Prerequisites +------------- + +This section lists prerequisite packages that must be installed. + +Installing Packages on the Host +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The vhost sample code uses the following packages; fuse, fuse-devel, and kernel- modules-extra. + +#. Install Fuse Development Libraries and headers: + + .. code-block:: console + + yum -y install fuse fuse-devel + +#. Install the Cuse Kernel Module: + + .. code-block:: console + + yum -y install kernel-modules-extra + +Setting up the Execution Environment +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The vhost sample code requires that QEMU allocates a VM's memory on the hugetlbfs file system. +As the vhost sample code requires hugepages, +the best practice is to partition the system into separate hugepage mount points for the VMs and the vhost sample code. + +.. note:: + + This is best-practice only and is not mandatory. + For systems that only support 2 MB page sizes, + both QEMU and vhost sample code can use the same hugetlbfs mount point without issue. + +**QEMU** + +VMs with gigabytes of memory can benefit from having QEMU allocate their memory from 1 GB huge pages. +1 GB huge pages must be allocated at boot time by passing kernel parameters through the grub boot loader. + +#. Calculate the maximum memory usage of all VMs to be run on the system. + Then, round this value up to the nearest Gigabyte the execution environment will require. + +#. Edit the /etc/default/grub file, and add the following to the GRUB_CMDLINE_LINUX entry: + + .. code-block:: console + + GRUB_CMDLINE_LINUX="... hugepagesz=1G hugepages= default_hugepagesz=1G" + +#. Update the grub boot loader: + + .. code-block:: console + + grub2-mkconfig -o /boot/grub2/grub.cfg + +#. Reboot the system. + +#. The hugetlbfs mount point (/dev/hugepages) should now default to allocating gigabyte pages. + +.. note:: + + Making the above modification will change the system default hugepage size to 1 GB for all applications. + +**Vhost Sample Code** + +In this section, we create a second hugetlbs mount point to allocate hugepages for the Intel® DPDK vhost sample code. + +#. Allocate sufficient 2 MB pages for the Intel® DPDK vhost sample code: + + .. code-block:: console + + echo 256 > /sys/kernel/mm/hugepages/hugepages-2048kB/ nr_hugepages + +#. Mount hugetlbs at a separate mount point for 2 MB pages: + + .. code-block:: console + + mount -t hugetlbfs nodev /mnt/huge -o pagesize=2M + +The above steps can be automated by doing the following: + +#. Edit /etc/fstab to add an entry to automatically mount the second hugetlbfs mount point: + + :: + + hugetlbfs /mnt/huge hugetlbfs defaults,pagesize=1G 0 0 + +#. Edit the /etc/default/grub file, and add the following to the GRUB_CMDLINE_LINUX entry: + + :: + + GRUB_CMDLINE_LINUX="... hugepagesz=2M hugepages=256 ... default_hugepagesz=1G" + +#. Update the grub bootloader: + + .. code-block:: console + + grub2-mkconfig -o /boot/grub2/grub.cfg + +#. Reboot the system. + +.. note:: + + Ensure that the default hugepage size after this setup is 1 GB. + +Setting up the Guest Execution Environment +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +It is recommended for testing purposes that the Intel® DPDK testpmd sample application is used in the guest to forward packets, +the reasons for this are discussed in Section 22.7, "Running the Virtual Machine (QEMU)". + +The testpmd application forwards packets between pairs of Ethernet devices, +it requires an even number of Ethernet devices (virtio or otherwise) to execute. +It is therefore recommended to create multiples of two virtio-net devices for each Virtual Machine either through libvirt or +at the command line as follows. + +.. note:: + + Observe that in the example, "-device" and "-netdev" are repeated for two virtio-net devices. + +.. code-block:: console + + user@target:~$ qemu-system-x86_64 ... \ + -netdev tap,id=hostnet1,vhost=on,vhostfd= \ + -device virtio-net-pci, netdev=hostnet1,id=net1 \ + -netdev tap,id=hostnet2,vhost=on,vhostfd= \ + -device virtio-net-pci, netdev=hostnet2,id=net1 + + +Compiling the Sample Code +------------------------- + +#. Go to the examples directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk cd ${RTE_SDK}/examples/vhost-net + +#. 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 Intel® DPDK Getting Started Guide for possible RTE_TARGET values. + +#. Build the application: + + .. code-block:: console + + make + + .. note:: + + Note For zero copy, need firstly disable CONFIG_RTE_MBUF_SCATTER_GATHER, + CONFIG_RTE_LIBRTE_IP_FRAG and CONFIG_RTE_LIBRTE_DISTRIBUTOR + in the config file and then re-configure and compile the core lib, and then build the application: + + .. code-block:: console + + vi ${RTE_SDK}/config/common_linuxapp + + change it as follows: + + :: + + CONFIG_RTE_MBUF_SCATTER_GATHER=n + CONFIG_RTE_LIBRTE_IP_FRAG=n + CONFIG_RTE_LIBRTE_DISTRIBUTOR=n + + .. code-block:: console + + cd ${RTE_SDK} + make config ${RTE_TARGET} + make install ${RTE_TARGET} + cd ${RTE_SDK}/examples/vhost + make + +#. Go to the eventfd_link directory: + + .. code-block:: console + + cd ${RTE_SDK}/examples/vhost-net/eventfd_link + +#. Build the eventfd_link kernel module: + + .. code-block:: console + + make + +Running the Sample Code +----------------------- + +#. Install the cuse kernel module: + + .. code-block:: console + + modprobe cuse + +#. Go to the eventfd_link directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk + cd ${RTE_SDK}/examples/vhost-net/eventfd_link + +#. Install the eventfd_link module: + + .. code-block:: console + + insmod ./eventfd_link.ko + +#. Go to the examples directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk + cd ${RTE_SDK}/examples/vhost-net + +#. Run the vhost-switch sample code: + + .. code-block:: console + + user@target:~$ ./build/app/vhost-switch -c f -n 4 --huge-dir / mnt/huge -- -p 0x1 --dev-basename usvhost --dev-index 1 + +.. note:: + + Please note the huge-dir parameter instructs the Intel® DPDK to allocate its memory from the 2 MB page hugetlbfs. + +Parameters +~~~~~~~~~~ + +**Basename and Index.** +The Intel® DPDK vhost-net sample code uses a Linux* character device to communicate with QEMU. +The basename and the index are used to generate the character devices name. + + /dev/- + +The index parameter is provided for a situation where multiple instances of the virtual switch is required. + +For compatibility with the QEMU wrapper script, a base name of "usvhost" and an index of "1" should be used: + +.. code-block:: console + + user@target:~$ ./build/app/vhost-switch -c f -n 4 --huge-dir / mnt/huge -- -p 0x1 --dev-basename usvhost --dev-index 1 + +**vm2vm.** +The vm2vm parameter disable/set mode of packet switching between guests in the host. +Value of "0" means disabling vm2vm implies that on virtual machine packet transmission will always go to the Ethernet port; +Value of "1" means software mode packet forwarding between guests, it needs packets copy in vHOST, +so valid only in one-copy implementation, and invalid for zero copy implementation; +value of "2" means hardware mode packet forwarding between guests, it allows packets go to the Ethernet port, +hardware L2 switch will determine which guest the packet should forward to or need send to external, +which bases on the packet destination MAC address and VLAN tag. + +.. code-block:: console + + user@target:~$ ./build/app/vhost-switch -c f -n 4 --huge-dir /mnt/huge -- --vm2vm [0,1,2] + +**Mergeable Buffers.** +The mergeable buffers parameter controls how virtio-net descriptors are used for virtio-net headers. +In a disabled state, one virtio-net header is used per packet buffer; +in an enabled state one virtio-net header is used for multiple packets. +The default value is 0 or disabled since recent kernels virtio-net drivers show performance degradation with this feature is enabled. + +.. code-block:: console + + user@target:~$ ./build/app/vhost-switch -c f -n 4 --huge-dir / mnt/huge -- --mergeable [0,1] + +**Stats.** +The stats parameter controls the printing of virtio-net device statistics. +The parameter specifies an interval second to print statistics, with an interval of 0 seconds disabling statistics. + +.. code-block:: console + + user@target:~$ ./build/app/vhost-switch -c f -n 4 --huge-dir / mnt/huge -- --stats [0,n] + +**RX Retry.** +The rx-retry option enables/disables enqueue retries when the guests RX queue is full. +This feature resolves a packet loss that is observed at high data-rates, +by allowing it to delay and retry in the receive path. +This option is enabled by default. + +.. code-block:: console + + user@target:~$ ./build/app/vhost-switch -c f -n 4 --huge-dir / mnt/huge -- --rx-retry [0,1] + +**RX Retry Number.** +The rx-retry-num option specifies the number of retries on an RX burst, +it takes effect only when rx retry is enabled. +The default value is 4. + +.. code-block:: console + + user@target:~$ ./build/app/vhost-switch -c f -n 4 --huge-dir / mnt/huge -- --rx-retry 1 --rx-retry-num 5 + +**RX Retry Delay Time.** +The rx-retry-delay option specifies the timeout (in micro seconds) between retries on an RX burst, +it takes effect only when rx retry is enabled. +The default value is 15. + +.. code-block:: console + + user@target:~$ ./build/app/vhost-switch -c f -n 4 --huge-dir / mnt/huge -- --rx-retry 1 --rx-retry-delay 20 + +**Zero copy.** +The zero copy option enables/disables the zero copy mode for RX/TX packet, +in the zero copy mode the packet buffer address from guest translate into host physical address +and then set directly as DMA address. +If the zero copy mode is disabled, then one copy mode is utilized in the sample. +This option is disabled by default. + +.. code-block:: console + + user@target:~$ ./build/app/vhost-switch -c f -n 4 --huge-dir /mnt/huge -- --zero-copy [0,1] + +**RX descriptor number.** +The RX descriptor number option specify the Ethernet RX descriptor number, +Linux legacy virtio-net has different behaviour in how to use the vring descriptor from DPDK based virtio-net PMD, +the former likely allocate half for virtio header, another half for frame buffer, +while the latter allocate all for frame buffer, +this lead to different number for available frame buffer in vring, +and then lead to different Ethernet RX descriptor number could be used in zero copy mode. +So it is valid only in zero copy mode is enabled. The value is 32 by default. + +.. code-block:: console + + user@target:~$ ./build/app/vhost-switch -c f -n 4 --huge-dir /mnt/huge -- --zero-copy 1 --rx-desc-num [0, n] + +**TX descriptornumber.** +The TX descriptor number option specify the Ethernet TX descriptor number, it is valid only in zero copy mode is enabled. +The value is 64 by default. + +.. code-block:: console + + user@target:~$ ./build/app/vhost-switch -c f -n 4 --huge-dir /mnt/huge -- --zero-copy 1 --tx-desc-num [0, n] + +Running the Virtual Machine (QEMU) +---------------------------------- + +QEMU must be executed with specific parameters to: + +* Ensure the guest is configured to use virtio-net network adapters. + + .. code-block:: console + + user@target:~$ qemu-system-x86_64 ... -device virtio-net-pci, netdev=hostnet1,id=net1 ... + +* Ensure the guest's virtio-net network adapter is configured with offloads disabled. + + .. code-block:: console + + user@target:~$ qemu-system-x86_64 ... -device virtio-net-pci, netdev=hostnet1,id=net1,csum=off,gso=off,guest_tso4=off,guest_ tso6=off,guest_ecn=off + +* Redirect QEMU to communicate with the Intel® DPDK vhost-net sample code in place of the vhost-net kernel module. + + .. code-block:: console + + user@target:~$ qemu-system-x86_64 ... -netdev tap,id=hostnet1,vhost=on,vhostfd= ... + +* Enable the vhost-net sample code to map the VM's memory into its own process address space. + + .. code-block:: console + + user@target:~$ qemu-system-x86_64 ... -mem-prealloc -mem-path / dev/hugepages ... + +.. note:: + + The QEMU wrapper (qemu-wrap.py) is a Python script designed to automate the QEMU configuration described above. + It also facilitates integration with libvirt, although the script may also be used standalone without libvirt. + +Redirecting QEMU to vhost-net Sample Code +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To redirect QEMU to the vhost-net sample code implementation of the vhost-net API, +an open file descriptor must be passed to QEMU running as a child process. + +.. code-block:: python + + #!/usr/bin/python + fd = os.open("/dev/usvhost-1", os.O_RDWR) + subprocess.call("qemu-system-x86_64 ... . -netdev tap,id=vhostnet0,vhost=on,vhostfd=" + fd +"...", shell=True) + +.. note:: + + This process is automated in the QEMU wrapper script discussed in Section 22.7.3. + +Mapping the Virtual Machine's Memory +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +For the Intel® DPDK vhost-net sample code to be run correctly, QEMU must allocate the VM's memory on hugetlbfs. +This is done by specifying mem-prealloc and mem-path when executing QEMU. +The vhost-net sample code accesses the virtio-net device's virtual rings and packet buffers +by finding and mapping the VM's physical memory on hugetlbfs. +In this case, the path passed to the guest should be that of the 1 GB page hugetlbfs: + +.. code-block:: console + + user@target:~$ qemu-system-x86_64 ... -mem-prealloc -mem-path / dev/hugepages ... + +.. note:: + + This process is automated in the QEMU wrapper script discussed in Section 22.7.3. + +QEMU Wrapper Script +~~~~~~~~~~~~~~~~~~~ + +The QEMU wrapper script automatically detects and calls QEMU with the necessary parameters required +to integrate with the vhost sample code. +It performs the following actions: + +* Automatically detects the location of the hugetlbfs and inserts this into the command line parameters. + +* Automatically open file descriptors for each virtio-net device and inserts this into the command line parameters. + +* Disables offloads on each virtio-net device. + +* Calls Qemu passing both the command line parameters passed to the script itself and those it has auto-detected. + +The QEMU wrapper script will automatically configure calls to QEMU: + +.. code-block:: console + + user@target:~$ qemu-wrap.py -machine pc-i440fx-1.4,accel=kvm,usb=off -cpu SandyBridge -smp 4,sockets=4,cores=1,threads=1 + -netdev tap,id=hostnet1,vhost=on -device virtio-net-pci,netdev=hostnet1,id=net1 -hda -m 4096 + +which will become the following call to QEMU: + +.. code-block:: console + + /usr/local/bin/qemu-system-x86_64 -machine pc-i440fx-1.4,accel=kvm,usb=off -cpu SandyBridge -smp 4,sockets=4,cores=1,threads=1 + -netdev tap,id=hostnet1,vhost=on,vhostfd= -device virtio-net- pci,netdev=hostnet1,id=net1, + csum=off,gso=off,guest_tso4=off,gu est_tso6=off,guest_ecn=off -hda -m 4096 -mem-path /dev/hugepages -mem-prealloc + +Libvirt Integration +~~~~~~~~~~~~~~~~~~~ + +The QEMU wrapper script (qemu-wrap.py) "wraps" libvirt calls to QEMU, +such that QEMU is called with the correct parameters described above. +To call the QEMU wrapper automatically from libvirt, the following configuration changes must be made: + +* Place the QEMU wrapper script in libvirt's binary search PATH ($PATH). + A good location is in the directory that contains the QEMU binary. + +* Ensure that the script has the same owner/group and file permissions as the QEMU binary. + +* Update the VM xml file using virsh edit : + + * Set the VM to use the launch script + + * Set the emulator path contained in the # tags For example, + replace /usr/bin/qemu-kvm with /usr/bin/qemu-wrap.py + + * Set the VM's virtio-net device's to use vhost-net offload: + + .. code-block:: xml + + + + + + + * Enable libvirt to access the Intel® DPDK Vhost sample code's character device file by adding it + to controllers cgroup for libvirtd using the following steps: + + .. code-block:: xml + + cgroup_controllers = [ ... "devices", ... ] clear_emulator_capabilities = 0 + user = "root" group = "root" + cgroup_device_acl = [ + "/dev/null", "/dev/full", "/dev/zero", + "/dev/random", "/dev/urandom", + "/dev/ptmx", "/dev/kvm", "/dev/kqemu", + "/dev/rtc", "/dev/hpet", "/dev/net/tun", + "/dev/-", + ] + +* Disable SELinux or set to permissive mode. + + +* Mount cgroup device controller: + + .. code-block:: console + + user@target:~$ mkdir /dev/cgroup + user@target:~$ mount -t cgroup none /dev/cgroup -o devices + +* Restart the libvirtd system process + + For example, on Fedora* "systemctl restart libvirtd.service" + +* Edit the configuration parameters section of the script: + + * Configure the "emul_path" variable to point to the QEMU emulator. + + .. code-block:: xml + + emul_path = "/usr/local/bin/qemu-system-x86_64" + + * Configure the "us_vhost_path" variable to point to the Intel® DPDK vhost- net sample code's character devices name. + Intel® DPDK vhost-net sample code's character device will be in the format "/dev/-". + + .. code-block:: xml + + us_vhost_path = "/dev/usvhost-1" + +Common Issues +~~~~~~~~~~~~~ + +**QEMU failing to allocate memory on hugetlbfs.** + +file_ram_alloc: can't mmap RAM pages: Cannot allocate memory + +When running QEMU the above error implies that it has failed to allocate memory for the Virtual Machine on the hugetlbfs. +This is typically due to insufficient hugepages being free to support the allocation request. +The number of free hugepages can be checked as follows: + +.. code-block:: console + + user@target:cat /sys/kernel/mm/hugepages/hugepages- / nr_hugepages + +The command above indicates how many hugepages are free to support QEMU's allocation request. + +Running Intel® DPDK in the Virtual Machine +------------------------------------------ + +For the Intel® DPDK vhost-net sample code to switch packets into the VM, +the sample code must first learn the MAC address of the VM's virtio-net device. +The sample code detects the address from packets being transmitted from the VM, similar to a learning switch. + +This behavior requires no special action or configuration with the Linux* virtio-net driver in the VM +as the Linux* Kernel will automatically transmit packets during device initialization. +However, Intel® DPDK-based applications must be modified to automatically transmit packets during initialization +to facilitate the Intel® DPDK vhost- net sample code's MAC learning. + +The Intel® DPDK testpmd application can be configured to automatically transmit packets during initialization +and to act as an L2 forwarding switch. + +Testpmd MAC Forwarding +~~~~~~~~~~~~~~~~~~~~~~ + +At high packet rates, a minor packet loss may be observed. +To resolve this issue, a "wait and retry" mode is implemented in the testpmd and vhost sample code. +In the "wait and retry" mode if the virtqueue is found to be full, then testpmd waits for a period of time before retrying to enqueue packets. + +The "wait and retry" algorithm is implemented in Intel® DPDK testpmd as a forwarding method call "mac_retry". +The following sequence diagram describes the algorithm in detail. + +.. _figure_20: + +**Figure 20. Packet Flow on TX in DPDK-testpmd** + +.. image23_png has been renamed + +|tx_dpdk_testpmd| + +Running Testpmd +~~~~~~~~~~~~~~~ + +The testpmd application is automatically built when Intel® DPDK is installed. +Run the testpmd application as follows: + +.. code-block:: console + + user@target:~$ x86_64-native-linuxapp-gcc/app/testpmd -c 0x3 -- n 4 -socket-mem 128 -- --burst=64 -i + +The destination MAC address for packets transmitted on each port can be set at the command line: + +.. code-block:: console + + user@target:~$ x86_64-native-linuxapp-gcc/app/testpmd -c 0x3 -- n 4 -socket-mem 128 -- --burst=64 -i --eth- peer=0,aa:bb:cc:dd:ee:ff --eth-peer=1,ff,ee,dd,cc,bb,aa + +* Packets received on port 1 will be forwarded on port 0 to MAC address + + aa:bb:cc:dd:ee:ff. + +* Packets received on port 0 will be forwarded on port 1 to MAC address + + ff,ee,dd,cc,bb,aa. + +The testpmd application can then be configured to act as an L2 forwarding application: + +.. code-block:: console + + testpmd> set fwd mac_retry + +The testpmd can then be configured to start processing packets, +transmitting packets first so the Intel® DPDK vhost sample code on the host can learn the MAC address: + +.. code-block:: console + + testpmd> start tx_first + +.. note:: + + Please note "set fwd mac_retry" is used in place of "set fwd mac_fwd" to ensure the retry feature is activated. + +Passing Traffic to the Virtual Machine Device +--------------------------------------------- + +For a virtio-net device to receive traffic, +the traffic's Layer 2 header must include both the virtio-net device's MAC address and VLAN tag. +The Intel® DPDK sample code behaves in a similar manner to a learning switch in that +it learns the MAC address of the virtio-net devices from the first transmitted packet. +On learning the MAC address, +the Intel® DPDK vhost sample code prints a message with the MAC address and VLAN tag virtio-net device. +For example: + +.. code-block:: console + + DATA: (0) MAC_ADDRESS cc:bb:bb:bb:bb:bb and VLAN_TAG 1000 registered + +The above message indicates that device 0 has been registered with MAC address cc:bb:bb:bb:bb:bb and VLAN tag 1000. +Any packets received on the NIC with these values is placed on the devices receive queue. +When a virtio-net device transmits packets, the VLAN tag is added to the packet by the Intel® DPDK vhost sample code. + +.. |vhost_net_arch| image:: img/vhost_net_arch.png + +.. |qemu_virtio_net| image:: img/qemu_virtio_net.png + +.. |tx_dpdk_testpmd| image:: img/tx_dpdk_testpmd.png + +.. |vhost_net_sample_app| image:: img/vhost_net_sample_app.png + +.. |virtio_linux_vhost| image:: img/virtio_linux_vhost.png diff --git a/doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst b/doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst new file mode 100644 index 0000000000..715613f04a --- /dev/null +++ b/doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst @@ -0,0 +1,251 @@ +.. 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. + +VMDQ and DCB Forwarding Sample Application +========================================== + +The VMDQ and DCB Forwarding sample application is a simple example of packet processing using the Intel® DPDK. +The application performs L2 forwarding using VMDQ and DCB to divide the incoming traffic into 128 queues. +The traffic splitting is performed in hardware by the VMDQ and DCB features of the Intel® 82599 10 Gigabit Ethernet Controller. + +Overview +-------- + +This sample application can be used as a starting point for developing a new application that is based on the Intel® DPDK and +uses VMDQ and DCB for traffic partitioning. + +The VMDQ and DCB filters work on VLAN traffic to divide the traffic into 128 input queues on the basis of the VLAN ID field and +VLAN user priority field. +VMDQ filters split the traffic into 16 or 32 groups based on the VLAN ID. +Then, DCB places each packet into one of either 4 or 8 queues within that group, based upon the VLAN user priority field. + +In either case, 16 groups of 8 queues, or 32 groups of 4 queues, the traffic can be split into 128 hardware queues on the NIC, +each of which can be polled individually by an Intel® DPDK application. + +All traffic is read from a single incoming port (port 0) and output on port 1, without any processing being performed. +The traffic is split into 128 queues on input, where each thread of the application reads from multiple queues. +For example, when run with 8 threads, that is, with the -c FF option, each thread receives and forwards packets from 16 queues. + +As supplied, the sample application configures the VMDQ feature to have 16 pools with 8 queues each as indicated in Figure 15. +The Intel® 82599 10 Gigabit Ethernet Controller NIC also supports the splitting of traffic into 32 pools of 4 queues each and +this can be used by changing the NUM_POOLS parameter in the supplied code. +The NUM_POOLS parameter can be passed on the command line, after the EAL parameters: + +.. code-block:: console + + ./build/vmdq_dcb [EAL options] -- -p PORTMASK --nb-pools NP + +where, NP can be 16 or 32. + +.. _figure_15: + +**Figure 15. Packet Flow Through the VMDQ and DCB Sample Application** + +.. image18_png has been replaced + +|vmdq_dcb_example| + +In Linux* user space, the application can display statistics with the number of packets received on each queue. +To have the application display the statistics, send a SIGHUP signal to the running application process, as follows: + +where, is the process id of the application process. + +The VMDQ and DCB Forwarding sample application is in many ways simpler than the L2 Forwarding application +(see Chapter 9 , "L2 Forwarding Sample Application (in Real and Virtualized Environments)") +as it performs unidirectional L2 forwarding of packets from one port to a second port. +No command-line options are taken by this application apart from the standard EAL command-line options. + +.. note:: + + Since VMD queues are being used for VMM, this application works correctly + when VTd is disabled in the BIOS or Linux* kernel (intel_iommu=off). + +Compiling the Application +------------------------- + +#. Go to the examples directory: + + .. code-block:: console + + export RTE_SDK=/path/to/rte_sdk cd ${RTE_SDK}/examples/vmdq_dcb + +#. 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 *Intel® DPDK Getting Started Guide* for possible RTE_TARGET values. + +#. Build the application: + + .. code-block:: console + + make + +Running the Application +----------------------- + +To run the example in a linuxapp environment: + +.. code-block:: console + + user@target:~$ ./build/vmdq_dcb -c f -n 4 -- -p 0x3 --nb-pools 16 + +Refer to the *Intel® DPDK Getting Started Guide* for general information on running applications and +the Environment Abstraction Layer (EAL) options. + +Explanation +----------- + +The following sections provide some explanation of the code. + +Initialization +~~~~~~~~~~~~~~ + +The EAL, driver and PCI configuration is performed largely as in the L2 Forwarding sample application, +as is the creation of the mbuf pool. +See Chapter 9, "L2 Forwarding Sample Application (in Real and Virtualized Environments)". +Where this example application differs is in the configuration of the NIC port for RX. + +The VMDQ and DCB hardware feature is configured at port initialization time by setting the appropriate values in the +rte_eth_conf structure passed to the rte_eth_dev_configure() API. +Initially in the application, +a default structure is provided for VMDQ and DCB configuration to be filled in later by the application. + +.. code-block:: c + + /* empty vmdq+dcb configuration structure. Filled in programatically */ + + static const struct rte_eth_conf vmdq_dcb_conf_default = { + .rxmode = { + .mq_mode = ETH_VMDQ_DCB, + .split_hdr_size = 0, + .header_split = 0, /**< Header Split disabled */ + .hw_ip_checksum = 0, /**< IP checksum offload disabled */ + .hw_vlan_filter = 0, /**< VLAN filtering disabled */ + .jumbo_frame = 0, /**< Jumbo Frame Support disabled */ + }, + + .txmode = { + .mq_mode = ETH_DCB_NONE, + }, + + .rx_adv_conf = { + /* + * should be overridden separately in code with + * appropriate values + */ + + .vmdq_dcb_conf = { + .nb_queue_pools = ETH_16_POOLS, + .enable_default_pool = 0, + .default_pool = 0, + .nb_pool_maps = 0, + .pool_map = {{0, 0},}, + .dcb_queue = {0}, + }, + }, + }; + +The get_eth_conf() function fills in an rte_eth_conf structure with the appropriate values, +based on the global vlan_tags array, +and dividing up the possible user priority values equally among the individual queues +(also referred to as traffic classes) within each pool, that is, +if the number of pools is 32, then the user priority fields are allocated two to a queue. +If 16 pools are used, then each of the 8 user priority fields is allocated to its own queue within the pool. +For the VLAN IDs, each one can be allocated to possibly multiple pools of queues, +so the pools parameter in the rte_eth_vmdq_dcb_conf structure is specified as a bitmask value. + +.. code-block:: c + + const uint16_t vlan_tags[] = { + 0, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31 + }; + + + /* Builds up the correct configuration for vmdq+dcb based on the vlan tags array + * given above, and the number of traffic classes available for use. */ + + static inline int + get_eth_conf(struct rte_eth_conf *eth_conf, enum rte_eth_nb_pools num_pools) + { + struct rte_eth_vmdq_dcb_conf conf; + unsigned i; + + if (num_pools != ETH_16_POOLS && num_pools != ETH_32_POOLS ) return -1; + + conf.nb_queue_pools = num_pools; + conf.enable_default_pool = 0; + conf.default_pool = 0; /* set explicit value, even if not used */ + conf.nb_pool_maps = sizeof( vlan_tags )/sizeof( vlan_tags[ 0 ]); + + for (i = 0; i < conf.nb_pool_maps; i++){ + conf.pool_map[i].vlan_id = vlan_tags[ i ]; + conf.pool_map[i].pools = 1 << (i % num_pools); + } + + for (i = 0; i < ETH_DCB_NUM_USER_PRIORITIES; i++){ + conf.dcb_queue[i] = (uint8_t)(i % (NUM_QUEUES/num_pools)); + } + + (void) rte_memcpy(eth_conf, &vmdq_dcb_conf_default, sizeof(\*eth_conf)); + (void) rte_memcpy(ð_conf->rx_adv_conf.vmdq_dcb_conf, &conf, sizeof(eth_conf->rx_adv_conf.vmdq_dcb_conf)); + + return 0; + } + +Once the network port has been initialized using the correct VMDQ and DCB values, +the initialization of the port's RX and TX hardware rings is performed similarly to that +in the L2 Forwarding sample application. +See Chapter 9, "L2 Forwarding Sample Aplication (in Real and Virtualized Environments)" for more information. + +Statistics Display +~~~~~~~~~~~~~~~~~~ + +When run in a linuxapp environment, +the VMDQ and DCB Forwarding sample application can display statistics showing the number of packets read from each RX queue. +This is provided by way of a signal handler for the SIGHUP signal, +which simply prints to standard output the packet counts in grid form. +Each row of the output is a single pool with the columns being the queue number within that pool. + +To generate the statistics output, use the following command: + +.. code-block:: console + + user@host$ sudo killall -HUP vmdq_dcb_app + +Please note that the statistics output will appear on the terminal where the vmdq_dcb_app is running, +rather than the terminal from which the HUP signal was sent. + +.. |vmdq_dcb_example| image:: img/vmdq_dcb_example.svg -- 2.20.1

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