When merging the frr.conf.local with the frr.conf, some lines cannot be
merged and we need to add custom frr config lines to the rust
configuration. Add the vec of lines and just dump them into the
template.

Co-authored-by: Stefan Hanreich <[email protected]>
Signed-off-by: Gabriel Goller <[email protected]>
---
 proxmox-frr-templates/templates/frr.conf.jinja | 3 +++
 proxmox-frr/src/ser/mod.rs                     | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/proxmox-frr-templates/templates/frr.conf.jinja 
b/proxmox-frr-templates/templates/frr.conf.jinja
index c8495b417990..6d60ad2a4c4c 100644
--- a/proxmox-frr-templates/templates/frr.conf.jinja
+++ b/proxmox-frr-templates/templates/frr.conf.jinja
@@ -4,3 +4,6 @@
 {% include "access_lists.jinja" %}
 {% include "route_maps.jinja" %}
 {% include "protocol_routemaps.jinja" %}
+{% for line in custom_frr_config %}
+{{ line }}
+{% endfor %}
diff --git a/proxmox-frr/src/ser/mod.rs b/proxmox-frr/src/ser/mod.rs
index 9aaee74d7af0..3baa0a318fb0 100644
--- a/proxmox-frr/src/ser/mod.rs
+++ b/proxmox-frr/src/ser/mod.rs
@@ -185,6 +185,9 @@ pub struct FrrConfig {
     #[builder(default)]
     #[serde(default)]
     pub access_lists: BTreeMap<AccessListName, Vec<AccessListRule>>,
+    #[builder(default)]
+    #[serde(default)]
+    pub custom_frr_config: Vec<String>,
 }
 
 #[derive(Clone, Debug, PartialEq, Eq, Default, Serialize, Deserialize)]
-- 
2.47.3




Reply via email to