aboutsummaryrefslogtreecommitdiffstats
path: root/vswitches
diff options
context:
space:
mode:
Diffstat (limited to 'vswitches')
-rw-r--r--vswitches/ovs_dpdk_vhost.py13
-rw-r--r--vswitches/vpp_dpdk_vhost.py6
2 files changed, 16 insertions, 3 deletions
diff --git a/vswitches/ovs_dpdk_vhost.py b/vswitches/ovs_dpdk_vhost.py
index 13aef173..3b20be35 100644
--- a/vswitches/ovs_dpdk_vhost.py
+++ b/vswitches/ovs_dpdk_vhost.py
@@ -142,9 +142,18 @@ class OvsDpdkVhost(IVSwitchOvs):
from 0
"""
bridge = self._bridges[switch_name]
- vhost_count = self._get_port_count('type=dpdkvhostuser')
+
+ if S.getValue('VSWITCH_VHOSTUSER_SERVER_MODE'):
+ nic_type = 'dpdkvhostuser'
+ else:
+ nic_type = 'dpdkvhostuserclient'
+
+ vhost_count = self._get_port_count('type={}'.format(nic_type))
port_name = 'dpdkvhostuser' + str(vhost_count)
- params = ['--', 'set', 'Interface', port_name, 'type=dpdkvhostuser']
+ params = ['--', 'set', 'Interface', port_name, 'type={}'.format(nic_type)]
+ if not S.getValue('VSWITCH_VHOSTUSER_SERVER_MODE'):
+ params += ['--', 'set', 'Interface', port_name, 'options:vhost-server-path='
+ '{}{}'.format(S.getValue('TOOLS')['ovs_var_tmp'], port_name)]
if S.getValue('VSWITCH_JUMBO_FRAMES_ENABLED'):
params += ['mtu_request={}'.format(
S.getValue('VSWITCH_JUMBO_FRAMES_SIZE'))]
diff --git a/vswitches/vpp_dpdk_vhost.py b/vswitches/vpp_dpdk_vhost.py
index 42f1cdf1..317f3798 100644
--- a/vswitches/vpp_dpdk_vhost.py
+++ b/vswitches/vpp_dpdk_vhost.py
@@ -225,7 +225,11 @@ class VppDpdkVhost(IVSwitch, tasks.Process):
"""See IVswitch for general description
"""
socket_name = S.getValue('TOOLS')['ovs_var_tmp'] + 'dpdkvhostuser' + str(len(self._virt_ports))
- output = self.run_vppctl(['create', 'vhost-user', 'socket', socket_name, 'server'] +
+ if S.getValue('VSWITCH_VHOSTUSER_SERVER_MODE'):
+ mode = ['server']
+ else:
+ mode = []
+ output = self.run_vppctl(['create', 'vhost-user', 'socket', socket_name] + mode +
S.getValue('VSWITCH_VPP_VHOSTUSER_ARGS'))
if output[0].find('returned') >= 0:
raise RuntimeError('VPP VhostUser interface cannot be created.')