Using RAdv and trigger routes with multiple interfaces
Tore Anderson
tore at fud.no
Fri Nov 29 15:34:25 CET 2013
Hi,
I'm trying to set up conditional RA transmission from BIRD 1.3.11 on a
firewall pair running Keepalived for HA/failover. My goal is to start
emitting RAs on an interface as soon as Keepalived adds an IPv6 address
on it, and start suppressing the RAs (i.e., sending with router
lifetime=0) as soon as Keepalived removes it.
On first look, it would appear that the "trigger" option is exactly what
I need. However, I ran into the a problem - it appears to be global for
the entire radv protocol instead of being per-interface, and that I
cannot seem to work around limitation that by setting up multiple (one
per interface) instances of the protocol either.
To be more specific, assume that I have two interfaces with the
following virtual IPs controlled by Keepalived:
vlan100 = 2001:db8:100::1/64
vlan200 = 2001:db8:200::1/64
I would have liked to do something like:
protocol radv {
interface "vlan100" {
trigger 2001:db8:100::/64; # <-- syntax error on this line
};
interface "vlan200" {
trigger 2001:db8:200::/64;
};
}
...but that only gives me a syntax error on the line marked. So I tried
the following instead, which also resulted in a syntax error:
protocol radv vlan100 { # <-- syntax error on this line
interface "vlan100";
trigger 2001:db8:100::/64;
}
protocol radv vlan200 {
interface "vlan200";
trigger 2001:db8:200::/64;
}
Am I missing something obvious here or is the trigger feature only
useful on routers with a single network interface?
Best regards,
Tore Anderson
More information about the Bird-users
mailing list