ovs: Avoids setting MTU if MTU is None or 0
If the 'mtu' argument is None or 0, it will lead to errors, as it is not a valid argument. Skips setting the port's MTU if the given 'mtu' is None or 0. Closes-Bug: #1591113 Change-Id: Ia07ade945ca7469b9c23c801a6bfe08135d39466
This commit is contained in:
parent
f0b5b4f583
commit
2c96373d5e
|
@ -68,7 +68,7 @@ def create_ovs_vif_port(bridge, dev, iface_id, mac, instance_id,
|
|||
interface_type))
|
||||
# Note at present there is no support for setting the
|
||||
# mtu for vhost-user type ports.
|
||||
if interface_type != constants.OVS_VHOSTUSER_INTERFACE_TYPE:
|
||||
if mtu and interface_type != constants.OVS_VHOSTUSER_INTERFACE_TYPE:
|
||||
_set_device_mtu(dev, mtu)
|
||||
else:
|
||||
LOG.debug("MTU not set on %(interface_name)s interface "
|
||||
|
|
|
@ -156,3 +156,18 @@ class LinuxNetTest(testtools.TestCase):
|
|||
"fake-instance-uuid", constants.OVS_VHOSTUSER_INTERFACE_TYPE)
|
||||
self.assertFalse(mock_set_device_mtu.called)
|
||||
self.assertTrue(mock_vsctl.called)
|
||||
|
||||
@mock.patch.object(linux_net, '_ovs_vsctl')
|
||||
@mock.patch.object(linux_net, '_create_ovs_vif_cmd')
|
||||
@mock.patch.object(linux_net, '_set_device_mtu')
|
||||
def test_ovs_vif_port_with_no_mtu(self, mock_set_device_mtu,
|
||||
mock_create_cmd, mock_vsctl):
|
||||
linux_net.create_ovs_vif_port(
|
||||
'fake-bridge',
|
||||
'fake-dev', 'fake-iface-id', 'fake-mac',
|
||||
"fake-instance-uuid")
|
||||
mock_create_cmd.assert_called_once_with('fake-bridge',
|
||||
'fake-dev', 'fake-iface-id', 'fake-mac',
|
||||
"fake-instance-uuid", None)
|
||||
self.assertFalse(mock_set_device_mtu.called)
|
||||
self.assertTrue(mock_vsctl.called)
|
||||
|
|
Loading…
Reference in New Issue