2
0

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:
2025-11-03 22:01:35 +00:00
parent a3c4ebbe29
commit c5e0567511
+3 -2
View File
@@ -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";
};