no ipv6 with rtsold

I'm having an issue getting proper ipv6 service from my home router. On the same machine, my Fedora Linux get's a working ipv6.

My settings
FreeBSD NomadBSD 14.1-RELEASE-p2 FreeBSD 14.1-RELEASE-p2 NOMADBSD amd64

Posting here because I had the same issue on another box running TrueNAS

rc.conf looks like :
nomad@NomadBSD ~> cat /etc/rc.conf |grep ipv6
ipv6_activate_all_interfaces="YES"
#ifconfig_em0_ipv6="inet6 accept_rtadv"
ifconfig_wlan0_ipv6="inet6 accept_rtadv"
ifconfig_em0_ipv6="inet6 accept_rtadv"
nomad@NomadBSD ~> cat /etc/rc.conf |grep rts
rtsold_enable="YES"

Ifconfig looks like
nomad@NomadBSD ~> cat /etc/rc.conf |grep ipv6
ipv6_activate_all_interfaces="YES"
#ifconfig_em0_ipv6="inet6 accept_rtadv"
ifconfig_wlan0_ipv6="inet6 accept_rtadv"
ifconfig_em0_ipv6="inet6 accept_rtadv"
nomad@NomadBSD ~> cat /etc/rc.conf |grep rts
rtsold_enable="YES"

Netstat -rn looks like
nomad@NomadBSD ~> netstat -rn
Routing tables

Internet:
Destination Gateway Flags Netif Expire
default 192.168.0.254 UGS wlan0
127.0.0.1 link#2 UH lo0
192.168.0.0/24 link#3 U wlan0
192.168.0.37 link#2 UHS lo0

Internet6:
Destination Gateway Flags Netif Expire
::/96 link#2 URS lo0
default fe80::160c:76ff:fead:c9e8%wlan0 UG wlan0
::1 link#2 UHS lo0
::ffff:0.0.0.0/96 link#2 URS lo0
2a01:e0a:abd:8a90::/64 link#3 U wlan0
fe80::%lo0/10 link#2 URS lo0
fe80::%em0/64 link#1 U em0
fe80::86a9:38ff:fe6e:3865%lo0 link#2 UHS lo0
fe80::%lo0/64 link#2 U lo0
fe80::1%lo0 link#2 UHS lo0
fe80::%wlan0/64 link#3 U wlan0
fe80::123d:1cff:fe96:d543%lo0 link#2 UHS lo0
ff02::/16 link#2 URS lo0
nomad@NomadBSD ~>


I have not spotted anything in dmesg. I have tried following https://forums.freebsd.org/threads/how-to-get-complete-boot-message.53547/#post-301139 to get the full boot console log, but it doesnt' work.

Any idea what I could do to log what rtsold does and figure out why I don't automatically get an ipv6? I can manually configure one, but then I have to manage ipv6 for all my machines and that's painful.
 
So I tried and started rtsol with both -D for debug and -i for immediate
root@NomadBSD:~ # rtsol -Di wlan0
rtsol: checking if wlan0 is ready...
rtsol: wlan0 is ready
rtsol: set timer for wlan0 to 0s
rtsol: timer expiration on wlan0, state = 1
rtsol: set timer for wlan0 to 4s
rtsol: New timer is 4s
rtsol: received RA from fe80::160c:76ff:fead:c9e8 on wlan0, state is 2
rtsol: ManagedConfigFlag on wlan0 is turned on
rtsol: OtherConfigFlag on wlan0 is turned on
rtsol: Processing RA
rtsol: ndo = 0x14393670fe60
rtsol: ndo->nd_opt_type = 3
rtsol: ndo->nd_opt_len = 4
rtsol: ndo = 0x14393670fe80
rtsol: ndo->nd_opt_type = 25
rtsol: ndo->nd_opt_len = 3
rtsol: nsbuf = fd0f:ee:b0::1
rtsol: ndo = 0x14393670fe98
rtsol: ndo->nd_opt_type = 5
rtsol: ndo->nd_opt_len = 1
rtsol: ndo = 0x14393670fea0
rtsol: ndo->nd_opt_type = 1
rtsol: ndo->nd_opt_len = 1
rtsol: rsid = [wlan0:slaac]
rtsol: write to child = nameserver (11)
rtsol: write to child = fd0f:ee:b0::1(13)
rtsol: write to child =
(1)
rtsol: script "/sbin/resolvconf" status 0
rtsol: stop timer for wlan0
rtsol: RA expiration timer: type=25, msg=fd0f:ee:b0::1, expire=1d0h0m0s
rtsol: there is no timer
root@NomadBSD:~ #
I'm not familiar with reading this - but it seems to me that things are working or at least not complaining about any thing.

I don't see traffic immediately when using tcpdump -i wlan0 -v -X, I do see some traffic but a bit later than after rtsol returned.
 
How your interface looks like after apply rtsold ?

It looks like
root@NomadBSD:~ # ifconfig wlan0
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=0
ether 10:3d:1c:96:d5:43
inet 192.168.0.37 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::123d:1cff:fe96:d543%wlan0 prefixlen 64 scopeid 0x3
groups: wlan
ssid mozillamessaging channel 2 (2417 MHz 11g) bssid 14:0c:76:ad:c9:e9
regdomain ETSI country FR authmode WPA2/802.11i privacy ON
deftxkey UNDEF AES-CCM 2:128-bit txpower 30 bmiss 7 scanvalid 60
protmode CTS wme roaming MANUAL bintval 120
parent interface: iwlwifi0
media: IEEE 802.11 Wireless Ethernet OFDM/54Mbps mode 11g
status: associated
nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
 
Posting here because I had the same issue on another box running TrueNAS
I have solved the issue on my TrueNas machine, by adding `net.inet6.ip6.accept_rtadv` set to one.
 
On my nomadbsd that's unfortunately not enough - I now get a gateway, I can ping6 the default gateway's ipv6, but I can't reach external networks :(
 
In my setup I am using a bridge . I would guess without a bridge it should be easier .... . Can you try

ifconfig wlan0 inet6 -ifdisabled
ifconfig wlan0 inet6 accept_rtadv
rtsol -D wlan0

What I have learned is that the sequence of commands in the rc.conf is very important . I gave up on my physical machine and used a vm for testing.


In my configuration I am also specifying the interface for rtsold.

#snippet from rc.conf
rtsold_enable="YES"
rtsold_flags="-i -m $interface"
 
Back
Top