BIRD ripng default gateway route strange behavior

pavel.tvrdik at nic.cz pavel.tvrdik at nic.cz
Wed Apr 29 16:30:40 CEST 2015


Hi Olivier,

I failed to reproduce the metric 1024. Can you please send a log file 
from Router2?

On 2015-04-29 11:02, olivier a wrote:
> Follow up : Nobody has ideas about that ?
>  On Apr 18, 2015 7:14 PM, "olivier a" <oatech7402 at gmail.com> wrote:
>  >
>  > Hello all ^^
>  >
>  > I'm puzzled with a really weird RIPng default gateway propagation
> problem.
>  > I don't quite understand what's happening. Here is what happens ...
>  >
>  > Network topology :
>  >
>  > PC1---Router1---Router2----InternetGateway---z
>  >
>  > RIPng enabled on PC1, Router1, Router2
>  > Router2 has a static IPv6 DG ( Default Gateway ) to InternetGateway
>  > Router1 has no static IPv6 DG, and no kernel{learn} directive.
>  >
>  > Router2=Ubuntu14.04 LTS, Router1=raspbian Wheezy, bird = last
> version, compiled from sources
>  > link-local addresses replaces with symbolic names ( ie
> [fe80::Router1] )
>  >
>  > Something really strange seems to happen :
>  >
>  > . Router2 gets this routing table :
>  >
>  > default via InternetGateway dev eth0  proto static  metric 1
>  > default via [fe80::Router1] dev eth1  proto bird  metric 1024
Did you try commented out the learn directive in protocol kernel? Did 
the metric 1024 disappear?

>  >
>  > But Router1 isn't announcing any IPv6 DefaultGateway, just ::/0
> metric 16 ( ie it is poisoning the route ).
>  > ( I checked using Wireshark ).
>  >
>  > Is there a bug that transforms a received "::/0 metric 16" into a
> "default via [fe80::Router1] dev eth1  proto bird  metric 1024" route
> ?
Probably not.

>  >
>  > Here is Router2 bird6.conf file :
>  >
>  > -------------------------------------------------
>  > log syslog all;
>  > debug protocols all;
>  > #log stderr all;
>  > #log "tmp" all;
>  >
>  > router id 192.168.4.1;
>  > protocol kernel {
>  > learn;
>  > scan time 20;
>  > export all;
>  > import all;
>  > }
>  >
>  > protocol direct {
>  > #interface "eth0";
>  > }
>  >
>  > protocol device {
>  > scan time 10;
>  > }
>  >
>  > protocol rip {
>  > debug all;
>  > port 521;
>  > interface "*" { mode multicast; ttl security on; };
>  > honor neighbor;
>  > authentication none;
>  > import all;
>  > export all;
>  > }
>  > -------------------------------------------------------------
>  >
>  > I managed to solve the problem, by having Router2 drop incomming
> ::/0 announcements :
>  >
>  > ---------------------------------------------------------
>  > import filter {   # This block filters ::/0 in
>  >                 if net ~ [ ::/0 ] then
>  >                         reject "ripng:rejected:DG";
>  >                 else
>  >                         accept "ripng:accepted:not-DG";
>  >         };
>  >
>  > export all;
Do you use filter at rip or at kernel protocol?

>  >
>  > ---------------------------------------------------------
>  >
>  > the problem is solved, yet it puzzles me.
>  > This is really strange. Does anybody understand what is happening
> ??

Pavel



More information about the Bird-users mailing list