But this filter applies in the antenna that advertise the route.
10.20.2.2 and 10.20.2.36 advertise 10.0.0.0/8

10.20.2.162 and 10.20.3.1 links with 10.20.2.2 and i want that 10.20.2.162 uses 10.20.2.36 (not direct link) for 10.0.0.0/8 not 10.20.2.2 and 10.20.3.1 uses 10.20.2.2

So i need to modify in 10.20.2.162 and 10.20.3.1 the 10.0.0.0/8 gateway

Is this possible with babel?

Thanks

Oriol

El El jue, 12 ene 2023 a las 16:11, Juliusz Chroboczek <jch@irif.fr> escribió:
>     We have a series of wireless antennas deployed in mesh with the babel
> protocol using bird.
>    Two of those antennas advertise the route 10.0.0.0/8.
>    The rest of the antennas choose one of the two outputs depending on the
> babel protocol.
>    How can I force it to go out through one or the other exit?

You cannot force it, but you can strongly discourage one of the two nodes.
Say something like this:

    filter babel_discourage {
            if babel_metric < 1024 then
                    babel_metric = 1024;
            accept "ok";
    };

    protocol babel {
            ...
            ipv4 {
                    export filter babel_discourage;
            };
            ipv6 {
                    export filter babel_discourage;
            };
    };

You should not do the opposite: a node can safely increase the metric it
announces, thus discouraging its use by other nodes, but it should not
decrease its metric artificially, since that might defeat Babel's loop
avoidance.

-- Juliusz