about ecmp

Alexander V. Chernikov melifaro at FreeBSD.org
Fri Jan 10 09:53:23 CET 2014


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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20140110/fffc5ffc/attachment-0001.html>


More information about the Bird-users mailing list