From: Stefan Hanreich <s.hanreich@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [PATCH proxmox-ve-rs v3 09/44] frr-templates: change route maps template to adapt to new frr types
Date: Mon, 4 May 2026 13:39:06 +0200 [thread overview]
Message-ID: <20260504113943.159905-10-s.hanreich@proxmox.com> (raw)
In-Reply-To: <20260504113943.159905-1-s.hanreich@proxmox.com>
Instead of defining every potential match / set type manually under a
different name, proxmox-frr now uses the Adjacently tagged
representation for representing key/value pairs for match/set actions.
This allows simplifying the route_maps template by simply rendering
the respective key / value fields.
proxmox-frr added support for call actions and exit policies as well.
Add them to the template so they get rendered properly.
Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
---
.../templates/route_maps.jinja | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/proxmox-frr-templates/templates/route_maps.jinja b/proxmox-frr-templates/templates/route_maps.jinja
index 172c682..12c314c 100644
--- a/proxmox-frr-templates/templates/route_maps.jinja
+++ b/proxmox-frr-templates/templates/route_maps.jinja
@@ -3,17 +3,20 @@
!
route-map {{ name }} {{ routemap.action }} {{ routemap.seq }}
{% for match in routemap.matches %}
-{% if match.value.list_type == "prefixlist" %}
- match {{ match.protocol_type }} {{ match.match_type }} prefix-list {{ match.value.list_name }}
-{% elif match.value.list_type == "accesslist" %}
- match {{ match.protocol_type }} {{ match.match_type }} {{ match.value.list_name }}
-{% elif match.match_type == "next-hop" %}
- match {{ match.protocol_type }} next-hop {{ match.value }}
-{% endif %}
+ match {{ match.key }}{% if match.value is defined %}{{ " " ~ match.value }}{% endif %}
+
{% endfor %}
{% for set in routemap.sets %}
- set {{ set.set_type }} {{ set.value }}
+ set {{ set.key }}{% if set.value is defined %}{{ " " ~ set.value }}{% endif %}
+
{% endfor %}
+{% if routemap.call %}
+ call {{ routemap.call }}
+{% endif %}
+{% if routemap.exit_action %}
+ {{ routemap.exit_action.key }}{% if routemap.exit_action.value is defined %}{{ " " ~ routemap.exit_action.value }}{% endif %}
+
+{% endif %}
{% for line in routemap.custom_frr_config %}
{{ line }}
{% endfor %}
--
2.47.3
next prev parent reply other threads:[~2026-05-04 11:41 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-04 11:38 [PATCH access-control/cluster/manager/network/proxmox{-ve-rs,-perl-rs} v3 00/44] Add support for route maps / prefix lists to SDN Stefan Hanreich
2026-05-04 11:38 ` [PATCH pve-cluster v3 01/44] cfs: add 'sdn/route-maps.cfg' to observed files Stefan Hanreich
2026-05-04 11:38 ` [PATCH pve-cluster v3 02/44] cfs: add 'sdn/prefix-lists.cfg' " Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-access-control v3 03/44] permissions: add ACL path for prefix-lists and route-maps Stefan Hanreich
2026-05-04 11:39 ` [PATCH proxmox-ve-rs v3 04/44] frr: add constructor to prefix list name Stefan Hanreich
2026-05-04 11:39 ` [PATCH proxmox-ve-rs v3 05/44] sdn-types: add common route-map helper types Stefan Hanreich
2026-05-04 11:39 ` [PATCH proxmox-ve-rs v3 06/44] frr: change order type to u16 Stefan Hanreich
2026-05-04 11:39 ` [PATCH proxmox-ve-rs v3 07/44] frr: implement routemap match/set statements via adjacent tagging Stefan Hanreich
2026-05-04 11:39 ` [PATCH proxmox-ve-rs v3 08/44] frr: implement support for call and exit action Stefan Hanreich
2026-05-04 11:39 ` Stefan Hanreich [this message]
2026-05-04 11:39 ` [PATCH proxmox-ve-rs v3 10/44] ve-config: fabrics: adapt frr config generation Stefan Hanreich
2026-05-04 11:39 ` [PATCH proxmox-ve-rs v3 11/44] ve-config: add prefix list section config Stefan Hanreich
2026-05-04 11:39 ` [PATCH proxmox-ve-rs v3 12/44] ve-config: frr: implement frr config generation for prefix lists Stefan Hanreich
2026-05-04 11:39 ` [PATCH proxmox-ve-rs v3 13/44] ve-config: add route map section config Stefan Hanreich
2026-05-04 11:39 ` [PATCH proxmox-ve-rs v3 14/44] ve-config: frr: implement frr config generation for route maps Stefan Hanreich
2026-05-04 11:39 ` [PATCH proxmox-ve-rs v3 15/44] ve-config: add prefix lists integration tests Stefan Hanreich
2026-05-04 11:39 ` [PATCH proxmox-ve-rs v3 16/44] ve-config: add route maps " Stefan Hanreich
2026-05-04 11:39 ` [PATCH proxmox-perl-rs v3 17/44] pve-rs: sdn: add route maps module Stefan Hanreich
2026-05-04 11:39 ` [PATCH proxmox-perl-rs v3 18/44] pve-rs: sdn: add prefix lists module Stefan Hanreich
2026-05-04 11:39 ` [PATCH proxmox-perl-rs v3 19/44] sdn: add prefix list / route maps to frr config generation helper Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-network v3 20/44] controller: bgp: evpn: adapt to new match / set frr config syntax Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-network v3 21/44] sdn: add prefix lists module Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-network v3 22/44] sdn: add route map module Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-network v3 23/44] api2: add prefix list module Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-network v3 24/44] api2: add route maps module Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-network v3 25/44] api2: add route map module Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-network v3 26/44] api2: add route map entry module Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-network v3 27/44] evpn controller: add route_map_{in,out} parameter Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-network v3 28/44] bgp controller: allow configuring custom route maps Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-network v3 29/44] sdn: change detection for route maps / prefix lists Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-network v3 30/44] sdn: generate route map / prefix list configuration on sdn apply Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-network v3 31/44] sdn: frr: consider route maps and prefix lists in dry-run Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-network v3 32/44] fabrics: ospf: openfabric: add route_filter property Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-network v3 33/44] tests: add simple route map test case Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-network v3 34/44] tests: add bgp evpn route map/prefix list testcase Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-network v3 35/44] tests: add route map with prefix " Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-network v3 36/44] tests: add exit node with custom route map testcase Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-manager v3 37/44] ui: sdn: add route map selector Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-manager v3 38/44] ui: sdn: add prefix list selector Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-manager v3 39/44] ui: sdn: add panel for managing prefix lists Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-manager v3 40/44] ui: sdn: add panel for managing route map entries Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-manager v3 41/44] ui: sdn: bgp controller: allow configuring route maps Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-manager v3 42/44] ui: sdn: evpn " Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-manager v3 43/44] ui: sdn: openfabric: add route filter Stefan Hanreich
2026-05-04 11:39 ` [PATCH pve-manager v3 44/44] ui: sdn: ospf: add route filter setting Stefan Hanreich
2026-05-04 16:37 ` superseded: [PATCH access-control/cluster/manager/network/proxmox{-ve-rs,-perl-rs} v3 00/44] Add support for route maps / prefix lists to SDN Stefan Hanreich
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=20260504113943.159905-10-s.hanreich@proxmox.com \
--to=s.hanreich@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