Hi,

I do not completely understand your setup. You better show route
tables from all the routers and what is announced in which direction.

> 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.

How this could happen? If you got this route on the route reflector
from the first router, than it should have this route in the required
direction. If it had this route to another transit link, it would
announce this to the route reflector. There is no reason to propagate
the routes back to the peer, because they are already there.I think
you can do some tricks, but first we need to understand what do you
want to achieve.

On Fri, Jan 18, 2019 at 7:23 PM Roman Romanyak <[email protected]> wrote:
>
> 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!

Reply via email to