From: Gabriel Goller <g.goller@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH network 2/4] sdn: add trailing newline in frr config
Date: Fri, 19 Sep 2025 11:41:18 +0200 [thread overview]
Message-ID: <20250919094122.73373-7-g.goller@proxmox.com> (raw)
In-Reply-To: <20250919094122.73373-1-g.goller@proxmox.com>
Add trailing newline to the end of frr config, it looks better this way.
Signed-off-by: Gabriel Goller <g.goller@proxmox.com>
---
src/PVE/Network/SDN/Frr.pm | 2 +-
.../zones/evpn/advertise_subnets/expected_controller_config | 2 +-
.../evpn/disable_arp_nd_suppression/expected_controller_config | 2 +-
src/test/zones/evpn/ebgp/expected_controller_config | 2 +-
src/test/zones/evpn/ebgp_loopback/expected_controller_config | 2 +-
src/test/zones/evpn/exitnode/expected_controller_config | 2 +-
.../evpn/exitnode_local_routing/expected_controller_config | 2 +-
src/test/zones/evpn/exitnode_primary/expected_controller_config | 2 +-
src/test/zones/evpn/exitnode_snat/expected_controller_config | 2 +-
.../zones/evpn/exitnodenullroute/expected_controller_config | 2 +-
src/test/zones/evpn/ipv4/expected_controller_config | 2 +-
src/test/zones/evpn/ipv4ipv6/expected_controller_config | 2 +-
.../zones/evpn/ipv4ipv6nogateway/expected_controller_config | 2 +-
src/test/zones/evpn/ipv6/expected_controller_config | 2 +-
src/test/zones/evpn/ipv6underlay/expected_controller_config | 2 +-
src/test/zones/evpn/isis/expected_controller_config | 2 +-
src/test/zones/evpn/isis_loopback/expected_controller_config | 2 +-
src/test/zones/evpn/isis_standalone/expected_controller_config | 2 +-
src/test/zones/evpn/multipath_relax/expected_controller_config | 2 +-
src/test/zones/evpn/multiplezones/expected_controller_config | 2 +-
.../zones/evpn/openfabric_fabric/expected_controller_config | 2 +-
src/test/zones/evpn/ospf_fabric/expected_controller_config | 2 +-
src/test/zones/evpn/rt_import/expected_controller_config | 2 +-
src/test/zones/evpn/vxlanport/expected_controller_config | 2 +-
24 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/src/PVE/Network/SDN/Frr.pm b/src/PVE/Network/SDN/Frr.pm
index 32ea37d813fb..ff46b6631328 100644
--- a/src/PVE/Network/SDN/Frr.pm
+++ b/src/PVE/Network/SDN/Frr.pm
@@ -222,7 +222,7 @@ sub raw_config_to_string {
push @final_config, @$raw_config;
push @final_config, (
- "!", "line vty", "!",
+ "!", "line vty", "!", "",
);
return join("\n", @final_config);
diff --git a/src/test/zones/evpn/advertise_subnets/expected_controller_config b/src/test/zones/evpn/advertise_subnets/expected_controller_config
index 40d08465b1e2..08e47e86a2ec 100644
--- a/src/test/zones/evpn/advertise_subnets/expected_controller_config
+++ b/src/test/zones/evpn/advertise_subnets/expected_controller_config
@@ -54,4 +54,4 @@ route-map MAP_VTEP_OUT permit 1
exit
!
line vty
-!
\ No newline at end of file
+!
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 4b5d628b65e2..5458aa17b854 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
@@ -41,4 +41,4 @@ route-map MAP_VTEP_OUT permit 1
exit
!
line vty
-!
\ No newline at end of file
+!
diff --git a/src/test/zones/evpn/ebgp/expected_controller_config b/src/test/zones/evpn/ebgp/expected_controller_config
index 1629a2deb454..410e8af3e7b8 100644
--- a/src/test/zones/evpn/ebgp/expected_controller_config
+++ b/src/test/zones/evpn/ebgp/expected_controller_config
@@ -58,4 +58,4 @@ route-map MAP_VTEP_OUT permit 1
exit
!
line vty
-!
\ No newline at end of file
+!
diff --git a/src/test/zones/evpn/ebgp_loopback/expected_controller_config b/src/test/zones/evpn/ebgp_loopback/expected_controller_config
index fc8901de6173..2358937ffbf6 100644
--- a/src/test/zones/evpn/ebgp_loopback/expected_controller_config
+++ b/src/test/zones/evpn/ebgp_loopback/expected_controller_config
@@ -70,4 +70,4 @@ exit
ip protocol bgp route-map correct_src
!
line vty
-!
\ No newline at end of file
+!
diff --git a/src/test/zones/evpn/exitnode/expected_controller_config b/src/test/zones/evpn/exitnode/expected_controller_config
index 02bb7609431b..631f3acd7b62 100644
--- a/src/test/zones/evpn/exitnode/expected_controller_config
+++ b/src/test/zones/evpn/exitnode/expected_controller_config
@@ -74,4 +74,4 @@ route-map MAP_VTEP_OUT permit 1
exit
!
line vty
-!
\ No newline at end of file
+!
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 96fb26d6a80f..3da3a79a44b3 100644
--- a/src/test/zones/evpn/exitnode_local_routing/expected_controller_config
+++ b/src/test/zones/evpn/exitnode_local_routing/expected_controller_config
@@ -60,4 +60,4 @@ exit
ip route 10.0.0.0/24 10.255.255.2 xvrf_myzone
!
line vty
-!
\ No newline at end of file
+!
diff --git a/src/test/zones/evpn/exitnode_primary/expected_controller_config b/src/test/zones/evpn/exitnode_primary/expected_controller_config
index 7ea32db093cf..d3d3da37803b 100644
--- a/src/test/zones/evpn/exitnode_primary/expected_controller_config
+++ b/src/test/zones/evpn/exitnode_primary/expected_controller_config
@@ -76,4 +76,4 @@ route-map MAP_VTEP_OUT permit 3
exit
!
line vty
-!
\ No newline at end of file
+!
diff --git a/src/test/zones/evpn/exitnode_snat/expected_controller_config b/src/test/zones/evpn/exitnode_snat/expected_controller_config
index 02bb7609431b..631f3acd7b62 100644
--- a/src/test/zones/evpn/exitnode_snat/expected_controller_config
+++ b/src/test/zones/evpn/exitnode_snat/expected_controller_config
@@ -74,4 +74,4 @@ route-map MAP_VTEP_OUT permit 1
exit
!
line vty
-!
\ No newline at end of file
+!
diff --git a/src/test/zones/evpn/exitnodenullroute/expected_controller_config b/src/test/zones/evpn/exitnodenullroute/expected_controller_config
index a36da27ca756..6b9fc01e67c8 100644
--- a/src/test/zones/evpn/exitnodenullroute/expected_controller_config
+++ b/src/test/zones/evpn/exitnodenullroute/expected_controller_config
@@ -117,4 +117,4 @@ route-map MAP_VTEP_OUT permit 1
exit
!
line vty
-!
\ No newline at end of file
+!
diff --git a/src/test/zones/evpn/ipv4/expected_controller_config b/src/test/zones/evpn/ipv4/expected_controller_config
index 4b5d628b65e2..5458aa17b854 100644
--- a/src/test/zones/evpn/ipv4/expected_controller_config
+++ b/src/test/zones/evpn/ipv4/expected_controller_config
@@ -41,4 +41,4 @@ route-map MAP_VTEP_OUT permit 1
exit
!
line vty
-!
\ No newline at end of file
+!
diff --git a/src/test/zones/evpn/ipv4ipv6/expected_controller_config b/src/test/zones/evpn/ipv4ipv6/expected_controller_config
index 4b5d628b65e2..5458aa17b854 100644
--- a/src/test/zones/evpn/ipv4ipv6/expected_controller_config
+++ b/src/test/zones/evpn/ipv4ipv6/expected_controller_config
@@ -41,4 +41,4 @@ route-map MAP_VTEP_OUT permit 1
exit
!
line vty
-!
\ No newline at end of file
+!
diff --git a/src/test/zones/evpn/ipv4ipv6nogateway/expected_controller_config b/src/test/zones/evpn/ipv4ipv6nogateway/expected_controller_config
index 4b5d628b65e2..5458aa17b854 100644
--- a/src/test/zones/evpn/ipv4ipv6nogateway/expected_controller_config
+++ b/src/test/zones/evpn/ipv4ipv6nogateway/expected_controller_config
@@ -41,4 +41,4 @@ route-map MAP_VTEP_OUT permit 1
exit
!
line vty
-!
\ No newline at end of file
+!
diff --git a/src/test/zones/evpn/ipv6/expected_controller_config b/src/test/zones/evpn/ipv6/expected_controller_config
index 4b5d628b65e2..5458aa17b854 100644
--- a/src/test/zones/evpn/ipv6/expected_controller_config
+++ b/src/test/zones/evpn/ipv6/expected_controller_config
@@ -41,4 +41,4 @@ route-map MAP_VTEP_OUT permit 1
exit
!
line vty
-!
\ No newline at end of file
+!
diff --git a/src/test/zones/evpn/ipv6underlay/expected_controller_config b/src/test/zones/evpn/ipv6underlay/expected_controller_config
index d7c693a2e213..7b9d73784482 100644
--- a/src/test/zones/evpn/ipv6underlay/expected_controller_config
+++ b/src/test/zones/evpn/ipv6underlay/expected_controller_config
@@ -41,4 +41,4 @@ route-map MAP_VTEP_OUT permit 1
exit
!
line vty
-!
\ No newline at end of file
+!
diff --git a/src/test/zones/evpn/isis/expected_controller_config b/src/test/zones/evpn/isis/expected_controller_config
index efe2d43cd583..77499476570e 100644
--- a/src/test/zones/evpn/isis/expected_controller_config
+++ b/src/test/zones/evpn/isis/expected_controller_config
@@ -54,4 +54,4 @@ route-map MAP_VTEP_OUT permit 1
exit
!
line vty
-!
\ No newline at end of file
+!
diff --git a/src/test/zones/evpn/isis_loopback/expected_controller_config b/src/test/zones/evpn/isis_loopback/expected_controller_config
index b9d9c2969421..4cdfb9354c8d 100644
--- a/src/test/zones/evpn/isis_loopback/expected_controller_config
+++ b/src/test/zones/evpn/isis_loopback/expected_controller_config
@@ -55,4 +55,4 @@ route-map MAP_VTEP_OUT permit 1
exit
!
line vty
-!
\ No newline at end of file
+!
diff --git a/src/test/zones/evpn/isis_standalone/expected_controller_config b/src/test/zones/evpn/isis_standalone/expected_controller_config
index bab5ec9119a2..0739cb5e1b3a 100644
--- a/src/test/zones/evpn/isis_standalone/expected_controller_config
+++ b/src/test/zones/evpn/isis_standalone/expected_controller_config
@@ -18,4 +18,4 @@ router isis isis1
exit
!
line vty
-!
\ No newline at end of file
+!
diff --git a/src/test/zones/evpn/multipath_relax/expected_controller_config b/src/test/zones/evpn/multipath_relax/expected_controller_config
index 7dff84cdd057..a72c48167161 100644
--- a/src/test/zones/evpn/multipath_relax/expected_controller_config
+++ b/src/test/zones/evpn/multipath_relax/expected_controller_config
@@ -53,4 +53,4 @@ route-map MAP_VTEP_OUT permit 1
exit
!
line vty
-!
\ No newline at end of file
+!
diff --git a/src/test/zones/evpn/multiplezones/expected_controller_config b/src/test/zones/evpn/multiplezones/expected_controller_config
index 849d36a07e35..f7df034c5c34 100644
--- a/src/test/zones/evpn/multiplezones/expected_controller_config
+++ b/src/test/zones/evpn/multiplezones/expected_controller_config
@@ -51,4 +51,4 @@ route-map MAP_VTEP_OUT permit 1
exit
!
line vty
-!
\ No newline at end of file
+!
diff --git a/src/test/zones/evpn/openfabric_fabric/expected_controller_config b/src/test/zones/evpn/openfabric_fabric/expected_controller_config
index cff540311c8b..ad13359b23d4 100644
--- a/src/test/zones/evpn/openfabric_fabric/expected_controller_config
+++ b/src/test/zones/evpn/openfabric_fabric/expected_controller_config
@@ -70,4 +70,4 @@ ip protocol openfabric route-map pve_openfabric
!
!
line vty
-!
\ No newline at end of file
+!
diff --git a/src/test/zones/evpn/ospf_fabric/expected_controller_config b/src/test/zones/evpn/ospf_fabric/expected_controller_config
index fd3651e1275c..c124c3aa33c7 100644
--- a/src/test/zones/evpn/ospf_fabric/expected_controller_config
+++ b/src/test/zones/evpn/ospf_fabric/expected_controller_config
@@ -64,4 +64,4 @@ ip protocol ospf route-map pve_ospf
!
!
line vty
-!
\ No newline at end of file
+!
diff --git a/src/test/zones/evpn/rt_import/expected_controller_config b/src/test/zones/evpn/rt_import/expected_controller_config
index a4c0c6605d70..8dc74560e66c 100644
--- a/src/test/zones/evpn/rt_import/expected_controller_config
+++ b/src/test/zones/evpn/rt_import/expected_controller_config
@@ -47,4 +47,4 @@ route-map MAP_VTEP_OUT permit 1
exit
!
line vty
-!
\ No newline at end of file
+!
diff --git a/src/test/zones/evpn/vxlanport/expected_controller_config b/src/test/zones/evpn/vxlanport/expected_controller_config
index 4b5d628b65e2..5458aa17b854 100644
--- a/src/test/zones/evpn/vxlanport/expected_controller_config
+++ b/src/test/zones/evpn/vxlanport/expected_controller_config
@@ -41,4 +41,4 @@ route-map MAP_VTEP_OUT permit 1
exit
!
line vty
-!
\ No newline at end of file
+!
--
2.47.3
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
next prev parent reply other threads:[~2025-09-19 9:41 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-19 9:41 [pve-devel] [RFC network/ve-rs 0/8] Template-based FRR config generation Gabriel Goller
2025-09-19 9:41 ` [pve-devel] [PATCH ve-rs 1/4] frr: add templates and structs to represent the frr config Gabriel Goller
2025-09-19 9:41 ` [pve-devel] [PATCH ve-rs 2/4] sdn-types: forward serialize to display for NET Gabriel Goller
2025-09-19 9:41 ` [pve-devel] [PATCH ve-rs 3/4] ve-config: fabrics: use new proxmox-frr structs to generate frr config Gabriel Goller
2025-09-19 9:41 ` [pve-devel] [PATCH ve-rs 4/4] tests: always prepend the frr delimiter/comment "!" to the block Gabriel Goller
2025-09-19 9:41 ` [pve-devel] [PATCH network 1/4] sdn: remove duplicate comment line '!' in frr config Gabriel Goller
2025-09-19 9:41 ` Gabriel Goller [this message]
2025-09-19 9:41 ` [pve-devel] [PATCH network 3/4] sdn: tests: add missing comment " Gabriel Goller
2025-09-19 9:41 ` [pve-devel] [PATCH network 4/4] tests: use Test::Differences to make test assertions Gabriel Goller
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=20250919094122.73373-7-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