Hi Roy, On Mon, Oct 12, 2020 at 03:56:44PM +0100, Roy Marples wrote: > Can you explain how it was not functional before and how this fixes it?
I think the change was well described in the same commit in the manual page updates that you did not quote in your message. The "rtsol" keyword is used to enable the processing of router advertisement messages in order to pickup the IPv6 default routes as advertised by the routers on the network. Previously such processing was done in the kernel, but that code has been removed. This change updates the etc/rc.d/network script to restore the previous functionality of the "rtsol" keyword by starting dhcpcd with the necessary options to have it do the work that previously was done in the kernel. The key points are to: - not interfere with (static) IPv4 configuration - only update the IPv6 routing table, not the IPv6 address configuration I also think it is very good that with this change we once again have backwards compatibility for configuring static network addressing. For the curious, this is what I observed at boot before the change: IPv6 mode: host Configuring network interfaces: vioif0. Adding interface aliases:. route: writing to routing socket: File exists add net default: gateway 198.51.100.129: File exists Waiting for duplicate address detection to finish... I was also getting repeated errors from ntpd due to DNS lookups failing (as in my configuration they depend on IPv4 routing working). Looking at dhcpcd processes, this is what was running: myhost$ ps -axuww | grep dhcp _dhcpcd 255 0.0 0.0 22824 1396 ? I 10:13PM 0:00.00 dhcpcd: [BPF BOOTP] vioif0 _dhcpcd 505 0.0 0.0 22964 1972 ? I 10:13PM 0:00.00 dhcpcd: [master] [ip4] [ip6] root 506 0.0 0.0 22824 1512 ? I 10:13PM 0:00.00 dhcpcd: [privileged actioneer] _dhcpcd 507 0.0 0.0 22820 1364 ? I 10:13PM 0:00.00 dhcpcd: [network proxy] _dhcpcd 508 0.0 0.0 22756 1316 ? I 10:13PM 0:00.00 dhcpcd: [control proxy] This is how the interface was configured (dhcpcd had added IPv4 LL): myhost$ ifconfig vioif0 vioif0: flags=0x8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ec_capabilities=0x1<VLAN_MTU> ec_enabled=0 address: 82:1a:bd:99:c1:39 status: active inet 198.51.100.134/28 broadcast 198.51.100.143 flags 0 inet 169.254.25.10/16 broadcast 169.254.255.255 flags 0 inet6 fe80::801a:bdff:fe99:c139%vioif0/64 flags 0 scopeid 0x1 inet6 2001:db8::134/64 flags 0 This is what was in the IPv4 routing table (presumably dhcpcd had added the odd default route without a next hop address): myhost$ netstat -rnf inet Routing tables Internet: Destination Gateway Flags Refs Use Mtu Interface default link#1 UC - - - vioif0 198.51.100.128/28 link#1 UC - - - vioif0 198.51.100.134 link#1 UHl - - - lo0 127/8 127.0.0.1 UGRS - - 33624 lo0 127.0.0.1 lo0 UHl - - 33624 lo0 169.254/16 link#1 UC - - - vioif0 169.254.25.10 link#1 UHl - - - lo0 Here is the configuration that I'm using in rc.conf and that works without issues with my change to etc/rc.d/network: hostname=myhost.example.com defaultroute=198.51.100.129 ifconfig_vioif0=' inet 198.51.100.134/28 inet6 2001:db8::134/64 alias rtsol ' dns_search='site.example.com example.com' dns_nameservers='10.1.1.11 10.2.1.11' dns_options='timeout:1 attempts:5 edns0 no-tld-query' My preference for a static address configuration would be to also use defaultroute6, but since on some of my networks the routers do not support VRRP v3, I cannot configure an IPv6 address in VRRP to be used as the default gateway. Kind regards, + Kimmo