mirror of
https://github.com/CumulusNetworks/ifupdown2.git
synced 2024-05-06 15:54:50 +00:00
address.py: default value for mtu when mtu attribute is removed
Ticket: CM-9449 Reviewed By: Roopa Testing Done: Adding/removing mtu attribute to ifaces while doing ifup/ifdown/ifquery/ifreload
This commit is contained in:
@@ -13,6 +13,7 @@ try:
|
|||||||
from ifupdownaddons.modulebase import moduleBase
|
from ifupdownaddons.modulebase import moduleBase
|
||||||
from ifupdownaddons.iproute2 import iproute2
|
from ifupdownaddons.iproute2 import iproute2
|
||||||
from ifupdownaddons.dhclient import dhclient
|
from ifupdownaddons.dhclient import dhclient
|
||||||
|
import ifupdown.policymanager as policymanager
|
||||||
import ifupdown.rtnetlink_api as rtnetlink_api
|
import ifupdown.rtnetlink_api as rtnetlink_api
|
||||||
import ifupdown.ifupdownconfig as ifupdownConfig
|
import ifupdown.ifupdownconfig as ifupdownConfig
|
||||||
import ifupdown.ifupdownflags as ifupdownflags
|
import ifupdown.ifupdownflags as ifupdownflags
|
||||||
@@ -73,6 +74,7 @@ class address(moduleBase):
|
|||||||
moduleBase.__init__(self, *args, **kargs)
|
moduleBase.__init__(self, *args, **kargs)
|
||||||
self.ipcmd = None
|
self.ipcmd = None
|
||||||
self._bridge_fdb_query_cache = {}
|
self._bridge_fdb_query_cache = {}
|
||||||
|
self.default_mtu = policymanager.policymanager_api.get_attr_default(module_name=self.__class__.__name__, attr='mtu')
|
||||||
|
|
||||||
def _address_valid(self, addrs):
|
def _address_valid(self, addrs):
|
||||||
if not addrs:
|
if not addrs:
|
||||||
@@ -261,6 +263,10 @@ class address(moduleBase):
|
|||||||
mtu = ifaceobj.get_attr_value_first('mtu')
|
mtu = ifaceobj.get_attr_value_first('mtu')
|
||||||
if mtu:
|
if mtu:
|
||||||
self.ipcmd.link_set(ifaceobj.name, 'mtu', mtu)
|
self.ipcmd.link_set(ifaceobj.name, 'mtu', mtu)
|
||||||
|
elif self.default_mtu:
|
||||||
|
running_mtu = self.ipcmd.link_get_mtu(ifaceobj.name)
|
||||||
|
if running_mtu != self.default_mtu:
|
||||||
|
self.ipcmd.link_set(ifaceobj.name, 'mtu', self.default_mtu)
|
||||||
alias = ifaceobj.get_attr_value_first('alias')
|
alias = ifaceobj.get_attr_value_first('alias')
|
||||||
if alias:
|
if alias:
|
||||||
self.ipcmd.link_set_alias(ifaceobj.name, alias)
|
self.ipcmd.link_set_alias(ifaceobj.name, alias)
|
||||||
@@ -315,6 +321,9 @@ class address(moduleBase):
|
|||||||
#self.ipcmd.addr_del(ifaceobj.name, ifaceobj.get_attr_value('address')[0])
|
#self.ipcmd.addr_del(ifaceobj.name, ifaceobj.get_attr_value('address')[0])
|
||||||
else:
|
else:
|
||||||
self.ipcmd.del_addr_all(ifaceobj.name)
|
self.ipcmd.del_addr_all(ifaceobj.name)
|
||||||
|
mtu = ifaceobj.get_attr_value_first('mtu')
|
||||||
|
if (mtu and self.default_mtu and (mtu != self.default_mtu)):
|
||||||
|
self.ipcmd.link_set(ifaceobj.name, 'mtu', self.default_mtu)
|
||||||
alias = ifaceobj.get_attr_value_first('alias')
|
alias = ifaceobj.get_attr_value_first('alias')
|
||||||
if alias:
|
if alias:
|
||||||
filename = '/sys/class/net/%s/ifalias' %ifaceobj.name
|
filename = '/sys/class/net/%s/ifalias' %ifaceobj.name
|
||||||
|
Reference in New Issue
Block a user