about ecmp

曾小小 flyinsky2018 at gmail.com
Fri Jan 10 05:14:14 CET 2014


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 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 multipath
09-01-2014 23:58:45 <TRACE> kernel_gif <rejected by protocol
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/ff356bae/attachment.html>


More information about the Bird-users mailing list