Only change link and MTU if they differ from the vpp_iface

This commit is contained in:
Pim van Pelt
2022-03-25 00:29:57 +00:00
parent 250aae5210
commit 864c78ddfe

View File

@ -206,10 +206,11 @@ class Reconciler():
if vpp_iface.sub_id > 0: if vpp_iface.sub_id > 0:
self.logger.info("1> delete sub %s" % vpp_ifname) self.logger.info("1> delete sub %s" % vpp_ifname)
else: else:
self.logger.info("1> set interface state %s down" % vpp_ifname) if vpp_iface.flags & 1: # IF_STATUS_API_FLAG_ADMIN_UP
self.logger.info("1> set interface l3 %s" % vpp_ifname) self.logger.info("1> set interface state %s down" % vpp_ifname)
self.prune_addresses(vpp_ifname, []) self.prune_addresses(vpp_ifname, [])
self.logger.info("1> set interface mtu 9000 %s" % vpp_ifname) if vpp_iface.link_mtu != 9000:
self.logger.info("1> set interface mtu 9000 %s" % vpp_ifname)
continue continue
addresses = [] addresses = []
if 'addresses' in config_iface: if 'addresses' in config_iface:
@ -375,7 +376,9 @@ class Reconciler():
def prune_addresses_set_interface_down(self): def prune_addresses_set_interface_down(self):
for ifname in self.vpp.get_qinx_interfaces() + self.vpp.get_dot1x_interfaces() + self.vpp.get_bondethernets() + self.vpp.get_vxlan_tunnels() + self.vpp.get_phys(): for ifname in self.vpp.get_qinx_interfaces() + self.vpp.get_dot1x_interfaces() + self.vpp.get_bondethernets() + self.vpp.get_vxlan_tunnels() + self.vpp.get_phys():
if not ifname in interface.get_interfaces(self.cfg): if not ifname in interface.get_interfaces(self.cfg):
self.logger.info("1> set interface state %s down" % ifname) iface = self.vpp.config['interface_names'][ifname]
if iface.flags & 1: # IF_STATUS_API_FLAG_ADMIN_UP
self.logger.info("1> set interface state %s down" % ifname)
self.prune_addresses(ifname, []) self.prune_addresses(ifname, [])
return True return True