Sample Applications User Guides Release 18.11.11

Total Page:16

File Type:pdf, Size:1020Kb

Sample Applications User Guides Release 18.11.11 Sample Applications User Guides Release 18.11.11 Jan 20, 2021 CONTENTS 1 Introduction to the DPDK Sample Applications1 1.1 Running Sample Applications............................1 1.2 The DPDK Sample Applications...........................1 2 Compiling the Sample Applications3 2.1 To compile all the sample applications........................3 2.2 To compile a single application............................3 2.3 To cross compile the sample application(s).....................4 3 Command Line Sample Application5 3.1 Overview........................................5 3.2 Compiling the Application...............................5 3.3 Running the Application................................6 3.4 Explanation.......................................6 4 Ethtool Sample Application8 4.1 Compiling the Application...............................8 4.2 Running the Application................................8 4.3 Using the application.................................8 4.4 Explanation.......................................9 4.5 Ethtool interface....................................9 5 Exception Path Sample Application 11 5.1 Overview........................................ 11 5.2 Compiling the Application............................... 12 5.3 Running the Application................................ 12 5.4 Explanation....................................... 12 6 Hello World Sample Application 16 6.1 Compiling the Application............................... 16 6.2 Running the Application................................ 16 6.3 Explanation....................................... 16 7 Basic Forwarding Sample Application 18 7.1 Compiling the Application............................... 18 7.2 Running the Application................................ 18 7.3 Explanation....................................... 18 8 RX/TX Callbacks Sample Application 23 8.1 Compiling the Application............................... 23 i 8.2 Running the Application................................ 23 8.3 Explanation....................................... 23 9 Flow Classify Sample Application 27 9.1 Compiling the Application............................... 27 9.2 Running the Application................................ 27 9.3 Sample ipv4_rules_file.txt............................... 27 9.4 Explanation....................................... 28 10 Basic RTE Flow Filtering Sample Application 36 10.1 Compiling the Application............................... 36 10.2 Running the Application................................ 36 10.3 Explanation....................................... 36 11 IP Fragmentation Sample Application 44 11.1 Overview........................................ 44 11.2 Compiling the Application............................... 44 11.3 Running the Application................................ 44 12 IPv4 Multicast Sample Application 47 12.1 Overview........................................ 47 12.2 Compiling the Application............................... 47 12.3 Running the Application................................ 48 12.4 Explanation....................................... 48 13 IP Reassembly Sample Application 53 13.1 Overview........................................ 53 13.2 Compiling the Application............................... 53 13.3 Running the Application................................ 53 13.4 Explanation....................................... 55 14 Kernel NIC Interface Sample Application 57 14.1 Overview........................................ 57 14.2 Compiling the Application............................... 58 14.3 Running the kni Example Application........................ 59 14.4 KNI Operations.................................... 60 14.5 Explanation....................................... 61 15 Keep Alive Sample Application 63 15.1 Overview........................................ 63 15.2 Compiling the Application............................... 63 15.3 Running the Application................................ 63 15.4 Explanation....................................... 64 16 L2 Forwarding with Crypto Sample Application 66 16.1 Overview........................................ 66 16.2 Compiling the Application............................... 66 16.3 Running the Application................................ 66 16.4 Explanation....................................... 69 17 L2 Forwarding Sample Application (in Real and Virtualized Environments) with core load statistics. 74 17.1 Overview........................................ 74 ii 17.2 Compiling the Application............................... 76 17.3 Running the Application................................ 76 17.4 Explanation....................................... 76 18 L2 Forwarding Sample Application (in Real and Virtualized Environments) 84 18.1 Overview........................................ 84 18.2 Compiling the Application............................... 87 18.3 Running the Application................................ 87 18.4 Explanation....................................... 87 19 L2 Forwarding Sample Application with Cache Allocation Technology (CAT) 93 19.1 Compiling the Application............................... 93 19.2 Running the Application................................ 94 19.3 Explanation....................................... 95 20 L3 Forwarding Sample Application 96 20.1 Overview........................................ 96 20.2 Compiling the Application............................... 96 20.3 Running the Application................................ 97 20.4 Explanation....................................... 98 21 L3 Forwarding with Power Management Sample Application 102 21.1 Introduction....................................... 102 21.2 Overview........................................ 102 21.3 Compiling the Application............................... 103 21.4 Running the Application................................ 103 21.5 Explanation....................................... 104 21.6 Empty Poll Mode.................................... 108 22 L3 Forwarding with Access Control Sample Application 110 22.1 Overview........................................ 110 22.2 Compiling the Application............................... 114 22.3 Running the Application................................ 114 22.4 Explanation....................................... 115 23 L3 Forwarding in a Virtualization Environment Sample Application 116 23.1 Overview........................................ 116 23.2 Compiling the Application............................... 116 23.3 Running the Application................................ 117 23.4 Explanation....................................... 117 24 Link Status Interrupt Sample Application 118 24.1 Overview........................................ 118 24.2 Compiling the Application............................... 118 24.3 Running the Application................................ 118 24.4 Explanation....................................... 119 25 Load Balancer Sample Application 125 25.1 Overview........................................ 125 25.2 Compiling the Application............................... 126 25.3 Running the Application................................ 126 25.4 Explanation....................................... 127 iii 26 Server-Node EFD Sample Application 129 26.1 Overview........................................ 129 26.2 Compiling the Application............................... 130 26.3 Running the Application................................ 130 26.4 Explanation....................................... 131 27 Service Cores Sample Application 137 27.1 Compiling the Application............................... 137 27.2 Running the Application................................ 137 27.3 Explanation....................................... 137 28 Multi-process Sample Application 140 28.1 Example Applications................................. 140 29 QoS Metering Sample Application 147 29.1 Overview........................................ 147 29.2 Compiling the Application............................... 147 29.3 Running the Application................................ 147 29.4 Explanation....................................... 148 30 QoS Scheduler Sample Application 150 30.1 Overview........................................ 150 30.2 Compiling the Application............................... 150 30.3 Running the Application................................ 151 30.4 Explanation....................................... 154 31 Quota and Watermark Sample Application 156 31.1 Overview........................................ 156 31.2 Compiling the Application............................... 158 31.3 Running the Application................................ 158 31.4 Code Overview.................................... 159 32 Timer Sample Application 166 32.1 Compiling the Application............................... 166 32.2 Running the Application................................ 166 32.3 Explanation....................................... 166 33 Packet Ordering Application 169 33.1 Overview........................................ 169 33.2 Compiling the Application............................... 169 33.3 Running the Application................................ 169 34 VMDQ and DCB Forwarding Sample Application 171 34.1 Overview........................................ 171 34.2 Compiling the Application............................... 172 34.3 Running the Application................................ 172 34.4 Explanation....................................... 172 35 Vhost Sample Application 176 35.1 Testing steps...................................... 176 35.2 Inject packets..................................... 177 35.3 Parameters......................................
Recommended publications
  • MLNX OFED Documentation Rev 5.0-2.1.8.0
    MLNX_OFED Documentation Rev 5.0-2.1.8.0 Exported on May/21/2020 06:13 AM https://docs.mellanox.com/x/JLV-AQ Notice This document is provided for information purposes only and shall not be regarded as a warranty of a certain functionality, condition, or quality of a product. NVIDIA Corporation (“NVIDIA”) makes no representations or warranties, expressed or implied, as to the accuracy or completeness of the information contained in this document and assumes no responsibility for any errors contained herein. NVIDIA shall have no liability for the consequences or use of such information or for any infringement of patents or other rights of third parties that may result from its use. This document is not a commitment to develop, release, or deliver any Material (defined below), code, or functionality. NVIDIA reserves the right to make corrections, modifications, enhancements, improvements, and any other changes to this document, at any time without notice. Customer should obtain the latest relevant information before placing orders and should verify that such information is current and complete. NVIDIA products are sold subject to the NVIDIA standard terms and conditions of sale supplied at the time of order acknowledgement, unless otherwise agreed in an individual sales agreement signed by authorized representatives of NVIDIA and customer (“Terms of Sale”). NVIDIA hereby expressly objects to applying any customer general terms and conditions with regards to the purchase of the NVIDIA product referenced in this document. No contractual obligations are formed either directly or indirectly by this document. NVIDIA products are not designed, authorized, or warranted to be suitable for use in medical, military, aircraft, space, or life support equipment, nor in applications where failure or malfunction of the NVIDIA product can reasonably be expected to result in personal injury, death, or property or environmental damage.
    [Show full text]
  • Oracle Database Licensing Information, 11G Release 2 (11.2) E10594-26
    Oracle® Database Licensing Information 11g Release 2 (11.2) E10594-26 July 2012 Oracle Database Licensing Information, 11g Release 2 (11.2) E10594-26 Copyright © 2004, 2012, Oracle and/or its affiliates. All rights reserved. Contributor: Manmeet Ahluwalia, Penny Avril, Charlie Berger, Michelle Bird, Carolyn Bruse, Rich Buchheim, Sandra Cheevers, Leo Cloutier, Bud Endress, Prabhaker Gongloor, Kevin Jernigan, Anil Khilani, Mughees Minhas, Trish McGonigle, Dennis MacNeil, Paul Narth, Anu Natarajan, Paul Needham, Martin Pena, Jill Robinson, Mark Townsend This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.
    [Show full text]
  • Linux Software User's Manual
    New Generation Systems (NGS) Linux Software User’s Manual Version 1.0, September 2019 www.moxa.com/product © 2019 Moxa Inc. All rights reserved. New Generation Systems (NGS) Linux Software User’s Manual The software described in this manual is furnished under a license agreement and may be used only in accordance with the terms of that agreement. Copyright Notice © 2019 Moxa Inc. All rights reserved. Trademarks The MOXA logo is a registered trademark of Moxa Inc. All other trademarks or registered marks in this manual belong to their respective manufacturers. Disclaimer Information in this document is subject to change without notice and does not represent a commitment on the part of Moxa. Moxa provides this document as is, without warranty of any kind, either expressed or implied, including, but not limited to, its particular purpose. Moxa reserves the right to make improvements and/or changes to this manual, or to the products and/or the programs described in this manual, at any time. Information provided in this manual is intended to be accurate and reliable. However, Moxa assumes no responsibility for its use, or for any infringements on the rights of third parties that may result from its use. This product might include unintentional technical or typographical errors. Changes are periodically made to the information herein to correct such errors, and these changes are incorporated into new editions of the publication. Technical Support Contact Information www.moxa.com/support Moxa Americas Moxa China (Shanghai office) Toll-free: 1-888-669-2872 Toll-free: 800-820-5036 Tel: +1-714-528-6777 Tel: +86-21-5258-9955 Fax: +1-714-528-6778 Fax: +86-21-5258-5505 Moxa Europe Moxa Asia-Pacific Tel: +49-89-3 70 03 99-0 Tel: +886-2-8919-1230 Fax: +49-89-3 70 03 99-99 Fax: +886-2-8919-1231 Moxa India Tel: +91-80-4172-9088 Fax: +91-80-4132-1045 Table of Contents 1.
    [Show full text]
  • Name Synopsis Description Options
    ovs−vlan−test(1) Open vSwitch Manual ovs−vlan−test(1) NAME ovs−vlan−test −check Linux drivers for problems with vlan traffic SYNOPSIS ovs−vlan−test [−s | −−server] control_ip vlan_ip Common options: [−h | −−help][−V | −−version] DESCRIPTION The ovs−vlan−test utility has some limitations, for example, it does not use TCP in its tests. Also it does not takeinto account MTU to detect potential edge cases. Toovercome those limitations a newtool was developed − ovs−test. ovs−test is currently supported only on Debian so, if possible try to use that on instead of ovs−vlan−test. The ovs−vlan−test program may be used to check for problems sending 802.1Q traffic which may occur when running Open vSwitch. These problems can occur when Open vSwitch is used to send 802.1Q traffic through physical interfaces running certain drivers of certain Linux kernel versions. Torun a test, configure Open vSwitch to tag traffic originating from vlan_ip and forward it out the target interface. Then run the ovs−vlan−test in client mode connecting to an ovs−vlan−test server. ovs−vlan−test will display "OK" if it did not detect problems. Some examples of the types of problems that may be encountered are: • When NICs use VLAN stripping on receive theymust pass a pointer to a vlan_group when reporting the stripped tag to the networking core. If no vlan_group is in use then some drivers just drop the extracted tag. Drivers are supposed to only enable stripping if a vlan_group is regis- tered but not all of them do that.
    [Show full text]
  • Openshift Container Platform 4.6 Scalability and Performance
    OpenShift Container Platform 4.6 Scalability and performance Scaling your OpenShift Container Platform cluster and tuning performance in production environments Last Updated: 2021-09-22 OpenShift Container Platform 4.6 Scalability and performance Scaling your OpenShift Container Platform cluster and tuning performance in production environments Legal Notice Copyright © 2021 Red Hat, Inc. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/ . In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries. Node.js ® is an official trademark of Joyent.
    [Show full text]
  • MC-1200 Series Linux Software User's Manual
    MC-1200 Series Linux Software User’s Manual Version 1.0, November 2020 www.moxa.com/product © 2020 Moxa Inc. All rights reserved. MC-1200 Series Linux Software User’s Manual The software described in this manual is furnished under a license agreement and may be used only in accordance with the terms of that agreement. Copyright Notice © 2020 Moxa Inc. All rights reserved. Trademarks The MOXA logo is a registered trademark of Moxa Inc. All other trademarks or registered marks in this manual belong to their respective manufacturers. Disclaimer Information in this document is subject to change without notice and does not represent a commitment on the part of Moxa. Moxa provides this document as is, without warranty of any kind, either expressed or implied, including, but not limited to, its particular purpose. Moxa reserves the right to make improvements and/or changes to this manual, or to the products and/or the programs described in this manual, at any time. Information provided in this manual is intended to be accurate and reliable. However, Moxa assumes no responsibility for its use, or for any infringements on the rights of third parties that may result from its use. This product might include unintentional technical or typographical errors. Changes are periodically made to the information herein to correct such errors, and these changes are incorporated into new editions of the publication. Technical Support Contact Information www.moxa.com/support Moxa Americas Moxa China (Shanghai office) Toll-free: 1-888-669-2872 Toll-free: 800-820-5036 Tel: +1-714-528-6777 Tel: +86-21-5258-9955 Fax: +1-714-528-6778 Fax: +86-21-5258-5505 Moxa Europe Moxa Asia-Pacific Tel: +49-89-3 70 03 99-0 Tel: +886-2-8919-1230 Fax: +49-89-3 70 03 99-99 Fax: +886-2-8919-1231 Moxa India Tel: +91-80-4172-9088 Fax: +91-80-4132-1045 Table of Contents 1.
    [Show full text]
  • Sample Applications User Guide Release 16.04.0
    Sample Applications User Guide Release 16.04.0 April 12, 2016 CONTENTS 1 Introduction 1 1.1 Documentation Roadmap...............................1 2 Command Line Sample Application2 2.1 Overview........................................2 2.2 Compiling the Application...............................2 2.3 Running the Application................................3 2.4 Explanation.......................................3 3 Ethtool Sample Application5 3.1 Compiling the Application...............................5 3.2 Running the Application................................5 3.3 Using the application.................................5 3.4 Explanation.......................................6 3.5 Ethtool interface....................................6 4 Exception Path Sample Application8 4.1 Overview........................................8 4.2 Compiling the Application...............................9 4.3 Running the Application................................9 4.4 Explanation....................................... 10 5 Hello World Sample Application 13 5.1 Compiling the Application............................... 13 5.2 Running the Application................................ 13 5.3 Explanation....................................... 13 6 Basic Forwarding Sample Application 15 6.1 Compiling the Application............................... 15 6.2 Running the Application................................ 15 6.3 Explanation....................................... 15 7 RX/TX Callbacks Sample Application 20 7.1 Compiling the Application..............................
    [Show full text]
  • Ubuntu Server Guide Basic Installation Preparing to Install
    Ubuntu Server Guide Welcome to the Ubuntu Server Guide! This site includes information on using Ubuntu Server for the latest LTS release, Ubuntu 20.04 LTS (Focal Fossa). For an offline version as well as versions for previous releases see below. Improving the Documentation If you find any errors or have suggestions for improvements to pages, please use the link at thebottomof each topic titled: “Help improve this document in the forum.” This link will take you to the Server Discourse forum for the specific page you are viewing. There you can share your comments or let us know aboutbugs with any page. PDFs and Previous Releases Below are links to the previous Ubuntu Server release server guides as well as an offline copy of the current version of this site: Ubuntu 20.04 LTS (Focal Fossa): PDF Ubuntu 18.04 LTS (Bionic Beaver): Web and PDF Ubuntu 16.04 LTS (Xenial Xerus): Web and PDF Support There are a couple of different ways that the Ubuntu Server edition is supported: commercial support and community support. The main commercial support (and development funding) is available from Canonical, Ltd. They supply reasonably- priced support contracts on a per desktop or per-server basis. For more information see the Ubuntu Advantage page. Community support is also provided by dedicated individuals and companies that wish to make Ubuntu the best distribution possible. Support is provided through multiple mailing lists, IRC channels, forums, blogs, wikis, etc. The large amount of information available can be overwhelming, but a good search engine query can usually provide an answer to your questions.
    [Show full text]
  • X86-64 Calling Conventions
    CSE 351: The Hardware/Software Interface Section 4 Procedure calls Procedure calls In x86 assembly, values are passed to function calls on the stack Perks: Concise, easy to remember Drawbacks: Always requires memory accesses In x86-64 assembly, values are passed to function calls in registers Perks: Less wasted space, faster Drawbacks: Potentially requires a lot of register manipulation 2/23/2014 2 x86 calling conventions Simply push arguments onto the stack in order, then “call” the function! Suppose we define the following function: int sum(int a, int b) { return a + b; } (See also sum.c from the provided code) 2/23/2014 3 x86 calling conventions int sum(int a, int b) { return a + b; } In assembly, we have something like this: sum: pushl %ebp # Save base pointer movl %esp, %ebp # Save stack pointer movl 12(%ebp), %eax # Load b movl 8(%ebp), %edx # Load a addl %edx, %eax # Compute a + b popl %ebp # Restore base pointer ret # Return 2/23/2014 4 x86 calling conventions What is happening with %ebp and %esp? pushl %ebp The base pointer %ebp is the address of the caller, which is the location to which “ret” returns. The function pushes it into the stack so that it won’t be overwritten movl %esp, %ebp Functions often shift the stack pointer to allocate temporary stack space, so this instruction makes a backup of the original location. In the body of the function, %ebp is now the original start of the stack ret When sum() returns, execution picks up at the stored base pointer address.
    [Show full text]
  • 07 07 Unixintropart2 Lucio Week 3
    Unix Basics Command line tools Daniel Lucio Overview • Where to use it? • Command syntax • What are commands? • Where to get help? • Standard streams(stdin, stdout, stderr) • Pipelines (Power of combining commands) • Redirection • More Information Introduction to Unix Where to use it? • Login to a Unix system like ’kraken’ or any other NICS/ UT/XSEDE resource. • Download and boot from a Linux LiveCD either from a CD/DVD or USB drive. • http://www.puppylinux.com/ • http://www.knopper.net/knoppix/index-en.html • http://www.ubuntu.com/ Introduction to Unix Where to use it? • Install Cygwin: a collection of tools which provide a Linux look and feel environment for Windows. • http://cygwin.com/index.html • https://newton.utk.edu/bin/view/Main/Workshop0InstallingCygwin • Online terminal emulator • http://bellard.org/jslinux/ • http://cb.vu/ • http://simpleshell.com/ Introduction to Unix Command syntax $ command [<options>] [<file> | <argument> ...] Example: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file Introduction to Unix What are commands? • An executable program (date) • A command built into the shell itself (cd) • A shell program/function • An alias Introduction to Unix Bash commands (Linux) alias! crontab! false! if! mknod! ram! strace! unshar! apropos! csplit! fdformat! ifconfig! more! rcp! su! until! apt-get! cut! fdisk! ifdown! mount! read! sudo! uptime! aptitude! date! fg! ifup! mtools! readarray! sum! useradd! aspell! dc! fgrep! import! mtr! readonly! suspend! userdel! awk! dd! file! install! mv! reboot! symlink!
    [Show full text]
  • Sample Applications User Guides Release 20.05.0
    Sample Applications User Guides Release 20.05.0 May 26, 2020 CONTENTS 1 Introduction to the DPDK Sample Applications1 1.1 Running Sample Applications...............................1 1.2 The DPDK Sample Applications..............................1 2 Compiling the Sample Applications3 2.1 To compile all the sample applications...........................3 2.2 To compile a single application..............................3 2.3 To cross compile the sample application(s)........................4 3 Command Line Sample Application5 3.1 Overview..........................................5 3.2 Compiling the Application.................................5 3.3 Running the Application..................................6 3.4 Explanation.........................................6 4 Ethtool Sample Application8 4.1 Compiling the Application.................................8 4.2 Running the Application..................................8 4.3 Using the application....................................8 4.4 Explanation.........................................9 4.5 Ethtool interface......................................9 5 Hello World Sample Application 11 5.1 Compiling the Application................................. 11 5.2 Running the Application.................................. 11 5.3 Explanation......................................... 11 6 Basic Forwarding Sample Application 13 6.1 Compiling the Application................................. 13 6.2 Running the Application.................................. 13 6.3 Explanation........................................
    [Show full text]
  • X86 Assembly Language Reference Manual
    x86 Assembly Language Reference Manual Part No: 817–5477–11 March 2010 Copyright ©2010 Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related software documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are “commercial computer software” or “commercial technical data” pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms setforth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.
    [Show full text]