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 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.