Bug: ipv6 nd advertise-dns not advertising dynamic servers

Here’s a bug in ROS 6.0rc5. I’m using a RB750.

My ISP is advertising DNS servers to me using DHCPv6. My router learns them just fine. I’ve also set it up to advertise DNS servers to the LAN in Router Advertisement messages:

[admin@MikroTik] > /ip dns print 
                servers: 
        dynamic-servers: 2a02:fe0:1:2:1::1:110,2a02:fe0:1:2:1::1:111
  allow-remote-requests: yes
    max-udp-packet-size: 4096
   query-server-timeout: 2s
    query-total-timeout: 10s
             cache-size: 2048KiB
          cache-max-ttl: 1w
             cache-used: 41KiB
[admin@MikroTik] > /ipv6 nd print 
Flags: X - disabled, I - invalid, * - default 
 0  * interface=all ra-interval=3s-4s ra-delay=3s mtu=unspecified 
      reachable-time=unspecified retransmit-interval=unspecified 
      ra-lifetime=2m hop-limit=unspecified advertise-mac-address=yes 
      advertise-dns=yes managed-address-configuration=no 
      other-configuration=no

However, there is no rdnss option included in the Router Advertisements the router emits:

lan-host$ sudo tcpdump -c 1 -i eth0 -v 'icmp6 and ip6[40] == 134'
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
19:31:49.277181 IP6 (class 0xc0, hlim 255, next-header ICMPv6 (58) payload length: 56) fe80::d6ca:6dff:fe4c:47bf > ff02::1: [icmp6 sum ok] ICMP6, router advertisement, length 56
	hop limit 0, Flags [none], pref medium, router lifetime 120s, reachable time 0ms, retrans time 0ms
	  source link-address option (1), length 8 (1): d4:ca:6d:4c:47:bf
	  prefix info option (3), length 32 (4): 2a02:fe0:cf16:c0::/64, Flags [onlink, auto], valid time 2592000s, pref. time 604800s

If I instead manually configure the name servers:

[admin@MikroTik] > /ip dns set servers=2a02:fe0:1:2:1::1:110,2a02:fe0:1:2:1::1:111

…it immediately starts working:

lan-host$ sudo tcpdump -c 1 -i eth0 -v 'icmp6 and ip6[40] == 134'
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
19:33:36.022856 IP6 (class 0xc0, hlim 255, next-header ICMPv6 (58) payload length: 96) fe80::d6ca:6dff:fe4c:47bf > ff02::1: [icmp6 sum ok] ICMP6, router advertisement, length 96
	hop limit 0, Flags [none], pref medium, router lifetime 120s, reachable time 0ms, retrans time 0ms
	  source link-address option (1), length 8 (1): d4:ca:6d:4c:47:bf
	  rdnss option (25), length 40 (5):  lifetime 6s, addr: 2a02:fe0:1:2:1:0:1:110 addr: 2a02:fe0:1:2:1:0:1:111
	  prefix info option (3), length 32 (4): 2a02:fe0:cf16:c0::/64, Flags [onlink, auto], valid time 2592000s, pref. time 604800s

Conclusion: /ipv6 nd advertise-dns=yes ignores any dynamically learnt DNS servers.

I just ran into this same problem aka. BUG on 6.0.
Dynamic severs are not advertised, but as soon as I add a static one it’s in the RAs.

As others might have noticed as well: Fixed in 6.1, thanks Mikrotik.