On Mon, May 02, 2016 at 07:07:52PM +0200, Toke Høiland-Jørgensen wrote:
> This updates the documentation to correctly mention Babel when protocols
> are listed, and adds examples and route attribute documentation to the
> Babel section of the docs.

Thanks Toke :)

> +<sect1>Attributes
> +
> +<p>Babel defines just one attribute: the internal babel metric of the route. 
> It
> +is exposed as the <cf/babel_metric/ attribute and has range from 1 to 
> infinity
> +(65535).

I thought you were also exporting the router-id as an attribute, since it
is shown in "show route all":

bird> show route all
2001:db8:8081:1a00::1/128 via fe80::e8db:78ff:fe05:8a64 on tap-fastd [babel1 
12:53:53] * (130/1) [cc:5a:c9:1b:07:06:d2:c7]
        Type: <NULL> unicast univ
        Babel.metric: 1
        Babel.router_id: cc:5a:c9:1b:07:06:d2:c7

Would it make sense to export the router ID?  It would allow to filter
routes based on the originating router (babeld allows that, but I have no
idea whether it's actually used by somebody).

> +<sect1>Example
> +
> +<p><code>
> +protocol babel {
> +     interface "eth*" {
> +             type wired;
> +     };
> +     interface "wlan0", "wlan1" {
> +             type wireless;
> +             hello interval 1;
> +             rxcost 512;
> +     };
> +     interface "tap0";
> +
> +     # This matches the default of babeld: redistribute all addresses
> +     # configured on local interfaces, plus re-distribute all routes received
> +     # from other babel peers.
> +     export where (source = RTS_DEVICE) || (source = RTS_BABEL);
> +}
> +</code>

Great, that looks good!

The filter can also be written as:

  export where source ~ [RTS_DEVICE, RTS_BABEL];

Can you mention that it needs "protocol direct" to work?  Maybe just add
this at the beginning of the example:

  protocol direct {
    interface "*";
  }
 

Baptiste

Attachment: signature.asc
Description: PGP signature

Reply via email to