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