Hi brushedmoss,
I confirmed that my test network is indeed sending RAs on the WAN. I can see this in the m0n0wall log files as well:
Feb 7 20:50:53 kernel: in6_ifadd: 3001:dddd:0:0457:0a00:27ff:fe7b:d6bb is already configured
Feb 7 20:50:53 dhcp6c[331]: client6_script: child: exec failed: Permission denied
Feb 7 20:50:53 dhcp6c[331]: client6_script: child: exec failed: Permission denied
Feb 7 20:50:53 dhcp6c[332]: client6_script: child: exec failed: Permission denied
Feb 7 20:50:53 dhcp6c[332]: client6_script: child: exec failed: Permission denied
Feb 7 20:50:57 rtadvd[296]: <ra_input> received RA from fe80::20b:bff:fe00:1 on non-advertising interface(em1)
Feb 7 20:51:01 kernel: in6_ifadd: 3001:dddd:0:0457:0a00:27ff:fe7b:d6bb is already configured
Feb 7 20:51:38 last message repeated 5 times
Feb 7 20:51:07 rtadvd[296]: <ra_input> received RA from fe80::20b:bff:fe00:1 on non-advertising interface(em1)
Checking my routes with netstat also confirms that no default route is being set for IPv6:
$ netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.200.1 UGS 0 7 em1
127.0.0.1 127.0.0.1 UH 1 56 lo0
192.168.1 link#1 UC 0 0 em0
192.168.1.10 00:1b:21:0b:05:bd UHLW 1 24 em0 1189
192.168.1.199 00:1b:21:0b:05:bd UHLW 1 3 em0 861
192.168.200 link#2 UC 0 0 em1
192.168.200.1 00:0b:0b:00:00:01 UHLW 2 2 em1 856
192.168.200.2 127.0.0.1 UGHS 0 0 lo0
Internet6:
Destination Gateway Flags Netif Expire
::/96 ::1 UGRS lo0
::1 ::1 UHL lo0
::ffff:0.0.0.0/96 ::1 UGRS lo0
2002::/24 ::1 UGRS lo0
2002:7f00::/24 ::1 UGRS lo0
2002:e000::/20 ::1 UGRS lo0
2002:ff00::/24 ::1 UGRS lo0
3001::/64 link#2 UC em1
3001::2 08:00:27:57:a9:d6 UHL lo0
3001:dddd:0:457::/64 link#1 UC em0
3001:dddd:0:457:201:2ff:fe03:406 00:01:02:03:04:06 UHLW em0
3001:dddd:0:457:21b:21ff:fe0b:5bd 00:1b:21:0b:05:bd UHLW em0
3001:dddd:0:457:a00:27ff:fe7b:d6bb 08:00:27:7b:d6:bb UHL lo0
fe80::/10 ::1 UGRS lo0
fe80::%em0/64 link#1 UC em0
fe80::21b:21ff:fe0b:5bd%em0 00:1b:21:0b:05:bd UHLW em0
fe80::a00:27ff:fe7b:d6bb%em0 08:00:27:7b:d6:bb UHL lo0
fe80::%em1/64 link#2 UC em1
fe80::20b:bff:fe00:1%em1 00:0b:0b:00:00:01 UHLW em1
fe80::a00:27ff:fe57:a9d6%em1 08:00:27:57:a9:d6 UHL lo0
fe80::%lo0/64 fe80::1%lo0 U lo0
fe80::1%lo0 link#5 UHL lo0
ff01:1::/32 link#1 UC em0
ff01:2::/32 link#2 UC em1
ff01:5::/32 ::1 UC lo0
ff02::%em0/32 link#1 UC em0
ff02::%em1/32 link#2 UC em1
ff02::%lo0/32 ::1 UC lo0
I also confirmed the following:
$ sysctl -A net.inet6.ip6.accept_rtadv
net.inet6.ip6.accept_rtadv: 1
For my test setup I am assigning 3001::2 to the m0n0wall WAN interface (DHCPv6 server is 3001::1). Prefix length is 64. The DHCPv6 server is providing the prefix 3001:dddd::/64 to the m0n0wall. The m0n0wall is correctly building a global LAN IPv6 address using the 3001:dddd::/64 prefix and including that same prefix in RAs on the LAN. My LAN client is able to build a valid global IPv6 address and ping the m0n0wall's global IPv6 address on the LAN. The only issue is routing *through* the m0n0wall. Do you have similar problems or is this working for you?
Thanks!
-Matt