From: Gabriel Goller <g.goller@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [PATCH pve-network 2/2] tests: cover FRR append config files
Date: Wed, 1 Jul 2026 12:30:45 +0200 [thread overview]
Message-ID: <20260701103051.119422-3-g.goller@proxmox.com> (raw)
In-Reply-To: <20260701103051.119422-1-g.goller@proxmox.com>
Add a frr.conf.d file to one zone test and check that it is added at the end
of the generated FRR config. Also add an empty file in the same directory to
check that it does not add markers.
Signed-off-by: Gabriel Goller <g.goller@proxmox.com>
---
src/test/run_test_zones.pl | 53 +++++++++++++++++++
.../expected_controller_config | 4 ++
.../evpn/auto_mode/expected_controller_config | 4 ++
.../evpn/bgp_ebgp/expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../bgp_fabric/expected_controller_config | 4 ++
.../bgp_loopback/expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../evpn/ebgp/expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../ebgp_loopback/expected_controller_config | 4 ++
.../evpn/ebgp_only/expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../evpn/exitnode/expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../exitnode_snat/expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../evpn/ipv4/expected_controller_config | 10 ++++
.../zones/evpn/ipv4/frr.conf.d/00-empty.conf | 0
.../zones/evpn/ipv4/frr.conf.d/10-custom.conf | 1 +
.../evpn/ipv4ipv6/expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../evpn/ipv6/expected_controller_config | 4 ++
.../ipv6underlay/expected_controller_config | 4 ++
.../evpn/isis/expected_controller_config | 4 ++
.../isis_loopback/expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../multiplezones/expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../ospf_fabric/expected_controller_config | 4 ++
.../evpn/routemap/expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../expected_controller_config | 4 ++
.../evpn/rt_import/expected_controller_config | 4 ++
.../evpn/vxlanport/expected_controller_config | 4 ++
49 files changed, 244 insertions(+)
create mode 100644 src/test/zones/evpn/ipv4/frr.conf.d/00-empty.conf
create mode 100644 src/test/zones/evpn/ipv4/frr.conf.d/10-custom.conf
diff --git a/src/test/run_test_zones.pl b/src/test/run_test_zones.pl
index dd458b77dd69..e896d35c9a90 100755
--- a/src/test/run_test_zones.pl
+++ b/src/test/run_test_zones.pl
@@ -30,6 +30,8 @@ sub read_sdn_config {
return $sdn_config;
}
+my $read_append_frr_config = \&PVE::Network::SDN::Frr::read_append_frr_config;
+
my @tests = grep { -d } glob './zones/*/*';
foreach my $test (@tests) {
@@ -139,11 +141,15 @@ foreach my $test (@tests) {
if (-e $frr_local_path) {
$frr_local_config = read_file($frr_local_path);
}
+ my $frr_conf_d_path = "$test/frr.conf.d";
my $mocked_frr = Test::MockModule->new('PVE::Network::SDN::Frr');
$mocked_frr->mock(
read_local_frr_config => sub {
return $frr_local_config;
},
+ read_append_frr_config => sub {
+ return $read_append_frr_config->($frr_conf_d_path);
+ },
);
my $name = $test;
@@ -175,5 +181,52 @@ foreach my $test (@tests) {
}
}
+{
+ my $empty_frr_config = {
+ controllers => { ids => {} },
+ fabrics => { ids => {} },
+ 'route-maps' => { ids => {} },
+ 'prefix-lists' => { ids => {} },
+ };
+
+ my $mocked_sdn = Test::MockModule->new('PVE::Network::SDN');
+ $mocked_sdn->mock(
+ running_config => sub {
+ return $empty_frr_config;
+ },
+ );
+
+ my $mocked_frr = Test::MockModule->new('PVE::Network::SDN::Frr');
+ $mocked_frr->mock(
+ local_frr_config_exists => sub { return 0; },
+ read_append_frr_config =>
+ sub { return 'ip prefix-list CUSTOM seq 10 permit 203.0.113.0/24\n'; },
+ active_config_has_append_frr_config => sub { return 0; },
+ );
+
+ ok(
+ PVE::Network::SDN::running_config_has_frr(), 'existing append snippets trigger FRR rewrite',
+ );
+
+ $mocked_frr->mock(
+ read_append_frr_config => sub { return ''; },
+ active_config_has_append_frr_config => sub { return 1; },
+ );
+
+ ok(
+ PVE::Network::SDN::running_config_has_frr(),
+ 'installed append snippet markers trigger cleanup rewrite after snippet or directory removal',
+ );
+
+ $mocked_frr->mock(
+ active_config_has_append_frr_config => sub { return 0; },
+ );
+
+ ok(
+ !PVE::Network::SDN::running_config_has_frr(),
+ 'empty current and active config does not trigger FRR rewrite',
+ );
+}
+
done_testing();
diff --git a/src/test/zones/evpn/advertise_subnets/expected_controller_config b/src/test/zones/evpn/advertise_subnets/expected_controller_config
index 8ab18ef648fc..8b1f2a9523ba 100644
--- a/src/test/zones/evpn/advertise_subnets/expected_controller_config
+++ b/src/test/zones/evpn/advertise_subnets/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/auto_mode/expected_controller_config b/src/test/zones/evpn/auto_mode/expected_controller_config
index 6df5facee554..eacff82dfe00 100644
--- a/src/test/zones/evpn/auto_mode/expected_controller_config
+++ b/src/test/zones/evpn/auto_mode/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/bgp_ebgp/expected_controller_config b/src/test/zones/evpn/bgp_ebgp/expected_controller_config
index 5df95556035a..1b8747b4692b 100644
--- a/src/test/zones/evpn/bgp_ebgp/expected_controller_config
+++ b/src/test/zones/evpn/bgp_ebgp/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/bgp_ebgp_multihop/expected_controller_config b/src/test/zones/evpn/bgp_ebgp_multihop/expected_controller_config
index f11659523d97..8ca372565bab 100644
--- a/src/test/zones/evpn/bgp_ebgp_multihop/expected_controller_config
+++ b/src/test/zones/evpn/bgp_ebgp_multihop/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/bgp_ebgp_reverse_order/expected_controller_config b/src/test/zones/evpn/bgp_ebgp_reverse_order/expected_controller_config
index 4f3eaa3f56aa..ecc0693b0fbd 100644
--- a/src/test/zones/evpn/bgp_ebgp_reverse_order/expected_controller_config
+++ b/src/test/zones/evpn/bgp_ebgp_reverse_order/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/bgp_evpn_routemap_prefix_list/expected_controller_config b/src/test/zones/evpn/bgp_evpn_routemap_prefix_list/expected_controller_config
index 557fc96ad907..c4a6439630d1 100644
--- a/src/test/zones/evpn/bgp_evpn_routemap_prefix_list/expected_controller_config
+++ b/src/test/zones/evpn/bgp_evpn_routemap_prefix_list/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/bgp_fabric/expected_controller_config b/src/test/zones/evpn/bgp_fabric/expected_controller_config
index 24bf62905761..8ebdfb4b2293 100644
--- a/src/test/zones/evpn/bgp_fabric/expected_controller_config
+++ b/src/test/zones/evpn/bgp_fabric/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/bgp_loopback/expected_controller_config b/src/test/zones/evpn/bgp_loopback/expected_controller_config
index 841bc0c2a912..a74a3a045cac 100644
--- a/src/test/zones/evpn/bgp_loopback/expected_controller_config
+++ b/src/test/zones/evpn/bgp_loopback/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/bgp_multipath_relax/expected_controller_config b/src/test/zones/evpn/bgp_multipath_relax/expected_controller_config
index 46e04c682633..c1e571e127a3 100644
--- a/src/test/zones/evpn/bgp_multipath_relax/expected_controller_config
+++ b/src/test/zones/evpn/bgp_multipath_relax/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/combined_bgp_isis/expected_controller_config b/src/test/zones/evpn/combined_bgp_isis/expected_controller_config
index 8b8237330be3..204d2c127389 100644
--- a/src/test/zones/evpn/combined_bgp_isis/expected_controller_config
+++ b/src/test/zones/evpn/combined_bgp_isis/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/disable_arp_nd_suppression/expected_controller_config b/src/test/zones/evpn/disable_arp_nd_suppression/expected_controller_config
index 0c6cc0939d15..b57707fd52ed 100644
--- a/src/test/zones/evpn/disable_arp_nd_suppression/expected_controller_config
+++ b/src/test/zones/evpn/disable_arp_nd_suppression/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/ebgp/expected_controller_config b/src/test/zones/evpn/ebgp/expected_controller_config
index 6df5facee554..eacff82dfe00 100644
--- a/src/test/zones/evpn/ebgp/expected_controller_config
+++ b/src/test/zones/evpn/ebgp/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/ebgp_evpn_ibgp_wan_evpn_ebgp/expected_controller_config b/src/test/zones/evpn/ebgp_evpn_ibgp_wan_evpn_ebgp/expected_controller_config
index 6377aca4de85..303ee214fa0e 100644
--- a/src/test/zones/evpn/ebgp_evpn_ibgp_wan_evpn_ebgp/expected_controller_config
+++ b/src/test/zones/evpn/ebgp_evpn_ibgp_wan_evpn_ebgp/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/ebgp_evpn_ibgp_wan_evpn_ebgp_rt_import/expected_controller_config b/src/test/zones/evpn/ebgp_evpn_ibgp_wan_evpn_ebgp_rt_import/expected_controller_config
index d5ffe91e595e..127ce4f226bd 100644
--- a/src/test/zones/evpn/ebgp_evpn_ibgp_wan_evpn_ebgp_rt_import/expected_controller_config
+++ b/src/test/zones/evpn/ebgp_evpn_ibgp_wan_evpn_ebgp_rt_import/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/ebgp_evpn_ibgp_wan_evpn_ebgp_rt_import_mixed/expected_controller_config b/src/test/zones/evpn/ebgp_evpn_ibgp_wan_evpn_ebgp_rt_import_mixed/expected_controller_config
index b9cc6f3395a7..c0a07d1c56d2 100644
--- a/src/test/zones/evpn/ebgp_evpn_ibgp_wan_evpn_ebgp_rt_import_mixed/expected_controller_config
+++ b/src/test/zones/evpn/ebgp_evpn_ibgp_wan_evpn_ebgp_rt_import_mixed/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/ebgp_loopback/expected_controller_config b/src/test/zones/evpn/ebgp_loopback/expected_controller_config
index 2022f4dc686a..2f23e281e300 100644
--- a/src/test/zones/evpn/ebgp_loopback/expected_controller_config
+++ b/src/test/zones/evpn/ebgp_loopback/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/ebgp_only/expected_controller_config b/src/test/zones/evpn/ebgp_only/expected_controller_config
index b9dde578ee25..f711b83eeefa 100644
--- a/src/test/zones/evpn/ebgp_only/expected_controller_config
+++ b/src/test/zones/evpn/ebgp_only/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/evpn_cluster_ibgp_uplink_ebgp/expected_controller_config b/src/test/zones/evpn/evpn_cluster_ibgp_uplink_ebgp/expected_controller_config
index 7c911a8876ce..99ea845c4904 100644
--- a/src/test/zones/evpn/evpn_cluster_ibgp_uplink_ebgp/expected_controller_config
+++ b/src/test/zones/evpn/evpn_cluster_ibgp_uplink_ebgp/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/evpn_multiple_zones_cluster_ibgp_uplink_ebgp/expected_controller_config b/src/test/zones/evpn/evpn_multiple_zones_cluster_ibgp_uplink_ebgp/expected_controller_config
index a348d145b73d..616afefa0473 100644
--- a/src/test/zones/evpn/evpn_multiple_zones_cluster_ibgp_uplink_ebgp/expected_controller_config
+++ b/src/test/zones/evpn/evpn_multiple_zones_cluster_ibgp_uplink_ebgp/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/exitnode/expected_controller_config b/src/test/zones/evpn/exitnode/expected_controller_config
index e7923027f01e..42fe02fc232b 100644
--- a/src/test/zones/evpn/exitnode/expected_controller_config
+++ b/src/test/zones/evpn/exitnode/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/exitnode_local_routing/expected_controller_config b/src/test/zones/evpn/exitnode_local_routing/expected_controller_config
index 57f85d4e20ef..1659dbe3aee3 100644
--- a/src/test/zones/evpn/exitnode_local_routing/expected_controller_config
+++ b/src/test/zones/evpn/exitnode_local_routing/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/exitnode_local_routing_ipv6/expected_controller_config b/src/test/zones/evpn/exitnode_local_routing_ipv6/expected_controller_config
index 382660ff5f7a..447a92877f1e 100644
--- a/src/test/zones/evpn/exitnode_local_routing_ipv6/expected_controller_config
+++ b/src/test/zones/evpn/exitnode_local_routing_ipv6/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/exitnode_primary/expected_controller_config b/src/test/zones/evpn/exitnode_primary/expected_controller_config
index 056b731f454e..4745ac283464 100644
--- a/src/test/zones/evpn/exitnode_primary/expected_controller_config
+++ b/src/test/zones/evpn/exitnode_primary/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/exitnode_snat/expected_controller_config b/src/test/zones/evpn/exitnode_snat/expected_controller_config
index e7923027f01e..42fe02fc232b 100644
--- a/src/test/zones/evpn/exitnode_snat/expected_controller_config
+++ b/src/test/zones/evpn/exitnode_snat/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/exitnodenullroute/expected_controller_config b/src/test/zones/evpn/exitnodenullroute/expected_controller_config
index df5dc4bd7ae3..f7482cb4dab1 100644
--- a/src/test/zones/evpn/exitnodenullroute/expected_controller_config
+++ b/src/test/zones/evpn/exitnodenullroute/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/frr_local_merge/expected_controller_config b/src/test/zones/evpn/frr_local_merge/expected_controller_config
index 30e5fd0bb7e9..2e9bd3a8b5ad 100644
--- a/src/test/zones/evpn/frr_local_merge/expected_controller_config
+++ b/src/test/zones/evpn/frr_local_merge/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/frr_local_merge_router_without_exit/expected_controller_config b/src/test/zones/evpn/frr_local_merge_router_without_exit/expected_controller_config
index fffd4b8ab52e..d4065f7a4379 100644
--- a/src/test/zones/evpn/frr_local_merge_router_without_exit/expected_controller_config
+++ b/src/test/zones/evpn/frr_local_merge_router_without_exit/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/ipv4/expected_controller_config b/src/test/zones/evpn/ipv4/expected_controller_config
index 0c6cc0939d15..59c03f5416c5 100644
--- a/src/test/zones/evpn/ipv4/expected_controller_config
+++ b/src/test/zones/evpn/ipv4/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
@@ -40,5 +44,11 @@ exit
route-map MAP_VTEP_OUT permit 1
exit
!
+! Begin user FRR config from ./zones/evpn/ipv4/frr.conf.d/10-custom.conf
+!
+ip prefix-list CUSTOM seq 10 permit 203.0.113.0/24
+!
+! End user FRR config from ./zones/evpn/ipv4/frr.conf.d/10-custom.conf
+!
line vty
!
diff --git a/src/test/zones/evpn/ipv4/frr.conf.d/00-empty.conf b/src/test/zones/evpn/ipv4/frr.conf.d/00-empty.conf
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/src/test/zones/evpn/ipv4/frr.conf.d/10-custom.conf b/src/test/zones/evpn/ipv4/frr.conf.d/10-custom.conf
new file mode 100644
index 000000000000..8408174b4c4c
--- /dev/null
+++ b/src/test/zones/evpn/ipv4/frr.conf.d/10-custom.conf
@@ -0,0 +1 @@
+ip prefix-list CUSTOM seq 10 permit 203.0.113.0/24
diff --git a/src/test/zones/evpn/ipv4ipv6/expected_controller_config b/src/test/zones/evpn/ipv4ipv6/expected_controller_config
index 0c6cc0939d15..b57707fd52ed 100644
--- a/src/test/zones/evpn/ipv4ipv6/expected_controller_config
+++ b/src/test/zones/evpn/ipv4ipv6/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/ipv4ipv6nogateway/expected_controller_config b/src/test/zones/evpn/ipv4ipv6nogateway/expected_controller_config
index 0c6cc0939d15..b57707fd52ed 100644
--- a/src/test/zones/evpn/ipv4ipv6nogateway/expected_controller_config
+++ b/src/test/zones/evpn/ipv4ipv6nogateway/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/ipv6/expected_controller_config b/src/test/zones/evpn/ipv6/expected_controller_config
index 0c6cc0939d15..b57707fd52ed 100644
--- a/src/test/zones/evpn/ipv6/expected_controller_config
+++ b/src/test/zones/evpn/ipv6/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/ipv6underlay/expected_controller_config b/src/test/zones/evpn/ipv6underlay/expected_controller_config
index 038fec7ba9fc..79518a4065eb 100644
--- a/src/test/zones/evpn/ipv6underlay/expected_controller_config
+++ b/src/test/zones/evpn/ipv6underlay/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/isis/expected_controller_config b/src/test/zones/evpn/isis/expected_controller_config
index b8285a1af4dd..d2bb0d582248 100644
--- a/src/test/zones/evpn/isis/expected_controller_config
+++ b/src/test/zones/evpn/isis/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/isis_loopback/expected_controller_config b/src/test/zones/evpn/isis_loopback/expected_controller_config
index 54a9e79cbcba..e1360722987a 100644
--- a/src/test/zones/evpn/isis_loopback/expected_controller_config
+++ b/src/test/zones/evpn/isis_loopback/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/isis_standalone/expected_controller_config b/src/test/zones/evpn/isis_standalone/expected_controller_config
index 0a95b4f43603..bdf138342d0b 100644
--- a/src/test/zones/evpn/isis_standalone/expected_controller_config
+++ b/src/test/zones/evpn/isis_standalone/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/multipath_relax/expected_controller_config b/src/test/zones/evpn/multipath_relax/expected_controller_config
index 0cca068a8ba1..e4f5fe8886ec 100644
--- a/src/test/zones/evpn/multipath_relax/expected_controller_config
+++ b/src/test/zones/evpn/multipath_relax/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/multiplezones/expected_controller_config b/src/test/zones/evpn/multiplezones/expected_controller_config
index 73689a4ccd60..db3fbe71f84d 100644
--- a/src/test/zones/evpn/multiplezones/expected_controller_config
+++ b/src/test/zones/evpn/multiplezones/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/openfabric_fabric/expected_controller_config b/src/test/zones/evpn/openfabric_fabric/expected_controller_config
index 153cc2f58830..6cf423da331e 100644
--- a/src/test/zones/evpn/openfabric_fabric/expected_controller_config
+++ b/src/test/zones/evpn/openfabric_fabric/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/openfabric_fabric_ipv6/expected_controller_config b/src/test/zones/evpn/openfabric_fabric_ipv6/expected_controller_config
index fc6ebeb63b14..891d5d7d3250 100644
--- a/src/test/zones/evpn/openfabric_fabric_ipv6/expected_controller_config
+++ b/src/test/zones/evpn/openfabric_fabric_ipv6/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/openfabric_fabric_ipv6_only/expected_controller_config b/src/test/zones/evpn/openfabric_fabric_ipv6_only/expected_controller_config
index f3f633a9ebdf..4d1a4a1f9c8f 100644
--- a/src/test/zones/evpn/openfabric_fabric_ipv6_only/expected_controller_config
+++ b/src/test/zones/evpn/openfabric_fabric_ipv6_only/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/ospf_fabric/expected_controller_config b/src/test/zones/evpn/ospf_fabric/expected_controller_config
index 554d71c28595..292bfa03594f 100644
--- a/src/test/zones/evpn/ospf_fabric/expected_controller_config
+++ b/src/test/zones/evpn/ospf_fabric/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/routemap/expected_controller_config b/src/test/zones/evpn/routemap/expected_controller_config
index 2cec1c34634c..e1e79b9fb6b9 100644
--- a/src/test/zones/evpn/routemap/expected_controller_config
+++ b/src/test/zones/evpn/routemap/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/routemap_exit_node/expected_controller_config b/src/test/zones/evpn/routemap_exit_node/expected_controller_config
index 1220e0151bab..4f06d7760d91 100644
--- a/src/test/zones/evpn/routemap_exit_node/expected_controller_config
+++ b/src/test/zones/evpn/routemap_exit_node/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/routemap_prefix_list/expected_controller_config b/src/test/zones/evpn/routemap_prefix_list/expected_controller_config
index cb912dc8ddc5..c6b6fd2f27e1 100644
--- a/src/test/zones/evpn/routemap_prefix_list/expected_controller_config
+++ b/src/test/zones/evpn/routemap_prefix_list/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/rt_import/expected_controller_config b/src/test/zones/evpn/rt_import/expected_controller_config
index 2476822dfa58..23dc7492b287 100644
--- a/src/test/zones/evpn/rt_import/expected_controller_config
+++ b/src/test/zones/evpn/rt_import/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
diff --git a/src/test/zones/evpn/vxlanport/expected_controller_config b/src/test/zones/evpn/vxlanport/expected_controller_config
index 0c6cc0939d15..b57707fd52ed 100644
--- a/src/test/zones/evpn/vxlanport/expected_controller_config
+++ b/src/test/zones/evpn/vxlanport/expected_controller_config
@@ -1,3 +1,7 @@
+! This file is generated by Proxmox VE SDN.
+! Do not edit directly; changes will be overwritten.
+! For simple custom FRR additions, use /etc/frr/frr.conf.d/*.conf.
+!
frr version 10.6.1
frr defaults datacenter
hostname localhost
--
2.47.3
prev parent reply other threads:[~2026-07-01 10:31 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-01 10:30 [RFC network 0/2] sdn: frr: add append-only custom user config Gabriel Goller
2026-07-01 10:30 ` [PATCH pve-network 1/2] sdn: frr: add append-only custom frr config Gabriel Goller
2026-07-01 10:30 ` Gabriel Goller [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=20260701103051.119422-3-g.goller@proxmox.com \
--to=g.goller@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