From: Hannes Laimer <h.laimer@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [PATCH pve-docs v3 9/9] sdn: add IPv6 RA / SLAAC section
Date: Tue, 23 Jun 2026 14:56:26 +0200 [thread overview]
Message-ID: <20260623125626.1195681-10-h.laimer@proxmox.com> (raw)
In-Reply-To: <20260623125626.1195681-1-h.laimer@proxmox.com>
Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
---
pvesdn.adoc | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 68 insertions(+)
diff --git a/pvesdn.adoc b/pvesdn.adoc
index a09a443..d8a6a2d 100644
--- a/pvesdn.adoc
+++ b/pvesdn.adoc
@@ -409,6 +409,10 @@ xref:pvesdn_firewall_integration[VNET Firewall] to further isolate traffic in
the VNET across nodes. For example, DROP by default and only allow traffic from
the IP subnet to the gateway and vice versa.
+For VNets in an EVPN zone, IPv6 Router Advertisements can be enabled so guests
+autoconfigure via SLAAC. See
+xref:pvesdn_ipv6_ra[IPv6 Router Advertisements (SLAAC)].
+
[[pvesdn_config_subnet]]
Subnets
-------
@@ -442,6 +446,70 @@ SNAT:: Enable Source NAT which allows VMs from inside a
DNS Zone Prefix:: Add a prefix to the domain registration, like
<hostname>.prefix.<domain> Optional.
+On IPv6 subnets of an EVPN VNet with Router Advertisements enabled, additional
+per-prefix options are available. See
+xref:pvesdn_ipv6_ra[IPv6 Router Advertisements (SLAAC)].
+
+
+[[pvesdn_ipv6_ra]]
+IPv6 Router Advertisements (SLAAC)
+----------------------------------
+
+VNets in an xref:pvesdn_zone_plugin_evpn[EVPN zone] can emit IPv6 Router
+Advertisements (RAs) from their anycast gateway. Guests on the VNet then
+autoconfigure their addresses via SLAAC and learn the default gateway, DNS
+servers and other settings directly from the RA.
+
+RAs are enabled per VNet and require the VNet to have at least one IPv6 subnet.
+The configuration follows the protocol's two layers: RA-wide settings live on
+the VNet (the 'IPv6 Router Advertisement' tab), per-prefix settings on each
+IPv6 subnet (the 'IPv6 Prefix Options' tab). The defaults are chosen so that
+enabling RAs on a VNet with a /64 IPv6 subnet already lets guests
+autoconfigure, without setting any of the options below.
+
+Per-VNet options:
+
+Send Router Advertisements:: Emit RAs on this VNet's bridge. Only available for
+ VNets in an EVPN zone that have at least one IPv6 subnet. The remaining
+ options only take effect while this is enabled.
+
+DHCP Managed (M):: Set the managed-address (M) flag, telling hosts to obtain
+ their addresses via DHCPv6 in addition to, or instead of, SLAAC. Optional,
+ off by default.
+
+DHCP Other (O):: Set the other-configuration (O) flag, telling hosts to obtain
+ other information, such as DNS servers, via DHCPv6. Optional, off by default.
+
+RDNSS:: Recursive DNS server IPv6 addresses to advertise, so hosts learn their
+ resolvers from the RA itself. Optional.
+
+Router Lifetime (s):: Seconds for which hosts may use this gateway as a default
+ router, 0 to 9000. A value of 0 advertises the gateway as not being a default
+ router, for example when the RA only distributes a prefix or DNS servers. A
+ non-zero value must be at least the RA interval. Optional.
+
+RA Interval (s):: Maximum number of seconds (4 to 1800) between two unsolicited
+ RAs. Optional, defaults to 600.
+
+Advertised MTU:: Link MTU to advertise to hosts, 1280 to 65535. Optional.
+
+Per-subnet options (IPv6 subnets only):
+
+SLAAC (A):: Set the autonomous (A) flag, advertising the prefix for SLAAC so
+ hosts can derive an address from it. SLAAC requires a /64 prefix, so this
+ defaults to enabled on /64 subnets and is disabled, and cannot be enabled, on
+ others.
+
+On-link (L):: Set the on-link (L) flag, advertising the prefix as reachable
+ directly on the link. Optional, on by default.
+
+Valid Lifetime (s):: Seconds an address derived from this prefix stays valid.
+ Optional, defaults to 2592000 (30 days).
+
+Preferred Lifetime (s):: Seconds an address derived from this prefix stays
+ preferred. Must not exceed the valid lifetime. Optional, defaults to 604800
+ (7 days).
+
[[pvesdn_config_controllers]]
Controllers
--
2.47.3
prev parent reply other threads:[~2026-06-23 12:57 UTC|newest]
Thread overview: 10+ 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 ` 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=20260623125626.1195681-10-h.laimer@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