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.

Reply via email to