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. 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. 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. on router1 i set in the bgp input filter the preference to 300 for a specific network(91.189.88.0/21), and on router 2 the preference to 400. What i would want, is that both iBGP routers agree on route for a specific manual overruled prefix. below you can see each router takes its direct route to a Transit, relevant filters and show route all below. Any idea on how you want to do that? detail info: router1: bird> show route 91.189.88.0/21 91.189.88.0/21 via <Transit1_BGPRTR_1> on eth5 [Transit1_BGPRTR_1 2010-06-09 10:30:31] * (300) [AS41231i] via <iBGP_router2_gw1> on eth0 [iBGP_router1_1 2010-06-09 11:22:55] (100) [AS41231i] via <iBGP_router2_gw2> on eth1 [iBGP_router1_2 2010-06-09 11:22:55] (100) [AS41231i] via <Transit1_BGPRTR_2> on eth5 [Transit1_BGPRTR_2 2010-06-09 10:30:34] (300) [AS41231i] router2: bird> show route 91.189.88.0/21 91.189.88.0/21 via <Transit2_BGPRTR_1> on eth5 [Transit2_BGPRTR_1 2010-06-09 11:22:06] * (400) [AS41231i] via <iBGP_router1_gw1> on eth1 [iBGP_router1_1 2010-06-09 10:29:43] (100) [AS41231i] via <Transit3_BGPRTR_1> on opn-ext.382 [Transit3_BGPRTR_1 2010-06-09 11:19:12] (100) [AS41231i] via <iBGP_router1_1> on opn-ext.382 [Transit3_BGPRTR_2 2010-06-09 11:14:03] (100) [AS41231i] via <iBGP_router1_gw2> on eth0 [iBGP_router1_2 2010-06-09 10:29:43] (100) [AS41231i] bgp input filter, applied for eBGP router1: function bgp_in(int peeras) { <snip> # Traffic engineering: # launchpad.net if (net = 91.189.88.0/21 && bgp_path.first = Transit1AS ) then preference=300; # end Traffic engineering return true; } router2: function bgp_in(int peeras) { <snip> # Traffic engineering: # ppa.launchpad.net if (net = 91.189.88.0/21 && bgp_path.first = Transit2AS ) then preference=400; # end Traffic engineering return true; } router1: bird> show route 91.189.88.0/21 all 91.189.88.0/21 via <Transit1_BGPRTR_1> on eth5 [Transit1_BGPRTR_1 2010-06-09 10:30:30] * (300) [AS41231i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 24785 286 6908 41231 BGP.next_hop: <Transit1_BGPRTR_1> BGP.med: 100 BGP.local_pref: 100 via <iBGP_router2_gw1> on eth0 [iBGP_router1_1 2010-06-09 11:22:54] (100) [AS41231i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 38930 16265 286 6908 41231 BGP.next_hop: <Transit2_BGPRTR_1> BGP.local_pref: 100 BGP.community: (286,19) (286,29) (286,49) (286,286) (286,3044) (16265,65400) via <iBGP_router2_gw2> on eth1 [iBGP_router1_2 2010-06-09 11:22:54] (100) [AS41231i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 38930 16265 286 6908 41231 BGP.next_hop: <Transit2_BGPRTR_1> BGP.local_pref: 100 BGP.community: (286,19) (286,29) (286,49) (286,286) (286,3044) (16265,65400) via <Transit1_BGPRTR_2> on eth5 [Transit1_BGPRTR_2 2010-06-09 10:30:33] (300) [AS41231i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 24785 286 6908 41231 BGP.next_hop: <Transit1_BGPRTR_2> BGP.med: 100 BGP.local_pref: 100 bird> router2: bird> show route 91.189.88.0/21 all 91.189.88.0/21 via <Transit2_BGPRTR_1> on eth5 [Transit2_BGPRTR_1 2010-06-09 11:22:07] * (400) [AS41231i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 38930 16265 286 6908 41231 BGP.next_hop: <Transit2_BGPRTR_1> BGP.local_pref: 100 BGP.community: (286,19) (286,29) (286,49) (286,286) (286,3044) (16265,65400) via <iBGP_router1_gw1> on eth1 [iBGP_router1_1 2010-06-09 10:29:44] (100) [AS41231i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 24785 286 6908 41231 BGP.next_hop: <Transit1_BGPRTR_1> BGP.med: 100 BGP.local_pref: 100 via <Transit3_BGPRTR_1> on opn-ext.382 [Transit3_BGPRTR_1 2010-06-09 11:19:13] (100) [AS41231i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 20562 24785 286 6908 41231 BGP.next_hop: <Transit3_BGPRTR_1> BGP.med: 0 BGP.local_pref: 100 via <iBGP_router1_1> on opn-ext.382 [Transit3_BGPRTR_2 2010-06-09 11:14:04] (100) [AS41231i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 20562 24785 286 6908 41231 BGP.next_hop: <iBGP_router1_1> BGP.med: 0 BGP.local_pref: 100 via <iBGP_router1_gw2> on eth0 [iBGP_router1_2 2010-06-09 10:29:44] (100) [AS41231i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 24785 286 6908 41231 BGP.next_hop: <Transit1_BGPRTR_1> BGP.med: 100 BGP.local_pref: 100 bird> Regards, Arjan Filius