Hello Bird users,

Does anyone know if there is a way to announce a BGP route back to the router it was received from.
I need to do this for the following scenario.
Lets say there are two routers with 2 transit links on each with full view tables and Bird server as a route-reflector. There is a need to force traffic to a specific destination via one of the ISPs, so I match the route in the import filter  and set a local pref on it. But that will only make the route server announce the route with a high local pref to a second router, where the desired transit isn't directly connected. So I get the desired effect on the second router, it will learn and install a route with high local pref. The first router where the desired transit link is connected by default selects another transit link because of the shorter as-path.

Here is the import filter snippet (x.y.z.0/24 is a dest route, as-path 1234 is a directly connected ISP on router-1:

        if source = RTS_BGP && net = x.y.z.0/24 && bgp_path.first = 1234 then {
            bgp_local_pref = 150;
            accept;
        }

I think that bird doesn't do that because the protocol matches on the peer and on the route.


Thanks!