From: Stefan Hanreich <s.hanreich@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [PATCH pve-network v2 6/9] fabrics: ospf: add redistribute to api types
Date: Wed, 13 May 2026 17:13:56 +0200 [thread overview]
Message-ID: <20260513151411.383388-7-s.hanreich@proxmox.com> (raw)
In-Reply-To: <20260513151411.383388-1-s.hanreich@proxmox.com>
Used for configuring the redistribute settings of the respective FRR
OSPF router.
Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
---
src/PVE/Network/SDN.pm | 1 +
src/PVE/Network/SDN/Fabrics.pm | 35 ++++++++++++++++++++++++++++++++++
2 files changed, 36 insertions(+)
diff --git a/src/PVE/Network/SDN.pm b/src/PVE/Network/SDN.pm
index 6735e67c..33a3cf35 100644
--- a/src/PVE/Network/SDN.pm
+++ b/src/PVE/Network/SDN.pm
@@ -515,6 +515,7 @@ sub encode_value {
|| $key eq 'peers'
|| $key eq 'allowed_ips'
|| $key eq 'secondary-controllers'
+ || $key eq 'redistribute'
) {
if (ref($value) eq 'HASH') {
return join(',', sort keys(%$value));
diff --git a/src/PVE/Network/SDN/Fabrics.pm b/src/PVE/Network/SDN/Fabrics.pm
index d98e2e27..9a384581 100644
--- a/src/PVE/Network/SDN/Fabrics.pm
+++ b/src/PVE/Network/SDN/Fabrics.pm
@@ -434,6 +434,41 @@ sub fabric_properties {
minimum => 0,
maximum => 65535,
},
+ redistribute => {
+ # coerce this value into an array before parsing (oneOf workaround)
+ type => 'array',
+ 'type-property' => 'protocol',
+ oneOf => [
+ {
+ type => 'array',
+ 'instance-types' => ['ospf'],
+ items => {
+ type => 'string',
+ format => {
+ source => {
+ type => 'string',
+ description =>
+ 'The protocol from which to redistribute routes from.',
+ enum => [
+ 'bgp',
+ 'connected',
+ 'kernel',
+ 'static',
+ ],
+ },
+ 'route-map' => {
+ type => 'string',
+ format => 'pve-sdn-route-map-id',
+ description =>
+ 'Route map to filter or transform redistributed routes from this source.',
+ optional => 1,
+ },
+ },
+ },
+ optional => 1,
+ },
+ ],
+ },
};
if ($update) {
--
2.47.3
next prev parent reply other threads:[~2026-05-13 15:15 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-13 15:13 [PATCH manager/network/proxmox-ve-rs v2 0/9] Implement route redistribution for OSPF Stefan Hanreich
2026-05-13 15:13 ` [PATCH proxmox-ve-rs v2 1/9] frr: ospf: add redistribute setting Stefan Hanreich
2026-05-13 15:13 ` [PATCH proxmox-ve-rs v2 2/9] frr-templates: render " Stefan Hanreich
2026-05-13 15:13 ` [PATCH proxmox-ve-rs v2 3/9] ve-config: add redistribute setting to ospf section config Stefan Hanreich
2026-05-13 15:13 ` [PATCH proxmox-ve-rs v2 4/9] ve-config: use constructor instead of instantiating struct Stefan Hanreich
2026-05-13 15:13 ` [PATCH proxmox-ve-rs v2 5/9] ve-config: ospf: generate redistribute config Stefan Hanreich
2026-05-13 15:13 ` Stefan Hanreich [this message]
2026-05-13 15:13 ` [PATCH pve-manager v2 7/9] ui: sdn: fabrics: add redistribution grid component Stefan Hanreich
2026-05-13 15:13 ` [PATCH pve-manager v2 8/9] ui: sdn: fabric edit: allow defining multiple tabs Stefan Hanreich
2026-05-13 15:13 ` [PATCH pve-manager v2 9/9] ui: sdn: ospf fabric: add redistribution grid to ospf fabric Stefan Hanreich
2026-05-15 5:00 ` applied: [PATCH manager/network/proxmox-ve-rs v2 0/9] Implement route redistribution for OSPF Thomas Lamprecht
2026-05-15 5:04 ` Thomas Lamprecht
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=20260513151411.383388-7-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 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.