public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Hannes Laimer <h.laimer@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: superseded: [PATCH docs/manager/network/proxmox{-perl-rs,-ve-rs} v3 0/9] add IPv6 RA / SLAAC support to EVPN zones
Date: Thu, 29 Oct 2026 15:45:32 +0100	[thread overview]
Message-ID: <d29872ef-4b60-456f-a05a-29f288ae2708@proxmox.com> (raw)
In-Reply-To: <20260623125626.1195681-1-h.laimer@proxmox.com>

superseded-by:
https://lore.proxmox.com/pve-devel/20261029144408.2646288-1-h.laimer@proxmox.com

On 2026-06-23 14:57, Hannes Laimer wrote:
> This series adds IPv6 Router Advertisement / SLAAC support to EVPN zones.
> 
> RA settings sit on the vnet (`vnets.cfg`), per-prefix overrides on the subnet
> (`subnets.cfg`). Defaults are chosen so that most IPv6 subnets work without
> explicit per-prefix configuration.
> 
> It also enables `accept_untracked_na=2` on every EVPN vnet bridge that has an
> IPv6 subnet, to keep first-packet IPv6 return traffic reliable in the
> distributed anycast-gateway topology. The dedicated commit carries the full
> rationale.
> 
> v3, thanks @Lukas S!:
>  - validation no longer rejects valid IPv6 subnets: non-/64 prefixes and IPv6
>    subnets using SNAT are accepted and editable again
>  - improve FRR config generation so a single malformed subnet or a non-member
>    node can no longer break it, and so configured prefix lifetimes are no
>    longer silently dropped
>  - cleaner EVPN gating and better per-prefix defaults, so most IPv6 subnets
>    work without explicit configuration
>  - cleanup UI, only persists meaningful settings
>  - some smaller fixups
> 
> 
> proxmox-perl-rs:
> 
> Hannes Laimer (1):
>   pve-rs: sdn: add IPv6 RA builder binding
> 
>  pve-rs/Makefile                    |  1 +
>  pve-rs/src/bindings/sdn/ipv6_ra.rs | 50 ++++++++++++++++++++++++++++++
>  pve-rs/src/bindings/sdn/mod.rs     |  1 +
>  3 files changed, 52 insertions(+)
>  create mode 100644 pve-rs/src/bindings/sdn/ipv6_ra.rs
> 
> 
> proxmox-ve-rs:
> 
> Hannes Laimer (2):
>   frr: add IPv6 router advertisement support
>   ve-config: add per-vnet IPv6 RA configuration
> 
>  .../templates/frr.conf.jinja                  |   1 +
>  .../templates/nd_interfaces.jinja             |  28 +++
>  proxmox-frr/src/ser/mod.rs                    |   6 +
>  proxmox-frr/src/ser/nd.rs                     |  75 ++++++++
>  proxmox-frr/src/ser/serializer.rs             |   6 +-
>  proxmox-ve-config/src/sdn/config.rs           | 146 +++++++++++++++-
>  proxmox-ve-config/src/sdn/mod.rs              |   1 +
>  proxmox-ve-config/src/sdn/nd.rs               | 131 ++++++++++++++
>  proxmox-ve-config/tests/nd/main.rs            | 164 ++++++++++++++++++
>  .../nd__explicit_lifetimes_are_preserved.snap |   9 +
>  .../nd__mixed_subnets_under_one_vnet.snap     |  14 ++
>  .../snapshots/nd__no_autoconfig_prefix.snap   |   9 +
>  ...sh64_prefix_defaults_to_no_autoconfig.snap |   9 +
>  .../nd__off_link_emits_off_link_modifier.snap |   9 +
>  ...__preferred_lifetime_clamped_to_valid.snap |   9 +
>  ...vel_optional_knobs_are_passed_through.snap |  12 ++
>  .../nd__slaac_with_default_lifetimes.snap     |   9 +
>  17 files changed, 630 insertions(+), 8 deletions(-)
>  create mode 100644 proxmox-frr-templates/templates/nd_interfaces.jinja
>  create mode 100644 proxmox-frr/src/ser/nd.rs
>  create mode 100644 proxmox-ve-config/src/sdn/nd.rs
>  create mode 100644 proxmox-ve-config/tests/nd/main.rs
>  create mode 100644 proxmox-ve-config/tests/nd/snapshots/nd__explicit_lifetimes_are_preserved.snap
>  create mode 100644 proxmox-ve-config/tests/nd/snapshots/nd__mixed_subnets_under_one_vnet.snap
>  create mode 100644 proxmox-ve-config/tests/nd/snapshots/nd__no_autoconfig_prefix.snap
>  create mode 100644 proxmox-ve-config/tests/nd/snapshots/nd__non_slash64_prefix_defaults_to_no_autoconfig.snap
>  create mode 100644 proxmox-ve-config/tests/nd/snapshots/nd__off_link_emits_off_link_modifier.snap
>  create mode 100644 proxmox-ve-config/tests/nd/snapshots/nd__preferred_lifetime_clamped_to_valid.snap
>  create mode 100644 proxmox-ve-config/tests/nd/snapshots/nd__ra_level_optional_knobs_are_passed_through.snap
>  create mode 100644 proxmox-ve-config/tests/nd/snapshots/nd__slaac_with_default_lifetimes.snap
> 
> 
> pve-manager:
> 
> Hannes Laimer (1):
>   ui: sdn: add IPv6 RA / SLAAC support
> 
>  www/manager6/form/SDNVnetSelector.js |   2 +-
>  www/manager6/sdn/SubnetEdit.js       | 130 ++++++++++++++++-
>  www/manager6/sdn/SubnetView.js       |   7 +-
>  www/manager6/sdn/VnetEdit.js         | 202 ++++++++++++++++++++++++++-
>  www/manager6/sdn/VnetView.js         |   6 +-
>  5 files changed, 339 insertions(+), 8 deletions(-)
> 
> 
> pve-network:
> 
> Hannes Laimer (4):
>   sdn: evpn: add IPv6 RA / SLAAC support
>   sdn: evpn: derive IP version from CIDR for gateway-less subnets
>   sdn: evpn: accept untracked IPv6 NA on EVPN vnet bridges
>   api: vnet: include zone-type in vnet list
> 
>  src/PVE/API2/Network/SDN/Vnets.pm             | 13 +++
>  src/PVE/Network/SDN.pm                        |  1 +
>  src/PVE/Network/SDN/Controllers.pm            | 21 ++++-
>  src/PVE/Network/SDN/Controllers/EvpnPlugin.pm | 22 ++++-
>  src/PVE/Network/SDN/Controllers/Plugin.pm     |  2 +-
>  src/PVE/Network/SDN/SubnetPlugin.pm           | 68 +++++++++++++++
>  src/PVE/Network/SDN/VnetPlugin.pm             | 85 +++++++++++++++++++
>  src/PVE/Network/SDN/Zones/EvpnPlugin.pm       | 24 ++++--
>  src/PVE/Network/SDN/Zones/Plugin.pm           |  6 ++
>  .../expected_sdn_interfaces                   |  1 +
>  .../exitnode_snat/expected_sdn_interfaces     |  1 +
>  .../exitnodenullroute/expected_sdn_interfaces |  1 +
>  .../evpn/ipv4ipv6/expected_sdn_interfaces     |  1 +
>  .../ipv4ipv6nogateway/expected_sdn_interfaces |  1 +
>  .../zones/evpn/ipv6/expected_sdn_interfaces   |  1 +
>  .../evpn/ipv6underlay/expected_sdn_interfaces |  1 +
>  .../evpn/slaac/expected_controller_config     | 53 ++++++++++++
>  .../zones/evpn/slaac/expected_sdn_interfaces  | 44 ++++++++++
>  src/test/zones/evpn/slaac/interfaces          |  7 ++
>  src/test/zones/evpn/slaac/sdn_config          | 41 +++++++++
>  20 files changed, 384 insertions(+), 10 deletions(-)
>  create mode 100644 src/test/zones/evpn/slaac/expected_controller_config
>  create mode 100644 src/test/zones/evpn/slaac/expected_sdn_interfaces
>  create mode 100644 src/test/zones/evpn/slaac/interfaces
>  create mode 100644 src/test/zones/evpn/slaac/sdn_config
> 
> 
> pve-docs:
> 
> Hannes Laimer (1):
>   sdn: add IPv6 RA / SLAAC section
> 
>  pvesdn.adoc | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 68 insertions(+)
> 
> 
> Summary over all repositories:
>   46 files changed, 1473 insertions(+), 26 deletions(-)
> 





      parent reply	other threads:[~2026-10-29 14:46 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-23 12:56 [PATCH docs/manager/network/proxmox{-perl-rs,-ve-rs} v3 0/9] add IPv6 RA / SLAAC support to EVPN zones Hannes Laimer
2026-06-23 12:56 ` [PATCH proxmox-perl-rs v3 1/9] pve-rs: sdn: add IPv6 RA builder binding Hannes Laimer
2026-06-23 12:56 ` [PATCH proxmox-ve-rs v3 2/9] frr: add IPv6 router advertisement support Hannes Laimer
2026-06-23 12:56 ` [PATCH proxmox-ve-rs v3 3/9] ve-config: add per-vnet IPv6 RA configuration Hannes Laimer
2026-06-23 12:56 ` [PATCH pve-manager v3 4/9] ui: sdn: add IPv6 RA / SLAAC support Hannes Laimer
2026-06-23 12:56 ` [PATCH pve-network v3 5/9] sdn: evpn: " Hannes Laimer
2026-06-23 12:56 ` [PATCH pve-network v3 6/9] sdn: evpn: derive IP version from CIDR for gateway-less subnets Hannes Laimer
2026-06-23 12:56 ` [PATCH pve-network v3 7/9] sdn: evpn: accept untracked IPv6 NA on EVPN vnet bridges Hannes Laimer
2026-06-23 12:56 ` [PATCH pve-network v3 8/9] api: vnet: include zone-type in vnet list Hannes Laimer
2026-06-23 12:56 ` [PATCH pve-docs v3 9/9] sdn: add IPv6 RA / SLAAC section Hannes Laimer
2026-10-29 14:45 ` Hannes Laimer [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d29872ef-4b60-456f-a05a-29f288ae2708@proxmox.com \
    --to=h.laimer@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal