Re: BGP outgoing traffic balancing between 2 uplinks
В письме от 6 декабря 2013 12:46:48 пользователь Martin Kraus написал: > > I don't think there is. cisco has a bgp multipath but that basically works > only if you have two uplinks to the same provider as it multipaths only > routes that have nearly all the attributes the same (pref,as path,...). Moreover, having enabled this on cisco with "bgp bestpath as-path multipath- relax" (hidden in IOS) without completely understanding traffic paths could lead traffic reordering and other problems, as path within AS in two upstreams usually differ. Altough by default cisco do per flow traffic balance (src+dst ip...), which lowers problem. As for function, describing "bestpath" selection algo within BIRD by distributing some prefix lengths across uplinks, this could improve sharing, but this gives no real hint for data plane to reach ~50/50%. BTW: why not use just static default routes, which is supported in BIRD for multipath load sharing by Linux kernel? In this case all load sharing job will be put to ECMP implementation in Linux kernel (which is good enough as for me). > > mk -- SP5474-RIPE Sergey Popovich
Re: BGP outgoing traffic balancing between 2 uplinks
On Fri, Dec 06, 2013 at 12:29:53PM +0200, 0dm1n wrote: > sorry, in one second after message has been sent got an idea: that's what usually happens:-) > filter Uplink1_in { > if (net.len > 19) then > bgp_local_pref=150; > else > bgp_local_pref=100; > accept; > } > > result: 60%/40% (not bad) > may be exists another less brusquely method... I don't think there is. cisco has a bgp multipath but that basically works only if you have two uplinks to the same provider as it multipaths only routes that have nearly all the attributes the same (pref,as path,...). mk
Re: BGP outgoing traffic balancing between 2 uplinks
On 06.12.2013 12:14, 0dm1n wrote: filter Uplink1_in { if (net.len > 19 && "other_uplink_is_alive") then reject; else { bgp_local_pref=100; accept; } } sorry, in one second after message has been sent got an idea: filter Uplink1_in { if (net.len > 19) then bgp_local_pref=150; else bgp_local_pref=100; accept; } result: 60%/40% (not bad) may be exists another less brusquely method... -- Best Wishes