Using RAdv and trigger routes with multiple interfaces

Tore Anderson tore at fud.no
Fri Nov 29 20:26:30 CET 2013


* Ondrej Zajicek

> Well, your use case wasn't the one i have in mind for 'trigger' feature.
> I expected trigger to be like default route. But your use case should
> work with multiple radv instances.

Indeed it does! My bug was (I think) that I had a hyphen in the protocol
instance name. At least it works now, using quotes. Thanks for letting
me know it ought to have worked. :-)

For future Googlers' reference, here's the config I'm converging on,
which seems to work and gives an acceptable fail-over time (30s):

protocol radv 'radv-vlan100' {
  export filter {
    # Only consider on-link routes, if gw is set we've learned
    # the route elsewhere (probably from the other firewall
    # via OSPF) and in that case the RAs should be suppressed
    if gw = :: then
      accept;
    reject;
  };
  trigger 2001:db8:100::/64;
  rdnss {
    ns 2001:db8::1;
    lifetime 2419200;
  };
  interface "vlan100" {
    max ra interval 5;
    default lifetime 30;
  };
}
[repeat as necessary]

It's a bit more expressive than I would have liked, but I can live with
that. It would have been nice if instead of a trigger prefix I could say
for example that the trigger is "pulled" if, and only if, there is a
prefix to announce in a RA Prefix Information Option (this information
must necessarily be available to the radvd protocol, as it by default
will automatically include a corresponding PIO if there's a globally
scoped address/prefix on the interface).

Best regards,
Tore Anderson



More information about the Bird-users mailing list