Network topology : ------------------ PC1-----Router1------Router2-----InternetGateway---z eth1 eth0 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] ) Syslog : -------- May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: Initializing May 3 12:06:19 vubuntu-VirtualBox bird6: direct1: Initializing May 3 12:06:19 vubuntu-VirtualBox bird6: device1: Initializing May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: Initializing May 3 12:06:19 vubuntu-VirtualBox bird6: device1: Starting May 3 12:06:19 vubuntu-VirtualBox bird6: device1: Scanning interfaces May 3 12:06:19 vubuntu-VirtualBox bird6: device1: Connected to table master May 3 12:06:19 vubuntu-VirtualBox bird6: device1: State changed to feed May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: Starting May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: Connected to table master May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: State changed to feed May 3 12:06:19 vubuntu-VirtualBox bird6: direct1: Starting May 3 12:06:19 vubuntu-VirtualBox bird6: direct1: Connected to table master May 3 12:06:19 vubuntu-VirtualBox bird6: direct1: State changed to feed May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: Starting May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: Listening on (dummy), port 521, mode broadcast (::) May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: Connected to table master May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: State changed to feed May 3 12:06:19 vubuntu-VirtualBox bird6: Started May 3 12:06:19 vubuntu-VirtualBox bird6: device1: State changed to up May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1 < interface lo goes up May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1 < interface eth0 goes up May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1 < interface eth1 goes up May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: State changed to up May 3 12:06:19 vubuntu-VirtualBox bird6: direct1 < primary address ::1/128 on interface lo added May 3 12:06:19 vubuntu-VirtualBox bird6: direct1 < primary address 2001:db8:0:1::/64 on interface eth0 added May 3 12:06:19 vubuntu-VirtualBox bird6: direct1 > added [best] 2001:db8:0:1::/64 dev eth0 May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1 < rejected by protocol 2001:db8:0:1::/64 dev eth0 May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < added 2001:db8:0:1::/64 dev eth0 May 3 12:06:19 vubuntu-VirtualBox bird6: direct1 < secondary address fe80::/64 on interface eth0 added May 3 12:06:19 vubuntu-VirtualBox bird6: direct1 < primary address 2001:db8:0:5::/64 on interface eth1 added May 3 12:06:19 vubuntu-VirtualBox bird6: direct1 > added [best] 2001:db8:0:5::/64 dev eth1 May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1 < rejected by protocol 2001:db8:0:5::/64 dev eth1 May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < added 2001:db8:0:5::/64 dev eth1 May 3 12:06:19 vubuntu-VirtualBox bird6: direct1 < secondary address fe80::/64 on interface eth1 added May 3 12:06:19 vubuntu-VirtualBox bird6: direct1: State changed to up May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < interface lo goes up May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < interface eth0 goes up May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < interface eth1 goes up May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < added 2001:db8:0:1::/64 dev eth0 May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < added 2001:db8:0:5::/64 dev eth1 May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: State changed to up May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: Scanning routing table May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: ::/0: [alien] created May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: Pruning table master May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1: Pruning inherited routes May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1 > added [best] ::/0 via 2001:db8:0:1::1 on eth0 May 3 12:06:19 vubuntu-VirtualBox bird6: kernel1 < rejected by protocol ::/0 via 2001:db8:0:1::1 on eth0 May 3 12:06:19 vubuntu-VirtualBox bird6: rip1 < added ::/0 via 2001:db8:0:1::1 on eth0 May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: Listening on eth1, port 521, mode multicast (ff02::9) May 3 12:06:19 vubuntu-VirtualBox bird6: rip1: Listening on eth0, port 521, mode multicast (ff02::9) May 3 12:06:21 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:21 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:22 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:22 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:22 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: ::/0 available, metric 16... May 3 12:06:22 vubuntu-VirtualBox bird6: rip1 > added [best] ::/0 via fe80::[Router1] on eth1 May 3 12:06:22 vubuntu-VirtualBox bird6: kernel1 < added ::/0 via fe80::[Router1] on eth1 May 3 12:06:22 vubuntu-VirtualBox bird6: rip1 < forced accept by protocol ::/0 via fe80::[Router1] on eth1 May 3 12:06:22 vubuntu-VirtualBox bird6: rip1 < replaced ::/0 via fe80::[Router1] on eth1 May 3 12:06:22 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:1::/64 available, metric 16... May 3 12:06:22 vubuntu-VirtualBox bird6: rip1 > added 2001:db8:0:1::/64 via fe80::[Router1] on eth1 May 3 12:06:23 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: ::/0 available, metric 16... May 3 12:06:23 vubuntu-VirtualBox bird6: rip1 > ignored ::/0 via fe80::[Router1] on eth1 May 3 12:06:23 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:1::/64 available, metric 16... May 3 12:06:23 vubuntu-VirtualBox bird6: rip1 > ignored 2001:db8:0:1::/64 via fe80::[Router1] on eth1 May 3 12:06:23 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:23 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:24 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: ::/0 available, metric 16... May 3 12:06:24 vubuntu-VirtualBox bird6: rip1 > ignored ::/0 via fe80::[Router1] on eth1 May 3 12:06:24 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:24 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:25 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:25 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:25 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: ::/0 available, metric 16... May 3 12:06:25 vubuntu-VirtualBox bird6: rip1 > ignored ::/0 via fe80::[Router1] on eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: ::/0 available, metric 16... May 3 12:06:26 vubuntu-VirtualBox bird6: rip1 > ignored ::/0 via fe80::[Router1] on eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:1::/64 available, metric 16... May 3 12:06:26 vubuntu-VirtualBox bird6: rip1 > ignored 2001:db8:0:1::/64 via fe80::[Router1] on eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:3::/64 available, metric 1... May 3 12:06:26 vubuntu-VirtualBox bird6: rip1 > added [best] 2001:db8:0:3::/64 via fe80::[Router1] on eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: kernel1 < added 2001:db8:0:3::/64 via fe80::[Router1] on eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1 < forced accept by protocol 2001:db8:0:3::/64 via fe80::[Router1] on eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1 < added 2001:db8:0:3::/64 via fe80::[Router1] on eth1 May 3 12:06:26 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:5::/64 available, metric 1... May 3 12:06:26 vubuntu-VirtualBox bird6: rip1 > added 2001:db8:0:5::/64 via fe80::[Router1] on eth1 May 3 12:06:27 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:27 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:28 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:28 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:29 vubuntu-VirtualBox bird6: device1: Scanning interfaces May 3 12:06:29 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:29 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:30 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:30 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:31 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:31 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:32 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:32 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:33 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:33 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:34 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:34 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:35 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:35 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:36 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:36 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:37 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:37 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:38 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:38 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:39 vubuntu-VirtualBox bird6: device1: Scanning interfaces May 3 12:06:39 vubuntu-VirtualBox bird6: kernel1: Scanning routing table May 3 12:06:39 vubuntu-VirtualBox bird6: kernel1: 2001:db8:0:3::/64: seen May 3 12:06:39 vubuntu-VirtualBox bird6: kernel1: ::/0: [alien] seen May 3 12:06:39 vubuntu-VirtualBox bird6: kernel1: ::/0: seen May 3 12:06:39 vubuntu-VirtualBox bird6: kernel1: Pruning table master May 3 12:06:39 vubuntu-VirtualBox bird6: kernel1: Pruning inherited routes May 3 12:06:39 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:39 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:40 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:40 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:41 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:41 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:42 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:42 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:43 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:43 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:44 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:44 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:45 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:45 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:46 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:46 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:47 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:47 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:48 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:48 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:49 vubuntu-VirtualBox bird6: device1: Scanning interfaces May 3 12:06:49 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:49 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:50 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:50 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:51 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:51 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:52 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:52 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:53 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:53 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:54 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:54 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:55 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:55 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:56 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:56 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:57 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:57 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:57 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: ::/0 available, metric 16... May 3 12:06:57 vubuntu-VirtualBox bird6: rip1 > ignored ::/0 via fe80::[Router1] on eth1 May 3 12:06:57 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:1::/64 available, metric 16... May 3 12:06:57 vubuntu-VirtualBox bird6: rip1 > ignored 2001:db8:0:1::/64 via fe80::[Router1] on eth1 May 3 12:06:57 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:3::/64 available, metric 1... May 3 12:06:57 vubuntu-VirtualBox bird6: rip1 > ignored 2001:db8:0:3::/64 via fe80::[Router1] on eth1 May 3 12:06:57 vubuntu-VirtualBox bird6: rip1: block: fe80::[Router1] tells me: 2001:db8:0:5::/64 available, metric 1... May 3 12:06:57 vubuntu-VirtualBox bird6: rip1 > ignored 2001:db8:0:5::/64 via fe80::[Router1] on eth1 May 3 12:06:58 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:58 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:59 vubuntu-VirtualBox bird6: device1: Scanning interfaces May 3 12:06:59 vubuntu-VirtualBox bird6: kernel1: Scanning routing table May 3 12:06:59 vubuntu-VirtualBox bird6: kernel1: 2001:db8:0:3::/64: seen May 3 12:06:59 vubuntu-VirtualBox bird6: kernel1: ::/0: [alien] seen May 3 12:06:59 vubuntu-VirtualBox bird6: kernel1: ::/0: seen May 3 12:06:59 vubuntu-VirtualBox bird6: kernel1: Pruning table master May 3 12:06:59 vubuntu-VirtualBox bird6: kernel1: Pruning inherited routes May 3 12:06:59 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:59 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:06:59 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:06:59 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:07:00 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:07:00 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 May 3 12:07:01 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth0 May 3 12:07:01 vubuntu-VirtualBox bird6: rip1: Broadcasting routing table to eth1 Router2 routing table : ----------------------- 2001:db8:0:1::/64 dev eth0 proto kernel metric 256 2001:db8:0:3::/64 via fe80::[Router1] dev eth1 proto bird metric 1024 2001:db8:0:5::/64 dev eth1 proto kernel metric 256 fe80::/64 dev eth0 proto kernel metric 256 fe80::/64 dev eth1 proto kernel metric 256 default via 2001:db8:0:1::1 dev eth0 proto static metric 1 default via fe80::[Router1] dev eth1 proto bird metric 1024 Router2 bird6.conf file : ------------------------- log syslog all; debug protocols all; #log stderr all; #log "tmp" all; router id 192.168.5.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; } --------------------------------------------------------------------------- On Apr 29, 2015 4:30 PM, <pavel.tvrdik@nic.cz> wrote:
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@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