about ecmp

k simon chio1990 at gmail.com
Sat Jan 11 06:54:24 CET 2014


    Great, I'd like to test ecmp on freebsd after Alexander release it. 
And how about flowtable's process? In a SLB scene, it's useful, but I 
remembered it's confilict with BGP update.


Regards
Simon





于 10/1/14 下午4:53, Alexander V. Chernikov 写道:
> On 10.01.2014 08:14, 曾小小 wrote:
>> Hello,
>>
>> I want to use the ospf protocol ecmp function, load balancing local to
>> remote devices.
>>
>> Interface uses ipip tunnel connected.
>>
>> the local use FreeBSD 10.0-BETA1 and BIRD 1.3.11, using fib support
>> multiple routing tables, gif interface is configured for parallel
>> tunnels by setting the sysctl variable net.link.gif.parallel_tunnels to
> Hello. Currently FreeBSD ECMP is unstable and turned off in GENERIC
> (options RADIX_MPATH). Additionally, AFAIR bird does not support
> multipath on (Free)BSD.
> I'm working to improve multipath in FreeBSD (I hope necessary changes
> will get in 10-STABLE in a month). After that I'll take a look on bird
> and probably update FreeBSD port to enable ecmp.
>> 1.
>>
>> the remote use Ubuntu 13.04 and Quagga (version 0.99.22).
>>
>> Configured as follows:
>>
>> protocol ospf ospf_gif {
>>         table tab_ospf_gif;
>>         router id 192.168.148.17;
>>         ecmp yes ;
>>         export all;
>>         import all;
>>         preference 200;
>>         area 0.0.0.10 {
>>                 interface "gif0" {
>>                         ecmp weight 3;
>>                         hello 10;
>>                         retransmit 5;
>>                         cost 10;
>>                         transmit delay 1;
>>                         dead count 4;
>>                         wait 40;
>>                         type pointopoint;
>>                         priority 0;
>>                         authentication cryptographic;
>>                         password "abc";
>>                 };
>>
>>                 interface "gif1" {
>>                         hello 10;
>>                         retransmit 5;
>>                         cost 10;
>>                         transmit delay 1;
>>                         dead count 4;
>>                         wait 40;
>>                         type pointopoint;
>>                         priority 0;
>>                         authentication cryptographic;
>>                         password "abc";
>>                 };
>>
>>         };
>> }
>>
>> protocol pipe pipe_gif
>> {
>>         table tab_ospf_gif;
>>         peer table master;
>>
>>         import none;
>>         export all;
>> }
>>
>> protocol kernel kernel_gif
>> {
>>         debug all;
>>         table tab_ospf_gif;
>>         export all;
>>         kernel table 10;
>>         scan time 15;
>> }
>>
>> In the test if configured ecmp function, the local device using bird
>> view master table, tab_ospf_gif two tables are learning two equal cost
>> routes to the remote device (see below).
>>
>> bird> show route table master
>> 1007-0.0.0.0 / 0 multipath [ospf_gif 18:18] * E2 (200/10/10) [xxxx]
>>      via 192.168.170.41 on gif0 weight 3
>>      via 192.168.170.149 on gif1 weight 1
>>
>> bird> show route table tab_ospf_gif
>> 1007-0.0.0.0 / 0 multipath [ospf_gif 18:18] * E2 (200/10/10) [xxxx]
>>      via 192.168.170.41 on gif0 weight 3
>>      via 192.168.170.149 on gif1 weight 1
>>
>> But I can not see the route to the fib in freebsd. Why? ?
>>
>> I look protocols, found that the route was refused entry, as follows:
>>
>> 1002-kernel_gif Kernel   tab_ospf_gif up     18:42
>> 1006-  Preference:     10
>>        Input filter:   ACCEPT
>>        Output filter:  ACCEPT
>>        Routes:         0 imported, 0 exported, 0 preferred
>>        Route change stats:     received   rejected filtered    ignored
>>   accepted
>>          Import updates:              0          0    0          0
>>      0
>>          Import withdraws:            0          0  ---          0
>>      0
>>          Export updates:              3          3    0        ---
>>      0
>>          Export withdraws:            0        ---  ---        ---
>>      0
>>
>>
>> Use debug discovery and found the following:
>>
>> 09-01-2014 23:58:45 <TRACE> kernel_gif <rejected by protocol 0.0.0.0 /
>> 0 multipath
>> 09-01-2014 23:58:45 <TRACE> kernel_gif <rejected by protocol
>> 192.168.170.40/30 <http://192.168.170.40/30> multipath
>> 09-01-2014 23:58:45 <TRACE> kernel_gif <rejected by protocol
>> 192.168.170.148/30 <http://192.168.170.148/30> multipath
>>
>> If I do not use ecmp function, fib table freebsd system can view the
>> routing entries, but only a single path.
>>
>> thank you very much.
>



More information about the Bird-users mailing list