currently we place the custom stuff from `frr.conf.local` at the top of
`frr.conf`. I don't think it should be a problem having it at the
bottom, but I'm not super sure if there maybe exist some options we
don't merge that care about the ordering. I couldn't find any, but in
case I missed something, wanted to note it here.

On 2026-02-03 17:01, Gabriel Goller wrote:
> 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)]




Reply via email to