summaryrefslogtreecommitdiffstats
path: root/core/vswitch_controller_p2p.py
diff options
context:
space:
mode:
authorMartin Klozik <martinx.klozik@intel.com>2015-09-25 18:00:17 +0100
committerMaryam Tahhan <maryam.tahhan@intel.com>2015-10-07 14:53:13 +0000
commit89e23da8e473387b2e6cb37a2b882d2d3c68655c (patch)
tree41bd86bc1447bf9bcbfa33cd95f175c258ede9d7 /core/vswitch_controller_p2p.py
parent1550b638fca662c5e68556702ff0316c3fc9562c (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.py28
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'))