bird does not install route to the kernel

Volodymyr Samodid vladimir.samoded at onat.edu.ua
Tue Sep 13 21:07:54 CEST 2016


I found misconfiguration in that schema.

"device routes" option for kernel protocol  allows install such route.


On 08/29/2016 07:15 PM, Volodymyr Samodid wrote:
> Here they are
>
>
> R0
>
> router id 198.51.100.10;
>
> protocol kernel {
>         scan time 60;
>         import all;
>         export all;   # Actually insert routes into the kernel routing
> table
> }
>
> protocol device {
>         scan time 60;
> }
>
> protocol ospf TEST_OSPF {
>         tick 2;
>         rfc1583compat yes;
>         import all;
>         export all;
>         ecmp yes;
>         merge external;
>         area 0.0.0.0 {
>                 interface "eth0" {
>                   stub yes;
>                 };
>                 interface "eth1" {
>                   rx buffer large;
>                 };
>         };
> };
>
>
> R1
>
> router id 198.51.100.11;
>
> protocol kernel {
>         scan time 60;
>         import all;
>         export all;   # Actually insert routes into the kernel routing
> table
> }
>
> protocol device {
>         scan time 60;
> }
>
> protocol ospf TEST_OSPF {
>         tick 2;
>         rfc1583compat yes;
>         import all;
>         export all;
>         ecmp yes;
>         merge external;
>         area 0.0.0.0 {
>                 interface "eth0" {
>                   rx buffer large;
>                 };
>                 interface "eth1" {
>                   rx buffer large;
>                 };
>         };
> };
>
>
>
>
>
> On 08/29/2016 12:55 PM, Baptiste Jonglez wrote:
>> Please show your configuration, especially the kernel protocol.  You need
>> an appropriate export filter.
>>
>> On Thu, Aug 25, 2016 at 05:22:33PM +0300, Volodymyr Samodid wrote:
>>> Hi community,
>>> i played with bird6 and ospf3 and faced with issue.
>>> In my schema bird does not install route to the kernel, but
>>> propagates route
>>> to another ospfv3 routers. That leads to routing loop.
>>>
>>> Here is simple schema:
>>>
>>> eth0 ------- R0 ------- eth1 ------- bridge ------ eth0 ------- R1
>>>
>>> ospfv3 made  adjacency
>>>
>>> R0
>>> bird> show ospf neighbors
>>> TEST_OSPF:
>>> Router ID       Pri          State      DTime   Interface  Router IP
>>> 198.51.100.11     1     Full/BDR        00:34   eth1
>>> fe80::602c:e2ff:fe96:9c41
>>>
>>> R1
>>> bird> show ospf neighbors
>>> TEST_OSPF:
>>> Router ID       Pri          State      DTime   Interface  Router IP
>>> 198.51.100.10     1     Full/DR         00:34   eth0
>>> fe80::88e0:e3ff:fe08:7842
>>>
>>>
>>> Now add ipv6 address to eth1 on R0
>>>
>>> R0# ip a add 2001:DB8::1/64 dev eth1
>>>
>>> on R1, got next
>>>
>>> bird> >>> TEST_OSPF > added [best] 2001:db8::/64 dev eth0
>>> bird> show route
>>> 2001:db8::/64      dev eth0 [TEST_OSPF 13:58:11] * I (150/10)
>>> [198.51.100.11]
>>>
>>> R1# ip -6 ro s
>>> fe80::/64 dev eth0  proto kernel  metric 256  pref medium
>>>
>>> added ipv6 address to eth0 on R0
>>>
>>> R0# ip a add 2001:DB8:1::1/64 dev eth0
>>>
>>> on R1
>>> bird> >>> TEST_OSPF > added [best] 2001:db8:1::/64 via
>>> fe80::88e0:e3ff:fe08:7842 on eth0
>>>>>> kernel1 < added 2001:db8:1::/64 via fe80::88e0:e3ff:fe08:7842 on eth0
>>> bird> show route
>>> 2001:db8::/64      dev eth0 [TEST_OSPF 13:58:11] * I (150/10)
>>> [198.51.100.11]
>>> 2001:db8:1::/64    via fe80::88e0:e3ff:fe08:7842 on eth0 [TEST_OSPF
>>> 14:05:31] * I (150/20) [198.51.100.10]
>>>
>>> R1# ip -6 ro s
>>> 2001:db8:1::/64 via fe80::88e0:e3ff:fe08:7842 dev eth0  proto bird
>>> metric
>>> 1024  pref medium
>>> fe80::/64 dev eth0  proto kernel  metric 256  pref medium
>>>
>>> R1## ip monitor route
>>> 2001:db8:1::/64 via fe80::88e0:e3ff:fe08:7842 dev eth0  proto bird
>>> metric
>>> 1024  pref medium
>>>
>>> I can add such route manual.
>>> R1# ip ro add 2001:db8::/64 dev eth0
>

-- 
С уважением,
Самодед Владимир
SVAJ-RIPE|SVA88-UANIC


More information about the Bird-users mailing list