Age | Commit message (Collapse) | Author | Files | Lines |
|
Module manager has been enhanced to support both 'insmod' and 'modprobe'
commands for kernel module insertion. In case, that .ko suffix is detected
then insmod will be used otherwise modprobe will be called. This allows
user to specify full path to each module. For example vanilla ovs module
can be defined as "OVS_DIR_VANILLA + 'datapath/linux/openvswitch.ko'"
to load kernel module matching OVS vanilla source tree version.
Change-Id: Ib8d16eca84449ad34d6b307ab836f58d2f0d341b
JIRA: VSPERF-116
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
|
|
Technical Debt - Add appropriate build flags to the OVS makefiles to
build OVS for performance.
JIRA:VSPERF-92
Change-Id: I63d45ebe8ba41799158f97db892a94e16c7b3df5
Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
|
|
Generic PVVP deployment support has been added. Two
new testcase scenarios for throughput and back2back
tests with PVVP deployment were added. Original
implementation of PVP has been refactored
Following files were affected:
modified: conf/01_testcases.conf
modified: conf/02_vswitch.conf
modified: conf/04_vnf.conf
modified: core/__init__.py
modified: core/component_factory.py
modified: core/loader/loader_servant.py
modified: core/vnf_controller.py
deleted: core/vnf_controller_p2p.py
deleted: core/vnf_controller_pvp.py
modified: core/vswitch_controller_p2p.py
modified: core/vswitch_controller_pvp.py
new file: core/vswitch_controller_pvvp.py
modified: docs/to-be-reorganized/NEWS.rst
modified: docs/to-be-reorganized/quickstart.rst
modified: src/dpdk/dpdk.py
modified: src/ovs/ofctl.py
modified: testcases/testcase.py
modified: tools/tasks.py
new file: vnfs/qemu/qemu.py
new file: vnfs/qemu/qemu_dpdk.py
modified: vnfs/qemu/qemu_dpdk_vhost_cuse.py
modified: vnfs/qemu/qemu_dpdk_vhost_user.py
modified: vnfs/vnf/vnf.py
modified: vswitches/ovs_dpdk_vhost.py
Change-Id: Ib6869a29337a184cb58c57fd96bba1183aba00ab
JIRA: VSPERF-68, VSPERF-69
Signed-off-by: Martin Klozik (martinx.klozik@intel.com)
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
|
|
Currently the VSPERF makefiles make just one variant
of vSwitch - OVS with DPDK-vhost-user. To make the other
variants the makefile has to be edited. And the make re-run.
The fix builds all required versions:
DPDK-vhost-user OVS (in src/)
Vanilla OVS (in src_vanilla/)
DPDK-vhost-cuse OVS (in src_cuse/)
HowTo:
- git clone vsperf
- cd .../src
- make
JIRA: VSPERF-85
Change-Id: I469baf8432f0b127cde785f35a6c57a2c778f23f
Signed-off-by: Radek Zetik <radekx.zetik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
|
|
JIRA: VSPERF-72
This change adds optional IPv4 DNAT support to l2fwd module for level two
forwarding. With this change the l2fwd module can be used for testing
complex IP configuration routing with virtual switches.
Other L2 forwarding modules provide only Level 2 pass through. These can be
used for complex IP chain processing but rely on port forwarding in the switch.
With this module each packet which is forwarded optionally gets a new
destination IP and source masquerade. So a test packet can be routed to eth1
and forwarded on eth2 with a different target IP and source address.
To use this module compile it for your kernel and use the 'insmod' command
to insert it.
With no arguments this will forward eth1 to eth2 without modification.
With 'net1=ethX net2=ethX' Level 2 forwarding can be done between arbitrary
ports.
With 'netX=ethX,XX.XX.XX.XX,xx:xx:xx:xx:xx:xx' the packets which are forwarded
on the target port will be given the new destination IP and mac address. One
or both ports may enable DNAT.
Change-Id: If24281a6841930a7a85e4536da96b980ed48df1b
Signed-off-by: Gene Snider <eugene.snider@huawei.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
|
|
Bind DPDK ports back to the original driver they were bound to. This
will be useful when switching between the types of vswitches we are
testing.
Change-Id: I6818d3f8e3c2a5d3a5f083cf9e37e0819e0b39d1
Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Dino Simeon Madarang <dino.simeonx.madarang@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
|
|
Enable PVP testing using vhost-cuse as guest access method
Recent changes:
* Move NEWS.md changes to NEWS.rst
* Update comment to vhost-cuse
* Restore config back to checkout state after make
* Merge OPNFV 1092 updates
* Add PVP-vhost-cuse to NEWS.md
* Add comment/example to GUEST_CORE_BINDING
* Move hardcoded values to conf/04_vnfs.conf
* Set default VNF to QemuDpdkVhostCuse
* Compile eventfd_link if VHOST_USER=n
* Use MAC and PCI address from conf
* Use vhost method in conf to properly set interface type
JIRA: VSPERF-59
Change-Id: Ib1159e216f3e25b9971c0935969680582683916b
Signed-off-by: Madarang, Dino Simeon <dino.simeonx.madarang@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
|
|
Enable booting of a VM with DPDK and run testpmd for
PVP testing.
* Added throughput and back2back tests with pvp deployment scenario in
01_testcases.conf
* PVP requires DPDK 2.0 with VHOST_USER enabled and QEMU 2.2.0
* Tested on CentOS7 and Fedora 20
* Fix conflict with change 1078
Recent Changes:
* Fix merge conflict (testcase.py and testcases.conf)
* Remove QEMU_DIR. User must set QEMU_BIN
* Set bidir traffic to True
* Add flow for bi-directional traffic
* Use working OVS_TAG ad2e649834be20dd01b1632799fe778106a96a2d
* Merge change 1096 (src: Add QEMU makefile)
* Set virtio-net-pci csum=off and other variables to off
* Move hardcoded values to conf/*
JIRA: VSPERF-56
Change-Id: I4ad184531064855493483d9833a7722c9f7d3576
Signed-off-by: Madarang, Dino Simeon <dino.simeonx.madarang@intel.com>
Signed-off-by: Meghan Halton <meghan.halton@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
|
|
|
|
JIRA: VSPERF-57
This patch implements Vanilla OVS support.It contains:
* New IVswitch implementation: OvsVanilla,
* New configuration contants,
* New mandatory configuration variable: VSWITCH_VANILLA_PHY_PORT_NAMES
for Vanilla OVS has been added,
* Virtual ports are not yet implemented,
* Some kernel modules wrapping methods has been moved from dpdk.py to
tools.
* Fixed bug where ovsdb hasn't been killed at the end of test case run on
some platforms.
Change-Id: I21a0d84dbc4004aae564d5547387a2563f2d1e5b
Signed-off-by: Michal Weglicki <michalx.weglicki@intel.com>
Reviewed-by: Eugene Snider <Eugene.Snider@huawei.com>
Reviewed-by: Gurpreet Singh <gurpreet.singh@spirent.com>
Reviewed-by: Tv Rao <tv.rao@freescale.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
|
|
DPDK build remains the default.
JIRA: VSPERF-27
Change-Id: I7282e32d2246eaf75e399c5af87ef0ea53981895
Signed-off-by: Timo Puha <timox.puha@intel.com>
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Eugene Snider <Eugene.Snider@huawei.com>
Reviewed-by: Gurpreet Singh <gurpreet.singh@spirent.com>
Reviewed-by: Tv Rao <tv.rao@freescale.com>
|
|
Allow vhost-user compilation by specifying make VHOST_USER=y
in src/Makefile. This commit also fixes a dpdk linking issue
by modifying config/common_linuxapp instead of passing args.
JIRA: VSPERF-56
Change-Id: I0437bf92b37f8f5a1939690c308cd54dfbe017f0
Signed-off-by: Dino Simeon Madarang <dino.simeonx.madarang@intel.com>
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Eugene Snider <Eugene.Snider@huawei.com>
Reviewed-by: Gurpreet Singh <gurpreet.singh@spirent.com>
Reviewed-by: Tv Rao <tv.rao@freescale.com>
|
|
QEMU v2.2.0+ is recommended for vhost-user. We are adding QEMU 2.2.1
to the makefile because the EPEL repo for CentOS7 only supports QEMU 2.0.0.
JIRA: VSPERF-56
Change-Id: I1c65ad6030888802586659d044f069f7fe57c0ea
Signed-off-by: Timo Puha <timox.puha@intel.com>
Signed-off-by: Madarang, Dino Simeon <dino.simeonx.madarang@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Eugene Snider <Eugene.Snider@huawei.com>
Reviewed-by: Gurpreet Singh <gurpreet.singh@spirent.com>
Reviewed-by: Tv Rao <tv.rao@freescale.com>
|
|
* Added a new standard set of flow table that defaults to routing phy1 to phy2
and vice-versa and allows frame modification and tuple matches to be added
independently of routing.
* Add a FrameMod testcase attribute - implement this for value 'vlan'
* With FrameMod == 'vlan' the reported tx_fps and rx_fps figures do not match
even for RFC2544 throughtput 0% packet loss - this is a pre-existing bug
and a fix will be done as a separate patch. The rx_fps figure is the
reliable figure.
JIRA: VSPERF-27
Change-Id: Idd137b7a101305e7aebb6fabdfb6a7a4dcf8661b
Signed-off-by: Billy O'Mahony<billy.o.mahony@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Eugene Snider <Eugene.Snider@huawei.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Gurpreet Singh <gurpreet.singh@spirent.com>
Reviewed-by: Tv Rao <tv.rao@freescale.com>
|
|
Fix build so as we no longer use the HEAD of OVS master, but a specific
commit and modify the DPDK build to edit the configuration file.
Change-Id: I0067b53e5c5295d87b9daf49a9d1ff9e4081558e
Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
|
|
Cleanup procedure is performed at the end of each testcase run.
Procedure consists of termination of vswitch processes,
removal of unneeded kernel drivers, unmount of hugepages, etc.
There must be enough time for vswitch processes to terminate
properly before OS resources are freed. Otherwise OS stability
issues can be observed (e.g. server reboot).
Process termination is implemented by sending signal SIGTERM
to the process instead of previously used signal SIGINT.
Change-Id: I7e8c7a86ae2a75f2a18db0d9340726fb649a685b
JIRA: VSPERF-27
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Eugene Snider <Eugene.Snider@huawei.com>
Reviewed-by: Gurpreet Singh <gurpreet.singh@spirent.com>
Reviewed-by: Tv Rao <tv.rao@freescale.com>
|
|
Update DPDK to build DPDK v2.0.0 and update OVS to link to that version
of DPDK.
Change-Id: Icc8f9fbcc7a4804a3648f0027b4ea2140888d5d1
Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Mark B Kavanagh <mark.b.kavanagh@intel.com>
Reviewed-by: TV Rao <tv.rao@freescale.com>
|
|
Added cleanse, clobber and force_make targets for top level Makefile
compliance
Change-Id: I510ed174e3ae01b35e9df975e5aaa1c989b34ce9
Signed-off-by: Eugene Snider <eugene.snider@huawei.com>
|
|
|
|
This commit adds the vSwitch Integration Test Framework whose
design, based off TOIT, is outlined in the HLD previously made
availiable to the community for review.
The design of this framework allows developers to add different
implementations of components, specifically vSwitches, Traffic
Generators, Metrics Collectors and VNFs, easily.
The goal of this design is that all testcases should run regardless of
what is "under the hood".
This commit adds support for running the framework for a phy to phy
RFC2544 testcase only. More testcases will be added by the community.
vSwitches supported at this time:
* Intel DPDK (r) accelerated OpenvSwitch
Traffic Generators supported at this time:
* IxNet - IxNetwork Implementation
* Ixia - IxExplorer Implementation
* Dummy - Manual Implementation
Metrics Collectors supported at this time:
* Linux Metrics
No VNFs are supported at this time but the framework outlines how they
should be integrated and provides APIs for them to adhere to.
JIRA: VSPERF-27
Change-Id: I312e1a1199487ffee8f824be06cd97d4f793eee0
Signed-off-by: Stephen Finucane <Stephen.Finucane@intel.com>
Signed-off-by: Meghan Halton <Meghan.Halton@intel.com>
Signed-off-by: Christopher Nolan <Christopher.Nolan@intel.com>
Signed-off-by: Maryam Tahhan <Maryam.Tahhan@intel.com>
Signed-off-by: Ciara Loftus <Ciara.Loftus@intel.com>
Signed-off-by: Mark Kavanagh <Mark.B.Kavanagh@intel.com>
Signed-off-by: Cian Ferriter <Cian.Ferriter@intel.com>
Signed-off-by: Timo Puha <TimoX.Puha@intel.com>
Signed-off-by: Billy O'Mahony <billy.o.mahony@intel.com>
Signed-off-by: Michal Weglicki <MichalX.Weglicki@intel.com>
Signed-off-by: Rory Sexton <Rory.Sexton@intel.com>
Signed-off-by: Ian Stokes <Ian.Stokes@intel.com>
Signed-off-by: Kevin Traynor <Kevin.Traynor@intel.com>
Signed-off-by: Dino Simeon Madarang <dino.simeonx.madarang@intel.com>
Reviewed-by: Eugene Snider <Eugene.Snider@huawei.com>
Reviewed-by: Aihua Li <aihua.li@huawei.com>
|
|
Change-Id: I87027ac8ac34340ee3629a536bf3467241f8abd9
JIRA: VSPERF-15
Signed-off-by: Aihua Li <aihua.li@huawei.com>
Reviewed-by: Eugene Snider <eugene.snider@huawei.com>
|
|
This commit adds a simple kernel module for l2 forwarding or termination
This module provides only level 2 forwarding between two ports, it does not
do any NAT or Masquerade.
Arguments are:
net1=ethXXXX # set forwarding port 1
net2=ethXXX # set forwarding port 2
terminate=1 # terminate the connection and free the skb
Changed to GPL licensing to avoid compilation issues
Added sanity build target
Fix whitespace issues
JIRA: VSPERF-39
Change-Id: I0fa3e0135af06b7cba665a357dccfb9459edb9f6
Signed-off-by: Eugene Snider <eugene.snider@huawei.com>
|
|
make
updated DPDK and OVS tags to build the latest
Change-Id: Id1bb65a7a72d5098826d6b09bf3f73dd6d8c845f
JIRA: VSPERF-25
Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Gene Snider <eugene.snider@huawei.com>
Reviewed-by: Aihua Li <aihua.li@huawei.com>
Reviewed-by: Aric Gardner <agardner@linuxfoundation.org>
|
|
This adds 'sanity' and 'test' stub functions to the build infrastructure
Get rid of trailing spaces.
Change-Id: I9d4f6f97bec4877dfeef9e5c68d491a928697ed1
Signed-off-by: Gene Snider <eugene.snider@huawei.com>
|
|
Change-Id: I13bcce3104377cac84a736cfd9a3d9df208e91f0
JIRA: VSPERF-25
Signed-off-by: Aihua Li <aihua.li@huawei.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Gene Snider <eugene.snider@huawei.com>
Reviewed-by: Stephen Finucane <stephen.finucane@intel.com>
|