Skip to content

IPv6 Support #44

Description

@brk0v

Context

Tinkerbell's provisioning flow is currently centered on IPv4.

As a result, in IPv6 environments, operators who want IPv6-only bare metal provisioning still need to maintain an IPv4 island for discovery, netboot, or early OS installation, even when the target environment is otherwise IPv6-native.

Goals / Non-goals

Goals:

  • Add first-class IPv6 support.

Non-goals:

  • Redesign Tinkerbell's provisioning architecture. The goal is to evolve the existing model so that IPv6 is supported, documented, and tested.

Proposal

  • Extend Smee to support new DHCPv6 modes.
    • We can start with stateless DHCPv6 with SLAAC and RA for addresses.
  • Extend other components to be able to listen on and serve over IPv6.
  • Update Helm charts and templates to support IPv6.

Open Question

  • Is IP dual-stack support needed? The dual-stack could be beneficial in theory, but it would make the system more complex.

Rationale

One alternative is to keep Tinkerbell IPv4-only and require operators to maintain an IPv4 provisioning network even for IPv6-native infrastructure. That is the lowest-effort option from an engineering perspective, but it pushes cost and operational complexity onto users.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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