bridge: flush ipv6 routes via member interfaces
Adding an interface as a bridge member does not (by itself) remove the routes which go via that interface, whioch makes them basically into null routes. This isn't a problem for IPv4 because there were no addresses anyway, but interfaces can acquire IPv6 addresses via autodiscovery before they get added to the bridde Possibly it would be better to disable autodiscovery on these interfaces. More thought needed.
This commit is contained in:
@@ -11,8 +11,8 @@ let
|
||||
addif =
|
||||
member:
|
||||
# how do we get sight of services from here? maybe we need to
|
||||
# implement ifwait as a regualr derivation instead of a
|
||||
# servicedefinition
|
||||
# implement ifwait as a regular derivation instead of a
|
||||
# service definition
|
||||
svc.ifwait.build {
|
||||
state = "running";
|
||||
interface = member;
|
||||
@@ -24,6 +24,7 @@ let
|
||||
name = "${primary.name}.member.${member.name}";
|
||||
up = ''
|
||||
ip link set dev $(output ${member} ifname) master $(output ${primary} ifname)
|
||||
ip -6 route flush dev $(output ${member} ifname)
|
||||
'';
|
||||
down = "ip link set dev $(output ${member} ifname) nomaster";
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user