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!
