static_ndp REQUIRE routing in FreeBSD 13.0-RELEASE?

My hosting provider (OVH) requires that I use an 'unusual' networking setup for IPv4 and IPv6 to work. Upon upgrading to 13.0, I found that IPv6 no longer works.

Here's the setting that works for years:

Code:
# IPv6 configuration
ifconfig_vtnet0_ipv6="inet6 <ipv6>/64"
ipv6_static_routes="ovh"
ipv6_route_ovh="-host <gateway> -iface vtnet0"
ipv6_defaultrouter="<gateway>"
static_ndp_pairs="gw"
static_ndp_gw="<gateway> <mac>"

After troubleshooting by comparing another system running 12.2, I figured out that the problem was that "ndp -an" didn't show an entry for IPv6 gateway, although I didn't change a thing in /etc/rc.conf and it still has the static_ndp_pairs and static_ndp_gw lines.

Running ndp -s <gateway> <mac> immediately gets IPv6 working like before.

Looking at console.log, it seems like static_ndp is executed before routing. I've got IPv6 up and running again by adding routing (in addition to netif) to the REQUIRE line in /etc/rc.d/static_ndp.

Is this a bug or are there changes in FreeBSD 13.0 that I overlooked?
 
Last edited:
Back
Top