1
0
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:
John Berezovik
2014-12-24 12:20:53 -08:00
12 changed files with 147 additions and 70 deletions

View File

@@ -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: