diff options
-rw-r--r-- | conf/02_vswitch.conf | 1 | ||||
-rw-r--r-- | vswitches/vpp_dpdk_vhost.py | 9 |
2 files changed, 9 insertions, 1 deletions
diff --git a/conf/02_vswitch.conf b/conf/02_vswitch.conf index 92521f9a..6a830a05 100644 --- a/conf/02_vswitch.conf +++ b/conf/02_vswitch.conf @@ -206,6 +206,7 @@ VSWITCH_JUMBO_FRAMES_SIZE = 9000 ######################### # Set of arguments used for startup of VPP # NOTE: DPDK socket mem allocation is driven by parameter DPDK_SOCKET_MEM +VSWITCH_VPP_CLI_SOCK = '' VSWITCH_VPP_ARGS = { 'unix' : [ 'interactive', # required by VSPERF to detect successful VPP startup diff --git a/vswitches/vpp_dpdk_vhost.py b/vswitches/vpp_dpdk_vhost.py index bb472788..c62e28d4 100644 --- a/vswitches/vpp_dpdk_vhost.py +++ b/vswitches/vpp_dpdk_vhost.py @@ -50,6 +50,7 @@ class VppDpdkVhost(IVSwitch, tasks.Process): self._phy_ports = [] self._virt_ports = [] self._switches = {} + self._vpp_ctl = ['sudo', S.getValue('TOOLS')['vppctl']] # configure DPDK NICs tmp_args = copy.deepcopy(S.getValue('VSWITCH_VPP_ARGS')) @@ -71,6 +72,12 @@ class VppDpdkVhost(IVSwitch, tasks.Process): # configure path to the plugins tmp_args['plugin_path'] = S.getValue('TOOLS')['vpp_plugin_path'] + # cli sock file must be used for VPP 17.10 and newer + if S.getValue('VSWITCH_VPP_CLI_SOCK'): + self._vpp_ctl += ['-s', S.getValue('VSWITCH_VPP_CLI_SOCK')] + tmp_args['unix'].append('cli-listen {}'.format( + S.getValue('VSWITCH_VPP_CLI_SOCK'))) + mqs = int(S.getValue('VSWITCH_DPDK_MULTI_QUEUES')) tmp_rxqs = '' if mqs: @@ -371,7 +378,7 @@ class VppDpdkVhost(IVSwitch, tasks.Process): :return: None """ - cmd = ['sudo', S.getValue('TOOLS')['vppctl']] + args + cmd = self._vpp_ctl + args return tasks.run_task(cmd, self._logger, 'Running vppctl...', check_error) # |