Enable smfs software steering when switchdev is enabled

Before this point, when switchdev is enabled, the software
steering mode is not taken into consideration. This patch
tries to enable the smfs software steering mode when the
switchdev mode is enabled, and if it fails, a warning message
would be printed indicating the failur of the proccess, and
the software steering mode will not change from its current value.

Change-Id: I2cee0a5509db7a1c13c9baa056d9d75d16acb0ed
(cherry picked from commit c9b8691f05)
This commit is contained in:
abdallahyas 2020-10-06 11:31:53 +00:00 committed by Saravanan KR
parent f49ab161ca
commit b52ac80d8f
1 changed files with 13 additions and 0 deletions

View File

@ -220,6 +220,8 @@ def configure_sriov_pf(execution_from_cli=False, restart_openvswitch=False):
trigger_udev_rule = add_udev_rule_for_sriov_pf(item['name'])\
or trigger_udev_rule
configure_smfs_software_steering(item['name'])
configure_switchdev(item['name'])
# Adding a udev rule to rename vf-representors
@ -432,6 +434,17 @@ def configure_switchdev(pf_name):
raise
def configure_smfs_software_steering(pf_name):
pf_pci = get_pf_pci(pf_name)
try:
processutils.execute('/usr/sbin/devlink', 'dev', 'param', 'set',
'pci/%s' % pf_pci, 'name', 'flow_steering_mode',
'value', 'smfs', 'cmode', 'runtime')
logger.info("Device pci/%s is set to smfs steering mode." % pf_pci)
except processutils.ProcessExecutionError:
logger.warning("Could not set pci/%s to smfs steering mode!")
def run_ip_config_cmd(*cmd, **kwargs):
logger.info("Running %s" % ' '.join(cmd))
try: