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 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 ? 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; --------------------------------------------------------- the problem is solved, yet it puzzles me. This is really strange. Does anybody understand what is happening ??