Thanks a lot!

tested bgp_local_pref and works fine!
prepending with the peer AS didn't cross my mind.

Thanks.

Arjan Filius

On Thu, 2010-06-10 at 14:13 +0200, Ondrej Zajicek wrote:
On Thu, Jun 10, 2010 at 09:57:59AM +0200, Arjan Filius wrote:
>    Hello bird-users,
> 
>    (email send in html to prevent text wrapping, .txt version attached)
> 
>    running bird 1.2.3 ppa x64 ubuntu 10.04LTS. 2 bird routers connected with
>    2 iBGP sessions over different links.
> 
>    I'm trying to route specific outgoing traffic over a specific Transit.
>    It starts with that I'm not really sure how to do it, so tested a bit.
>    Setting Local performance
>    on protocol definition works just fine for a complete  Transit, however
>    when i want to do it more fine grained, i run into trouble.

You mean local preference (LOCAL_PREF BGP attribute)? You can set local
preference in filters for specific routes like other attributes (using
'bgp_local_pref'). That would probably do what you want.

>    First started with prepending routes in bgp input filter with my own AS,
>    which works OK on a single bird router, however, with iBGP all prepended
>    local AS-es are stripped, and that concept doesn't work.

You can also prepend peer AS on incoming routes. If you keep such routes
in your AS it should be OK.

>    Then, started to set the preference in the bgp input filter, which also
>    works fine on a single bird router, but that preference seems not to
>    propagate to the second iBGP router.

Yes, (protocol) preference is not BGP attribute, but it is internal BIRD
metric to be able to compare routes from different protocols (BGP/OSPF/static
...)

Protocol preference (route attribute 'preference') and BGP local preference
(route attribute 'bgp_local_pref') are different concepts.