SixXS::Sunset 2017-06-06

OS X "forgets" IPv6 default route
[fi] Shadow Hawkins on Friday, 09 November 2012 09:43:53
This is not specific to SixXS in any way but I decided to ask here anyway. I have a macbook with OS X 10.8 that uses wireless connection and gets its IPv6 settings from a FreeBSD router/firewall running rtadvd and isc-dhcp6 server. Wireless is provided by a Zyxel 3205 access point. Most of the time IPv6 works perfectly but at random times the macbook loses its IPv6 connectivity to the outside world. When I look at the routing table after the IPv6 connectivity has been lost the IPv6 default route is missing. I can repair the connection by turning off and on the wireless connection or by setting the IPv6 setting to "link-local only" and then back to "Automatic". What could cause the loss of default route? Is this a known problem in OS X ?
OS X "forgets" IPv6 default route
[ch] Jeroen Massar SixXS Staff on Friday, 09 November 2012 10:20:08
I don't use dhcp6 in any network, thus it might be that this is an issue coming from that. Did you maybe configure any non-standard timer settings in rtadvd or dhcp6, as it might be that your timer settings are so low that they expire at one point. I have noticed that OSX does not re-install a default route quickly, eg if you have an AICCU running from where you where in a non-native network, then attach to the new wireless network, stop AICCU (which removes it's own default route) and then you don't have IPv6 yet as the default is missing for the native network; in that case also a wireless off/on does the trick to get it back or run "sudo rtsol en0" You could force running of rtsold:
$ sudo rtsold -fdD en0 checking if en0 is ready... en0 is ready set timer for en0 to 0:5463 New timer is 0:00004941 timer expiration on en0, state = 1 send RS on en0, whose state is 2 set timer for en0 to 4:0 New timer is 6:00501101 received RA from fe80::203:ffff:fee5:4175 on en0, state is 2 stop timer for en0 there is no timer
The -f keeps it in the foreground and the -dD combo gives all the debugging it can give... You might also want to try the 'ndp' command to figure out current status:
$ ndp -I ND default interface = en0 $ ndp -r fe80::203:ffff:fee5:4175%en0 if=en0, flags=T, pref=medium, expire=20m41s
OS X "forgets" IPv6 default route
[fi] Shadow Hawkins on Saturday, 10 November 2012 07:19:14
I haven't changed any of the timings from the defaults. This is what rtadvctl -v show outputs on my router/firewall:
root@firewall:/root # rtadvctl -v show re0: flags=<UP,CONFIGURED,PERSIST> status=<RA_SEND> mtu 1500 DefaultLifetime: 30m MinAdvInterval/MaxAdvInterval: 3m20s/10m AdvLinkMTU: <none>, Flags: MO, Preference: medium ReachableTime: 0s, RetransTimer: 0s, CurHopLimit: 64 AdvIfPrefixes: yes Next RA send: Sat Nov 10 08:47:40 2012 Last RA sent: Sat Nov 10 08:42:14 2012 Prefixes (1): 2001:14b8:100:8321::/64 (CONFIG, vltime=30d, pltime=7d, flags=L) RDNSS entries: 2001:14b8:100:8321::1 (ltime=15m) DNSSL entries: rdnzl.info (ltime=15m) root@firewall:/root #
And this is what I see on the macbook when the default route is still there:
discipline:~ kimmo$ ndp -r fe80::230:18ff:fea1:6519%en1 if=en1, flags=MOT, pref=medium, expire=27m2s discipline:~ kimmo$
When the default route expires it seems that it can take a very long time before it is renewed by the system. Should I try increasing the lifetime that is now set to 30 minutes? Regards, Kimmo
OS X "forgets" IPv6 default route
[ch] Jeroen Massar SixXS Staff on Saturday, 10 November 2012 11:24:42
When it expired on the mac, does a 'rtsol en1' cause it to be back again? What kind of switches are involved in this, as maybe multicast is broken in your network, which could be a cause for RAs (that are announced every once in a while to update hosts and inform them that the RA server is still alive) to not arrive at your host and then it does not refresh.
OS X "forgets" IPv6 default route
[fi] Shadow Hawkins on Saturday, 10 November 2012 14:46:40
Yes 'rtsol en1' did bring back the ipv6 default route I did have a HP Procurve 1800-8G vlan capable switch which I now replaced with a dumb D-Link DGS-1008D switch. So far so good but can't make a judgement yet. There's also the Zyxel 3205 wireless access point that acts as a switch between the wired and wireless networks but my macbook showed the same symptoms with my previous wireless access point which was a Linksys wap54g.
OS X "forgets" IPv6 default route
[ch] Jeroen Massar SixXS Staff on Sunday, 11 November 2012 10:40:33
HP has been testing IPv6 for years already, an HP Procurve (unless misconfigured) should not be an issue. Wireless can be flaky with multicast, thus be aware of that. The only real way to test this is to run a tcpdump on the clients and see when and if they actually receive the regular RA announcement that your router is supposed to make. Running one on the router to see if it tries sending them is another good idea.
OS X "forgets" IPv6 default route
[fi] Shadow Hawkins on Thursday, 15 November 2012 14:57:26
I reinstalled the operating system on this macbook from scratch and it did seem to help the situation somewhat. There are still some moments when there's no IPv6 default route, I added a cronjob to run 'rtsol en1' every 30 minutes and it seems to cure the problem for now. How does OS X keep track of the IPv6 default route and its expiration? I've also noticed a similar problem with multicast DNS, the bonjour services advertised on the LAN hosts are visible for some time on this macbook but they disappear after a while, turning the wireless connection off and back on cures this problem as well.
OS X "forgets" IPv6 default route
[ch] Jeroen Massar SixXS Staff on Thursday, 15 November 2012 18:22:50
How does OS X keep track of the IPv6 default route and its expiration?
Just a count down timer. I am thinking that you have broken Multicast on your network which is why the Router Advertisements do not reach all intended nodes. You do not have firewalling enabled on your hosts and that you then filter out the Multicast traffic I hope? Run tcpdump on both client and server side and you'll see where they go missing.
OS X "forgets" IPv6 default route
[fi] Shadow Hawkins on Wednesday, 21 November 2012 05:13:16
I believe this is a problem specific to my macbook and the Broadcom wireless network card in it. It looks like the Broadcom card has problems with multicasts if there's a bridge somewhere in the network. I have now set up a wireless access point using a separate wireless network card on my router with separate subnets for both IPv4 and IPv6 and everything just works suddenly. Thanks for help and suggestions.
OS X "forgets" IPv6 default route
[fi] Shadow Hawkins on Sunday, 02 December 2012 12:52:24
Upgrading the firmware on the Zyxel WAP3205 fixed the multicast problems on it and router advetisements are received properly on my macbook. The working firmware is version 1.00(BFR.7)C0 from download.
OS X "forgets" IPv6 default route
[fi] Shadow Hawkins on Sunday, 02 December 2012 06:08:54
The link to the download page is Link to Zyxel WAP3205 firmware download
OS X "forgets" IPv6 default route
[fi] Shadow Hawkins on Tuesday, 30 April 2013 00:00:44
Getting back to this after some time has passed. I'm pretty sure all the problems I've encountered are caused by a broken firmware on this Zyxel accesspoint, even with the latest firmware. I can get one OS X client machine working on wireless with slaac and one on wired and everything is fine. If I try to use two OS X client machines on wireless the DAD on the OS X starts to detect duplicate addresses errorneusly. This must have something to do with broken multicast as suggested earlier. I have googled some and seen suggestions to turn off IGMP snooping on the access point, however this model and the firmware lacks an option turn it off. I can avoid the DAD problem by turning it off with a sysctl net.inet6.ip6.dad_count=0. However, even then I get problems with mDNS resolution that stops working after some time.. Time to get an Apple wireless access point I think..
OS X "forgets" IPv6 default route
[fi] Shadow Hawkins on Sunday, 12 May 2013 07:21:22
Kimmo Paasiala wrote:
Getting back to this after some time has passed. I'm pretty sure all the problems I've encountered are caused by a broken firmware on this Zyxel accesspoint, even with the latest firmware. I can get one OS X client machine working on wireless with slaac and one on wired and everything is fine. If I try to use two OS X client machines on wireless the DAD on the OS X starts to detect duplicate addresses errorneusly. This must have something to do with broken multicast as suggested earlier. I have googled some and seen suggestions to turn off IGMP snooping on the access point, however this model and the firmware lacks an option turn it off. I can avoid the DAD problem by turning it off with a sysctl net.inet6.ip6.dad_count=0. However, even then I get problems with mDNS resolution that stops working after some time.. Time to get an Apple wireless access point I think..
I went back to my old trusty Linksys WAP54G and what do you know? Everything works perfectly now. Damn it to hell with these "improvements" in technology...

Please note Posting is only allowed when you are logged in.

Static Sunset Edition of SixXS
©2001-2017 SixXS - IPv6 Deployment & Tunnel Broker