* [pve-devel] [PATCH pve-network] sdn: evpn: fix IPv6 exitnode local routing
@ 2026-01-16 16:33 Hannes Laimer
0 siblings, 0 replies; only message in thread
From: Hannes Laimer @ 2026-01-16 16:33 UTC (permalink / raw)
To: pve-devel
IPv6 subnets on exitnodes had no working local-routing path. Add a v6
address on the xvrf veth pair and install IPv6 routes via that next-hop.
Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
---
src/PVE/Network/SDN/Controllers/EvpnPlugin.pm | 7 ++++++-
src/PVE/Network/SDN/Zones/EvpnPlugin.pm | 2 ++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm b/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm
index e53000a..74fc35d 100644
--- a/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm
+++ b/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm
@@ -462,7 +462,12 @@ sub generate_vnet_frr_config {
foreach my $subnetid (sort keys %{$subnets}) {
my $subnet = $subnets->{$subnetid};
my $cidr = $subnet->{cidr};
- push @controller_config, "ip route $cidr 10.255.255.2 xvrf_$zoneid";
+ my ($ip) = split(/\//, $cidr, 2);
+ if (Net::IP::ip_is_ipv6($ip)) {
+ push @controller_config, "ipv6 route $cidr fd00:ffff::2 xvrf_$zoneid";
+ } else {
+ push @controller_config, "ip route $cidr 10.255.255.2 xvrf_$zoneid";
+ }
}
push(@{ $config->{frr_ip_protocol} }, @controller_config);
}
diff --git a/src/PVE/Network/SDN/Zones/EvpnPlugin.pm b/src/PVE/Network/SDN/Zones/EvpnPlugin.pm
index 6d89499..4a61a4d 100644
--- a/src/PVE/Network/SDN/Zones/EvpnPlugin.pm
+++ b/src/PVE/Network/SDN/Zones/EvpnPlugin.pm
@@ -327,6 +327,7 @@ sub generate_sdn_config {
@iface_config = ();
push @iface_config, "link-type veth";
push @iface_config, "address 10.255.255.1/30";
+ push @iface_config, "address6 fd00:ffff::1/126" if $ipv6;
push @iface_config, "veth-peer-name $iface_xvrfp";
push @iface_config, "mtu " . ($mtu + 50) if $mtu;
push(@{ $config->{$iface_xvrf} }, @iface_config) if !$config->{$iface_xvrf};
@@ -334,6 +335,7 @@ sub generate_sdn_config {
@iface_config = ();
push @iface_config, "link-type veth";
push @iface_config, "address 10.255.255.2/30";
+ push @iface_config, "address6 fd00:ffff::2/126" if $ipv6;
push @iface_config, "veth-peer-name $iface_xvrf";
push @iface_config, "vrf $vrf_iface";
push @iface_config, "mtu " . ($mtu + 50) if $mtu;
--
2.47.3
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-01-16 16:33 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-01-16 16:33 [pve-devel] [PATCH pve-network] sdn: evpn: fix IPv6 exitnode local routing Hannes Laimer
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.