all lists on 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} v4 0/9] add IPv6 RA / SLAAC support to EVPN zones
Date: Thu, 29 Oct 2026 16:42:45 +0100	[thread overview]
Message-ID: <e4f3cdb8-5d3e-49f2-ac4a-4549afad42ff@proxmox.com> (raw)
In-Reply-To: <20261029144408.2646288-1-h.laimer@proxmox.com>

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

(sorry for the noise)

On 2026-10-29 15:44, 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 sets `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 commit contains more details.
> 
> v4:
>  - rebased onto current master
>  - docs rewritten
>  - corrected router lifetime default placeholder
>  - reorder commits
> 
> 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 | 40 ++++++++++++++++++++++++++++++
>  pve-rs/src/bindings/sdn/mod.rs     |  1 +
>  3 files changed, 42 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: sdn: add IPv6 router advertisement settings
> 
>  .../templates/frr.conf.jinja                  |   1 +
>  .../templates/nd_interfaces.jinja             |  28 +++
>  proxmox-frr/src/ser/mod.rs                    |   6 +
>  proxmox-frr/src/ser/nd.rs                     |  56 ++++++
>  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, 611 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: derive IP version from CIDR for gateway-less subnets
>   sdn: evpn: accept untracked IPv6 neighbor advertisements
>   sdn: evpn: add IPv6 RA / SLAAC support
>   api: vnets: include the zone type in the vnet list
> 
>  src/PVE/API2/Network/SDN/Vnets.pm             | 62 ++++++++++++++
>  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           | 64 ++++++++++++++
>  src/PVE/Network/SDN/VnetPlugin.pm             | 85 +++++++++++++++++++
>  src/PVE/Network/SDN/Zones/EvpnPlugin.pm       | 14 ++-
>  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, 423 insertions(+), 6 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 | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 71 insertions(+)
> 
> 
> Summary over all repositories:
>   46 files changed, 1486 insertions(+), 22 deletions(-)
> 





      parent reply	other threads:[~2026-10-29 15:43 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-29 14:43 [PATCH docs/manager/network/proxmox{-perl-rs,-ve-rs} v4 0/9] add IPv6 RA / SLAAC support to EVPN zones Hannes Laimer
2026-10-29 14:44 ` [PATCH proxmox-perl-rs v4 1/9] pve-rs: sdn: add IPv6 RA builder binding Hannes Laimer
2026-10-29 14:44 ` [PATCH proxmox-ve-rs v4 2/9] frr: add IPv6 router advertisement support Hannes Laimer
2026-10-29 14:44 ` [PATCH proxmox-ve-rs v4 3/9] ve-config: sdn: add IPv6 router advertisement settings Hannes Laimer
2026-10-29 14:44 ` [PATCH pve-manager v4 4/9] ui: sdn: add IPv6 RA / SLAAC support Hannes Laimer
2026-10-29 14:44 ` [PATCH pve-network v4 5/9] sdn: evpn: derive IP version from CIDR for gateway-less subnets Hannes Laimer
2026-10-29 14:44 ` [PATCH pve-network v4 6/9] sdn: evpn: accept untracked IPv6 neighbor advertisements Hannes Laimer
2026-10-29 14:44 ` [PATCH pve-network v4 7/9] sdn: evpn: add IPv6 RA / SLAAC support Hannes Laimer
2026-10-29 14:44 ` [PATCH pve-network v4 8/9] api: vnets: include the zone type in the vnet list Hannes Laimer
2026-10-29 14:44 ` [PATCH pve-docs v4 9/9] sdn: add IPv6 RA / SLAAC section Hannes Laimer
2026-10-29 15:42 ` 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=e4f3cdb8-5d3e-49f2-ac4a-4549afad42ff@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal