Skip to content

IPv6 instability when dhcpcd manages many interfaces; issue reproduces even with hooks disabled #598

@dodo040

Description

@dodo040

Hello,

We are seeing what looks like an IPv6 scalability/stability issue with dhcpcd 10.2.2 on a FreeBSD-based appliance.

Environment

dhcpcd version: 10.2.2
Platform: FreeBSD-based appliance
Many active interfaces / VLANs
IPv6 enabled on multiple interfaces simultaneously

Problem

When dhcpcd manages many interfaces, IPv6 becomes unstable beyond a certain interface count.

Observed symptoms include dhcp6_recv repeated errors.

Once these errors start appearing, dhcpcd stops responding to any signals. This situation is notably triggered when requesting a daemon reload, after which the process becomes unresponsive and we completely lose control over it.

At that point, IPv6 behavior becomes unreliable across interfaces.

Key observation

We first suspected our shell hooks, because they add overhead after dhcpcd events.

We progressively reduced them until they were almost empty, and then tested with hooks completely disabled.

Result

  • with a minimal hook path, the issue appears at around 14 managed interfaces
  • with hooks fully disabled using -c /dev/null, the issue still appears, but later, at around 19 managed interfaces

So hooks clearly make the problem appear earlier, but they do not seem to be the root cause by themselves.

Comparison with IPv4

In the reduced case, the hook was limited to a lightweight helper that only sends an IPC notification to another daemon. The actual heavy work was executed asynchronously elsewhere.

Even with this minimal hook path, IPv6 still became unstable around 14 interfaces, while the same async-notification approach works correctly for IPv4.

This suggests the issue is specific to the IPv6 path and/or the IPv6 event rate when many interfaces are handled at once.

Current interpretation

  • the shell hook path adds enough overhead to worsen the issue
  • however, the issue still reproduces without hooks (-c /dev/null)
  • therefore there seems to be an intrinsic IPv6 scalability or event-handling issue in dhcpcd under multi-interface load

Question

Has anything similar already been reported regarding:

  • IPv6 on many interfaces
  • repeated RA / DHCPv6 events across many VLANs
  • instability only beyond a certain interface count

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions