reset driver using bind/unbind when vm is deleted

Change-Id: I047c0c37cbb3f90ae4703f54da4cc8c14559ba7c
This commit is contained in:
Moshe Levi 2017-02-21 14:18:04 +02:00
parent cf0486602f
commit 7d325cb87b
2 changed files with 12 additions and 3 deletions

View File

@ -37,7 +37,8 @@ CX4_GUID_PORT_PATH = ('/sys/class/infiniband/%(module)s/device/sriov/'
'%(vf_num)s/port')
CX4_GUID_POLICY_PATH = ('/sys/class/infiniband/%(module)s/device/sriov/'
'%(vf_num)s/policy')
UNBIND_PATH = '/sys/bus/pci/drivers/mlx5_core/unbind'
BIND_PATH = '/sys/bus/pci/drivers/mlx5_core/bind'
INVALID_GUID_CX3 = 'ffffffffffffffff'
INVALID_GUID_CX4 = 'ff:ff:ff:ff:ff:ff:ff:ff'

View File

@ -316,8 +316,16 @@ class eSwitchHandler(object):
cmd = ['ebrctl', 'write-sys', path, vguid]
command_utils.execute(*cmd)
cmd = ['ebrctl', 'write-sys', guid_poliy, 'Up\n']
command_utils.execute(*cmd)
if vguid == constants.INVALID_GUID_CX4:
cmd = ['ebrctl', 'write-sys', guid_poliy, 'Down\n']
command_utils.execute(*cmd)
cmd = ['ebrctl', 'write-sys', constants.UNBIND_PATH, dev]
command_utils.execute(*cmd)
cmd = ['ebrctl', 'write-sys', constants.BIND_PATH, dev]
command_utils.execute(*cmd)
else:
cmd = ['ebrctl', 'write-sys', guid_poliy, 'Up\n']
command_utils.execute(*cmd)
def _config_vlan_ib(self, fabric, dev, vlan):
fabric_details = self.rm.get_fabric_details(fabric)