mirror of
https://github.com/CumulusNetworks/ifupdown2.git
synced 2024-05-06 15:54:50 +00:00
Merge branch 'release-2.5' into CumulusLinux-2.5_br
Conflicts: build-config/make/local-pkgs.make packages/cafe/clobjects.py packages/cafe/clobjects_l3_quagga.py packages/cl-basefiles/etc/cumulus/datapath/traffic.conf packages/cl-utilities/etc/monit/monitrc.d/cumulus packages/clag/ifupdown/clagd.py packages/ifupdown2/addons/bridge.py packages/ifupdown2/addons/ifenslave.py packages/ifupdown2/ifupdown/iface.py packages/ifupdown2/ifupdown/ifupdownmain.py packages/ifupdown2/ifupdown/scheduler.py packages/portwd/portwd patches/bcm-sdk/series patches/iproute/bridge-increase-netlink-rcv-buf-size.patch patches/iproute/series patches/kernel/driver-support-sff-8436-eeprom.patch patches/kernel/network-bridge-dont-install-local-mac.patch patches/kernel/series patches/lldpd/series patches/mstpd/clag_port_fsm_reset.patch patches/mstpd/mstpd_init_system.patch patches/mstpd/series patches/quagga/series rootconf/default/etc/default/cron switchd/hal.c switchd/hal_bcm.c switchd/hal_bcm_config.c switchd/hal_bcm_config.h switchd/hal_config.c switchd/hal_config.h switchd/hal_int.h switchd/sync.c tests/tests/l3/bgp_alpm_test.py tests/tests/l3/bgp_path_hunting.py tests/tests/l3/bgp_smoke_test.py tests/tests/l3/l3_node.py tests/tests/l3/mc_snoop_test.py tests/tests/lib/decorators.py tests/tests/smoke/testifupdown2.py utilities/ci/pretest.yml utilities/distro-cmd utilities/packages/ssim2/setup.py utilities/packages/ssim2/ssim2/simlib.py
This commit is contained in:
@@ -218,7 +218,8 @@ class bridge(moduleBase):
|
||||
def get_dependent_ifacenames(self, ifaceobj, ifacenames_all=None):
|
||||
if not self._is_bridge(ifaceobj):
|
||||
return None
|
||||
ifaceobj.link_type = ifaceLinkType.LINK_MASTER
|
||||
if ifaceobj.link_type != ifaceLinkType.LINK_NA:
|
||||
ifaceobj.link_type = ifaceLinkType.LINK_MASTER
|
||||
return self.parse_port_list(ifaceobj.get_attr_value_first(
|
||||
'bridge-ports'), ifacenames_all)
|
||||
|
||||
@@ -280,6 +281,7 @@ class bridge(moduleBase):
|
||||
|
||||
self.ipcmd.batch_start()
|
||||
self._process_bridge_waitport(ifaceobj, bridgeports)
|
||||
self.ipcmd.batch_start()
|
||||
# Delete active ports not in the new port list
|
||||
if not self.PERFMODE:
|
||||
runningbridgeports = self.brctlcmd.get_bridge_ports(ifaceobj.name)
|
||||
@@ -809,8 +811,10 @@ class bridge(moduleBase):
|
||||
except Exception, e:
|
||||
self.log_error(str(e))
|
||||
finally:
|
||||
running_ports = self.brctlcmd.get_bridge_ports(ifaceobj.name)
|
||||
[rtnetlink_api.rtnl_api.link_set(p, "up") for p in running_ports]
|
||||
if ifaceobj.link_type != ifaceLinkType.LINK_NA:
|
||||
running_ports = self.brctlcmd.get_bridge_ports(ifaceobj.name)
|
||||
[rtnetlink_api.rtnl_api.link_set(p, "up")
|
||||
for p in running_ports]
|
||||
if link_exists and ifaceobj.addr_method == 'manual':
|
||||
rtnetlink_api.rtnl_api.link_set(ifaceobj.name, "up")
|
||||
if porterr:
|
||||
@@ -826,7 +830,8 @@ class bridge(moduleBase):
|
||||
proc_file = ('/proc/sys/net/ipv6/conf/%s' %p +
|
||||
'/disable_ipv6')
|
||||
self.write_file(proc_file, '0')
|
||||
rtnetlink_api.rtnl_api.link_set(p, "down")
|
||||
if ifaceobj.link_type == ifaceLinkType.LINK_MASTER:
|
||||
rtnetlink_api.rtnl_api.link_set(p, "down")
|
||||
except Exception, e:
|
||||
self.log_error(str(e))
|
||||
|
||||
@@ -1286,11 +1291,11 @@ class bridge(moduleBase):
|
||||
ifaceobj_getfunc):
|
||||
if not self._is_bridge_port(ifaceobj):
|
||||
# Mark all bridge attributes as failed
|
||||
ifaceobj.check_n_update_config_with_status_many(
|
||||
ifaceobjcurr.check_n_update_config_with_status_many(ifaceobj,
|
||||
['bridge-vids', 'bridge-pvid', 'bridge-access',
|
||||
'bridge-pathcosts', 'bridge-portprios',
|
||||
'bridge-portmcrouter',
|
||||
'bridge-portmcfl'], 0)
|
||||
'bridge-portmcfl'], 1)
|
||||
return
|
||||
bridgename = self._get_bridge_name(ifaceobj)
|
||||
if not bridgename:
|
||||
|
Reference in New Issue
Block a user