all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH pve-network v3] sdn: evpn: fix IPv6 exitnode local routing
@ 2026-01-19 14:26 Hannes Laimer
  2026-01-29 17:40 ` applied: " Thomas Lamprecht
  0 siblings, 1 reply; 2+ messages in thread
From: Hannes Laimer @ 2026-01-19 14:26 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>
---
v3:
 - use fe80::1 and fd80::2 as suggested by @Stefan

v2:
 - change `address6` to `address`, ifreload2 does not pick up address6.
   Probably had the address still attached from manualy testing so I
   didn't notice when I tested this for v1

 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..cc21712 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 fe80::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..8e7ddfd 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, "address fe80::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, "address fe80::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] 2+ messages in thread

* applied: [pve-devel] [PATCH pve-network v3] sdn: evpn: fix IPv6 exitnode local routing
  2026-01-19 14:26 [pve-devel] [PATCH pve-network v3] sdn: evpn: fix IPv6 exitnode local routing Hannes Laimer
@ 2026-01-29 17:40 ` Thomas Lamprecht
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Lamprecht @ 2026-01-29 17:40 UTC (permalink / raw)
  To: pve-devel, Hannes Laimer

On Mon, 19 Jan 2026 15:26:39 +0100, Hannes Laimer wrote:
> 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.
> 
> 

Applied, thanks!

[1/1] sdn: evpn: fix IPv6 exitnode local routing
      commit: 67b457c1202ee1ba8bc4d8a261a6f63a56f79fd6




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-01-29 17:39 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-01-19 14:26 [pve-devel] [PATCH pve-network v3] sdn: evpn: fix IPv6 exitnode local routing Hannes Laimer
2026-01-29 17:40 ` applied: " Thomas Lamprecht

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