<div dir="ltr"><div><span style="font-family:arial,sans-serif;font-size:14px">Hello,</span><br></div><div><br></div><div>I want to use the ospf protocol ecmp function, load balancing local to remote devices. </div><div><br>
</div><div>Interface uses ipip tunnel connected. </div><div><br></div><div>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.</div>
<div><br></div><div>the remote use Ubuntu 13.04 and Quagga (version 0.99.22). </div><div><br></div><div>Configured as follows: </div><div><br></div><div><div>protocol ospf ospf_gif {</div><div>        table tab_ospf_gif;</div>
<div>        router id 192.168.148.17;</div><div>        ecmp yes ;</div><div>        export all;</div><div>        import all;</div><div>        preference 200;</div><div>        area 0.0.0.10 {</div><div>                interface "gif0" {</div>
<div>                        ecmp weight 3;</div><div>                        hello 10;</div><div>                        retransmit 5;</div><div>                        cost 10;</div><div>                        transmit delay 1;</div>
<div>                        dead count 4;</div><div>                        wait 40;</div><div>                        type pointopoint;</div><div>                        priority 0;</div><div>                        authentication cryptographic;</div>
<div>                        password "abc";</div><div>                };</div><div><br></div><div>                interface "gif1" {</div><div>                        hello 10;</div><div>                        retransmit 5;</div>
<div>                        cost 10;</div><div>                        transmit delay 1;</div><div>                        dead count 4;</div><div>                        wait 40;</div><div>                        type pointopoint;</div>
<div>                        priority 0;</div><div>                        authentication cryptographic;</div><div>                        password "abc";</div><div>                };                      </div>
<div><br></div><div>        };</div><div>}</div><div><br></div><div>protocol pipe pipe_gif</div><div>{</div><div>        table tab_ospf_gif;</div><div>        peer table master;</div><div><br></div><div>        import none;</div>
<div>        export all;</div><div>}</div><div><br></div><div>protocol kernel kernel_gif</div><div>{</div><div>        debug all;</div><div>        table tab_ospf_gif;</div><div>        export all;</div><div>        kernel table 10;</div>
<div>        scan time 15;</div><div>}</div></div><div><br></div><div>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). </div>
<div><br></div><div>bird> show route table master </div><div>1007-0.0.0.0 / 0 multipath [ospf_gif 18:18] * E2 (200/10/10) [xxxx] </div><div>     via 192.168.170.41 on gif0 weight 3 </div><div>     via 192.168.170.149 on gif1 weight 1 </div>
<div><br></div><div>bird> show route table tab_ospf_gif </div><div>1007-0.0.0.0 / 0 multipath [ospf_gif 18:18] * E2 (200/10/10) [xxxx] </div><div>     via 192.168.170.41 on gif0 weight 3 </div><div>     via 192.168.170.149 on gif1 weight 1 </div>
<div><br></div><div>But I can not see the route to the fib in freebsd. Why? ? </div><div><br></div><div>I look protocols, found that the route was refused entry, as follows: </div><div><br></div><div><div>1002-kernel_gif Kernel   tab_ospf_gif up     18:42       </div>
<div>1006-  Preference:     10</div><div>       Input filter:   ACCEPT</div><div>       Output filter:  ACCEPT</div><div>       Routes:         0 imported, 0 exported, 0 preferred</div><div>       Route change stats:     received   rejected   filtered    ignored   accepted</div>
<div>         Import updates:              0          0          0          0          0</div><div>         Import withdraws:            0          0        ---          0          0</div><div>         Export updates:              3          3          0        ---          0</div>
<div>         Export withdraws:            0        ---        ---        ---          0</div></div><div><br></div><div><br></div><div>Use debug discovery and found the following: </div><div><br></div><div>09-01-2014 23:58:45 <TRACE> kernel_gif <rejected by protocol 0.0.0.0 / 0 multipath </div>
<div>09-01-2014 23:58:45 <TRACE> kernel_gif <rejected by protocol <a href="http://192.168.170.40/30">192.168.170.40/30</a> multipath </div><div>09-01-2014 23:58:45 <TRACE> kernel_gif <rejected by protocol <a href="http://192.168.170.148/30">192.168.170.148/30</a> multipath </div>
<div><br></div><div>If I do not use ecmp function, fib table freebsd system can view the routing entries, but only a single path.</div><div><br></div><div style>thank you very much.</div></div>