<p dir="ltr">Follow up : Nobody has ideas about that ?<br>
On Apr 18, 2015 7:14 PM, "olivier a" <<a href="mailto:oatech7402@gmail.com">oatech7402@gmail.com</a>> wrote:<br>
><br>
> Hello all ^^<br>
><br>
> I'm puzzled with a really weird RIPng default gateway propagation problem.<br>
> I don't quite understand what's happening. Here is what happens ...<br>
><br>
> Network topology :<br>
><br>
> PC1---Router1---Router2----InternetGateway---z<br>
><br>
> RIPng enabled on PC1, Router1, Router2<br>
> Router2 has a static IPv6 DG ( Default Gateway ) to InternetGateway<br>
> Router1 has no static IPv6 DG, and no kernel{learn} directive.<br>
><br>
> Router2=Ubuntu14.04 LTS, Router1=raspbian Wheezy, bird = last version, compiled from sources<br>
> link-local addresses replaces with symbolic names ( ie [fe80::Router1] )<br>
><br>
> Something really strange seems to happen :<br>
><br>
> . Router2 gets this routing table :<br>
><br>
> default via InternetGateway dev eth0  proto static  metric 1 <br>
> default via [fe80::Router1] dev eth1  proto bird  metric 1024<br>
><br>
> But Router1 isn't announcing any IPv6 DefaultGateway, just ::/0 metric 16 ( ie it is poisoning the route ).<br>
> ( I checked using Wireshark ).<br>
><br>
> Is there a bug that transforms a received "::/0 metric 16" into a "default via [fe80::Router1] dev eth1  proto bird  metric 1024" route ?<br>
><br>
> Here is Router2 bird6.conf file :<br>
><br>
> -------------------------------------------------<br>
> log syslog all;<br>
> debug protocols all;<br>
> #log stderr all;<br>
> #log "tmp" all;<br>
><br>
> router id 192.168.4.1;<br>
> protocol kernel {<br>
> learn;<br>
> scan time 20;<br>
> export all;<br>
> import all;<br>
> }<br>
><br>
> protocol direct {<br>
> #interface "eth0";<br>
> }<br>
><br>
> protocol device {<br>
> scan time 10;<br>
> }<br>
><br>
> protocol rip {<br>
> debug all;<br>
> port 521;<br>
> interface "*" { mode multicast; ttl security on; };<br>
> honor neighbor;<br>
> authentication none;<br>
> import all;<br>
> export all;<br>
> }<br>
> -------------------------------------------------------------<br>
><br>
> I managed to solve the problem, by having Router2 drop incomming ::/0 announcements :<br>
><br>
> ---------------------------------------------------------<br>
> import filter {   # This block filters ::/0 in<br>
>                 if net ~ [ ::/0 ] then<br>
>                         reject "ripng:rejected:DG";<br>
>                 else<br>
>                         accept "ripng:accepted:not-DG";<br>
>         };<br>
><br>
> export all;<br>
><br>
> ---------------------------------------------------------<br>
><br>
> the problem is solved, yet it puzzles me.<br>
> This is really strange. Does anybody understand what is happening ??</p>