RB 450G, IPv6 - problem & partial solution

Problem description:

I have RB 450G with both IPv4 and IPv6 setup, ROS version 3.30. Two interfaces are directly connected to computers, which are most of the time off, thus interface is inactive. After starting such computer interface becomes running, IPv4 works great, but computer does not get IPv6 Router Advertisement and therefore does not setup its IPv6 connectivity. Every interface has its own subnet.

When I reboot RB 450G, everything starts to work as expected (IPv6 works), until switching the computer off - then IPv6 breaks again. Tried with Windows XP and Ubuntu 9.10, didn’t try to listen to interface using Wireshark.

Partial solution:

Problem has been partially circumvented by setting up bridge, configuring IPv6 and IPv4 on bridge and attaching those interfaces to bridge - this works.

can you try 4.4? To see if problem still exist in that version?

Under 4.4 it is the same. In addition under 4.4 wrong temperature in System/Health (I know, many people already reported).

I have a same problem at RB433AH running RouterOS 4.5 . Simply router doesn’t send Router Advertisment ICMPv6 message. I have a 6to4 tunnel to HurricaneElectric Broker. When I reboot the router while PCs are running, everthing is ok. After the routers boot PCs get Advertisment message and set IPv6 address correctly. But when I reboot PCs, they never get Advertisment from router again.

I have spent lot of hours running Wireshark and logging IPv6 trafic. The Advertisment message from Mikrotik never arrived again, only after the routers reboot.

Any solution? It seems to be a bug in RouterOS? :confused:

Yup I see the same thing.

I have found that also interface disable/enable cause that ONE Router Advertisement message is send. But still no solution.

Interesting. I’ve been running IPv6 for a number of months without this issue. Can you please post your config?

Here is important part of my configuration:

/interface 6to4
  add comment="HE IPv6" disabled=no local-address=84.42.xxx.xxx mtu=1280 name=sit1 remote-address=216.66.84.46

/ipv6 address
  add address=2001:470:1xxx:xxxx::2/64 advertise=yes comment="6to4 tunnel endpoint" disabled=no eui-64=no interface=sit1
  add address=2001:470:1xxx:xxxx:20c:42ff:fe3d:2bf8/64 advertise=yes comment="" disabled=no eui-64=yes interface=br0

/ipv6 nd
  add advertise-dns=no advertise-mac-address=yes disabled=no hop-limit=unspecified interface=all managed-address-configuration=yes mtu=unspecified other-configuration=no ra-delay=3s ra-interval=3m20s-10m ra-lifetime=30m reachable-time=2m retransmit-interval=5s

/ipv6 nd prefix default set autonomous=yes preferred-lifetime=1w valid-lifetime=4w2d

/ipv6 route 
  add comment="" disabled=no distance=1 dst-address=2000::/3 gateway=2001:470:xxxx:xxxx::1 scope=30 target-scope=10

I tried to change advertise interface from br0 to eth1 (br0 = ath0 + eth1 + eth2) but still no more advertisement packets.

set eui-64=no on the other subnet?

Ok, I’ll try in the evening. But I’m afraid, that EUI64 is the key part of the IPv6 auto-configuration mechanism.

I don’t use EUI64 and everything works just fine.

So, I did some experiments with EUI64 enabled and disabled, but without any success. Still no sign of the Router advertisement packet. :frowning: More ideas? Thanks.

Try doing it through the physical interface. In other words, take that interface out of the bridge and attach the address to that interface.
It’s a shot in the dark.

So I have torn out eth1 from the bridge and disabled br0. Now it looks like Router Advertisement is being sent approx. every 250s. Now, it works. But I need eth1, eth2 and ath0 bridged.

UPDATE: I get it back to the previous state and now no more advertisement. Is this bug or a feature? :slight_smile:

Both. Don’t you know bugs are undocumented features? =)

Hope, will be fixed soon in the next RouterOS :sunglasses:

When you create the bridge, does it get an fe80:: type address automatically?
Additionally, have you looked into the various neighbor discovery options? You may find your answer there.

Yes. The br0 device get local link address automatically. It’s same as eth2 IPv6 address. I played with ND setting but without any effect. I created new specific rule for br0 and set shorter time for Advertisement, but no effect. In case when “bridge was out” shorter time caused shorter period of Advertisement packet as expected. With bridge enabled… simply nothing.

Yeah. Sounds like an undocumented feature.
Gonna have to ask support about that one.

Here’s another stab in the dark:
Assign a manual MAC address to the bridge.

I thought of this whilst reading this article:
http://wiki.mikrotik.com/wiki/Creating_loopback_address_for_IPv6

I’m hopeful it will fix it.