Giter Site home page Giter Site logo

vrouter-pktgen-tests's Introduction

vrouter-pktgen-tests

Pktgen-DPDK

Script launching Pktgen-DPDK and testing performance of Contrail-vRouter.

Adjust dpdkgen.cfg if neeeded.

Usage:

  • dpdkgen [IP address of destination node] [path to testing script]
  • Example: dpdkgen 192.168.0.1 vrouter-pktgen-tests/tests/5mins.lua

After pktgen starts, you will be asked for size of a packet. Default: 64B.

Tests:

  • 5mins.lua: check how many packets were sent in 300 seconds time.
  • 4billionpkts.lua: check how long does it take to send 4 294 967 295
    packets.
  • pktgen2vrouter-5mins.lua, pktgen2vrouter-4billionpkts.lua: to be ran in pair with 5mins.lua and 4billionpkts.lua, but on a Linux node with Pktgen-DPDK, in the following setup: VM --- vRouter ------ Pktgen-DPDK@Linux

Tests display result with following data:

  • duration in seconds, number of packets sent, TX speed in Mpkts/sec,
    number of packets received, RX speed in Mpkts/sec, delta TX'd packets
    minus RX'd packets.

Logs with result are saved in /root.

L2fwd

Script launching l2fwd example DPDK application.

Adjust dpdkgen.cfg if neeeded.

Usage:

  • l2fwd

vRouter Configuration Scripts

Those scripts can be used to configure vRouter for defined scenarios. Currently supported:

  • MPLSoUDP
    • VM1 --- vRouter1 ---MPLSoUDP--- vRouter2 --- VM2
    • VM --- vRouter ---MPLSoUDP--- Pktgen-DPDK@Linux

You should see the 00.config.sh script to adjust configuration for your needs, e.g. MAC and IP addresses, filenames of VM qcow2 images, etc.

Scripts will assist you with following steps:

  • Mounting hugepages
  • Binding interfaces to DPDK
  • Starting vRouter and vRouter Agent
  • Configuring nexthops, L2 and L3 routes, MPLS labels
  • Starting VM
  • Binding interfaces back to kernel drivers

You should prepare VM qcow2 image on your own, e.g. using Pktgen-DPDK scripts you can find in this repo.

VM1 --- vRouter1 ------ vRouter2 --- VM2

On both vRouter nodes:

  1. Clone repo
  2. Adjust 00.config
  3. Copy vRouter, utils and agent to /root/contrail/build/${OPTIMIZATION}/
  4. ./10.setup-linux.sh, ./30.bind-ifs.sh, ./40.start-vrouter.sh, ./50.start-agent.sh, ./60.mpls-o-udp.sh, ./80.start-vm.sh
  5. Connect to VMs (e.g. with gvncviewer or another client of your choice)
  6. Generate traffic from VM to VM. You can use Pktgen-DPDK.

VM --- vRouter ------ Pktgen-DPDK@Linux

On vRouter node:

  1. Points 1. to 4. from the previous example.
  2. Connect to VM, launch Pktgen-DPDK with 5mins.lua or 4billionpkts.lua

On Linux node:

  1. Clone Pktgen-DPDK from Semihalf/Pktgen-DPDK
  2. cd Pktgen-DPDK && clone DPDK from dpdk.org/browse/dpdk
  3. Compile DPDK, compile Pktgen-DPDK
  4. Launch Pktgen-DPDK with pktgen2vrouter-5mins.lua or pktgen2vrouter-4billion.lua

vrouter-pktgen-tests's People

Contributors

semihalf-zmuda-wojciech avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.