Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 4 Oct 2025 12:46:58 -0400
From:      Chris Ross <cross+freebsd@distal.com>
To:        freebsd-net@freebsd.org
Subject:   IPv6 routing, Verizon FiOS, dhcpcd
Message-ID:  <9A0A976D-EB8A-4ABF-B216-3CB6358C2559@distal.com>

next in thread | raw e-mail | index | archive | help
Good day.  This is picking up after a long thread a couple weeks back:

Subject: IPv6 networking problems in 14.3
Archive: =
https://lists.freebsd.org/archives/freebsd-net/2025-September/007532.html

So following Tom Pusateri=E2=80=99s suggestion, I pulled an old server =
out of the
rack, and set it up near the center of the house.  =46rom here, I could
disconnect everything and plug directly into the ethernet out to the =
Verizon
ONT.  I=E2=80=99m running with a simplified rc.conf, and mostly the same =
dhcpcd.conf
as my real router.  I am not using pf at all, nor most of the other =
services
the router uses.  Just system DHCP from Verizon =
'ifconfig_bce1=3D=E2=80=9CSYNCDHCP=E2=80=9D'
and dhcpcd.  (Well, +ssh, +zfs, +ntpd, but=E2=80=A6)

Lots and lots of testing showed me:

1. 14.1 and 14.3 seem to act the same
2. If dhcpcd starts up before the interface has a link, which it =
frequently
does, the Verizon LL router address is never reachable.
3. If I delay starting dhcpcd until after IPv4 connectivity is =
established,
dhcpcd sets up the same way, but the router LL is reachable, and IPv6
routing works.

There are a couple issues here that complicate things.  First, I=E2=80=99m=
 using
dhcpcd for IPv6 only, which means delaying startup is fine.  But, if
someone were using it for general networking, that=E2=80=99s clearly a =
blocker.
Second, I cannot imagine why starting dhcpcd earlier caused the kernel
to somehow become unable to reach the ISP v6 LL address for the router.
If dhcpcd can=E2=80=99t talk to anything, it backs of and tries later.  =
When it
tries later, it gets DHCP6 responses, and does what it should do.=20
However, the LL address that it gets from the RA just isn=E2=80=99t =
reachable.
=E2=80=9Cndp -an=E2=80=9D shows it as =E2=80=9C(incomplete)=E2=80=9D for =
a second, then not at all.

So, first, why if dhcpcd starts early does the system get into a state
where it is unable to reach the advertised IPv6 router?  And that this
won=E2=80=99t ever fix itself.  (2+ hours tested on test box, days/weeks =
seen
on original router)

                - Chris=




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9A0A976D-EB8A-4ABF-B216-3CB6358C2559>