diff options
author | Martin Klozik <martinx.klozik@intel.com> | 2015-09-25 18:00:17 +0100 |
---|---|---|
committer | Maryam Tahhan <maryam.tahhan@intel.com> | 2015-10-07 14:53:13 +0000 |
commit | 89e23da8e473387b2e6cb37a2b882d2d3c68655c (patch) | |
tree | 41bd86bc1447bf9bcbfa33cd95f175c258ede9d7 /core/vswitch_controller_p2p.py | |
parent | 1550b638fca662c5e68556702ff0316c3fc9562c (diff) |
Enable PVVP deployment for DPDK Vhost User and Vhost Cuse
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>
Diffstat (limited to 'core/vswitch_controller_p2p.py')
-rw-r--r-- | core/vswitch_controller_p2p.py | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/core/vswitch_controller_p2p.py b/core/vswitch_controller_p2p.py index a1158d4e..c15f7ef8 100644 --- a/core/vswitch_controller_p2p.py +++ b/core/vswitch_controller_p2p.py @@ -18,12 +18,11 @@ import logging from core.vswitch_controller import IVswitchController -from vswitches.utils import add_ports_to_flow +from conf import settings _FLOW_TEMPLATE = { 'idle_timeout': '0' } -BRIDGE_NAME = 'br0' class VswitchControllerP2P(IVswitchController): """VSwitch controller for P2P deployment scenario. @@ -53,41 +52,42 @@ class VswitchControllerP2P(IVswitchController): try: self._vswitch.start() - self._vswitch.add_switch(BRIDGE_NAME) + bridge = settings.getValue('VSWITCH_BRIDGE_NAME') + self._vswitch.add_switch(bridge) - (_, phy1_number) = self._vswitch.add_phy_port(BRIDGE_NAME) - (_, phy2_number) = self._vswitch.add_phy_port(BRIDGE_NAME) + (_, _) = self._vswitch.add_phy_port(bridge) + (_, _) = self._vswitch.add_phy_port(bridge) - self._vswitch.del_flow(BRIDGE_NAME) + self._vswitch.del_flow(bridge) # table#0 - flows designed to force 5 & 13 tuple matches go here flow = {'table':'0', 'priority':'1', 'actions': ['goto_table:1']} - self._vswitch.add_flow(BRIDGE_NAME, flow) + self._vswitch.add_flow(bridge, flow) # table#1 - flows to route packets between ports goes here. The # chosen port is communicated to subsequent tables by setting the # metadata value to the egress port number flow = {'table':'1', 'priority':'1', 'in_port':'1', 'actions': ['write_actions(output:2)', 'write_metadata:2', - 'goto_table:2']} - self._vswitch.add_flow(BRIDGE_NAME, flow) + 'goto_table:2']} + self._vswitch.add_flow(bridge, flow) flow = {'table':'1', 'priority':'1', 'in_port':'2', 'actions': ['write_actions(output:1)', 'write_metadata:1', - 'goto_table:2']} - self._vswitch.add_flow(BRIDGE_NAME, flow) + 'goto_table:2']} + self._vswitch.add_flow(bridge, flow) # Frame modification table. Frame modification flow rules are # isolated in this table so that they can be turned on or off # without affecting the routing or tuple-matching flow rules. flow = {'table':'2', 'priority':'1', 'actions': ['goto_table:3']} - self._vswitch.add_flow(BRIDGE_NAME, flow) + self._vswitch.add_flow(bridge, flow) # Egress table # (TODO) Billy O'Mahony - the drop action here actually required in # order to egress the packet. This is the subject of a thread on # ovs-discuss 2015-06-30. flow = {'table':'3', 'priority':'1', 'actions': ['drop']} - self._vswitch.add_flow(BRIDGE_NAME, flow) + self._vswitch.add_flow(bridge, flow) except: self._vswitch.stop() raise @@ -113,4 +113,4 @@ class VswitchControllerP2P(IVswitchController): """See IVswitchController for description """ self._logger.debug('get_ports_info using ' + str(self._vswitch_class)) - return self._vswitch.get_ports(BRIDGE_NAME) + return self._vswitch.get_ports(settings.getValue('VSWITCH_BRIDGE_NAME')) |