From: Gabriel Goller <g.goller@proxmox.com>
To: Hannes Laimer <h.laimer@proxmox.com>, pve-devel@lists.proxmox.com
Subject: Re: [PATCH docs/gui-tests/manager/network/proxmox{-ve-rs,-perl-rs} v3 00/13] Add IS-IS protocol to fabrics
Date: Mon, 31 Aug 2026 14:59:13 +0200 [thread overview]
Message-ID: <apV6QrFXmh-lFJIF@luna.proxmox.com> (raw)
In-Reply-To: <apVvx7r1sXu9fwVI@luna.proxmox.com>
On 31.08.2026 14:27, Gabriel Goller wrote:
> On 31.08.2026 10:48, Hannes Laimer wrote:
> > Aside from these very tiny nits/questions, looks very good to me:
> > - could we have the same `network_type`-nob here that we introduced for
> > OSPF?
>
> Yes, makes sense. ISIS supports network-type broadcast (unlike openfabric) and
> even multi-access (e.g. multiple devices behind a switch).
Oh, no wait I won't be adding this. ISIS only has broadcast and point-to-point
available, and the default is broadcast. We use broadcast when an interface ip
is set and point-to-point when no ip is set.
> > - the warning in the UI could be warpped in a `gettext()`
>
> Agree.
>
> > - could we put `isisd => 1` behind an IS-IS fabric presence check? i
> > guess that could break setups that have it enabled manually though..
>
> Hmm you're right I missed this. I somehow thought we always have it enabled like
> bgpd, but turns out the user needs to manually enable it.
>
> What if we set it to 0 and add something like this:
>
> diff --git a/src/PVE/Network/SDN.pm b/src/PVE/Network/SDN.pm
> index 33a3cf3524..8737e187cf 100644
> --- a/src/PVE/Network/SDN.pm
> +++ b/src/PVE/Network/SDN.pm
> @@ -462,7 +462,7 @@ sub generate_frr_raw_config {
> );
> }
>
> -=head3 get_frr_daemon_status(\%fabric_config)
> +=head3 get_frr_daemon_status(\%fabric_config, \%running_config)
>
> Returns a hash that indicates which FRR daemons, that are managed by SDN, should
> be enabled / disabled.
> @@ -470,9 +470,20 @@ =head3 get_frr_daemon_status(\%fabric_config, \%running_config)
> =cut
>
> sub get_frr_daemon_status {
> - my ($fabric_config) = @_;
> -
> - return PVE::Network::SDN::Fabrics::get_frr_daemon_status($fabric_config);
> + my ($fabric_config, $running_config) = @_;
> +
> + my $daemon_status = PVE::Network::SDN::Fabrics::get_frr_daemon_status($fabric_config);
> + my $nodename = PVE::INotify::nodename();
> +
> + for my $controller (values %{ $running_config->{controllers}->{ids} // {} }) {
> + next if $controller->{type} ne 'isis';
> + next if $controller->{node} ne $nodename;
> +
> + $daemon_status->{isisd} = 1;
> + last;
> + }
> +
> + return $daemon_status;
> }
>
>
> > Consider this:
> >
> > Tested-by: Hannes Laimer <h.laimer@proxmox.com>
> > Reviewed-by: Hannes Laimer <h.laimer@proxmox.com>
>
> Thanks for the review!
>
> > On 2026-08-28 13:32, Gabriel Goller wrote:
> > > As part of our effort to deprecate the existing controllers and transition
> > > toward a fabric-based architecture, we are introducing an IS-IS fabric. To
> > > centralize all routing protocols, we plan to consolidate them under the
> > > "Fabrics" sidebar menu. Additionally, we aim to generate all routing protocol
> > > configurations in a unified location using Rust.
> > >
> > > Following the integration of OpenFabric and OSPF, the next logical step is to
> > > migrate the IS-IS controller to the fabrics framework.
> > >
> > > This patch series adds an IS-IS Fabric option to the "Fabrics" menu while
> > > retaining the original IS-IS controller for backward compatibility. Since the
> > > two do not interfere, we will include a warning recommending the use of the new
> > > IS-IS Fabrics instead. The primary difference between the IS-IS Controller and
> > > the IS-IS Fabric is that the Fabric does not automatically redistribute
> > > connected routes into the Link State DB. This change is intentional, as we
> > > intend to implement a more advanced redistribution and route-map mechanism in
> > > the future, rather than relying on a simple checkbox. Users who need to
> > > redistribute connected routes with the new IS-IS Fabrics can do so by manually
> > > adding the appropriate FRR statement to the /etc/frr/frr.conf.local file.
> > >
> > > Changelog:
> > > v2:
> > > * rebase ontop of master
> > > v1:
> > > * rebase ontop of template series
> > >
> > > [snip]
next prev parent reply other threads:[~2026-08-31 12:59 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-28 11:32 [PATCH docs/gui-tests/manager/network/proxmox{-ve-rs,-perl-rs} v3 00/13] Add IS-IS protocol to fabrics Gabriel Goller
2026-08-28 11:32 ` [PATCH proxmox-ve-rs v3 01/13] frr: add fabric properties to ISIS types and rename domain Gabriel Goller
2026-08-28 11:32 ` [PATCH proxmox-ve-rs v3 02/13] ve-config: add IS-IS fabric config parsing and frr config generation Gabriel Goller
2026-08-28 11:32 ` [PATCH proxmox-ve-rs v3 03/13] ve-config: add integration tests for IS-IS fabrics Gabriel Goller
2026-08-28 11:32 ` [PATCH proxmox-ve-rs v3 04/13] ve-config: add IS-IS status deserialization types Gabriel Goller
2026-08-28 11:32 ` [PATCH proxmox-ve-rs v3 05/13] frr: accept legacy ISIS domain field Gabriel Goller
2026-08-28 11:32 ` [PATCH proxmox-perl-rs v3 06/13] pve-rs: fabrics: add IS-IS protocol ifupdown config generation Gabriel Goller
2026-08-28 11:32 ` [PATCH proxmox-perl-rs v3 07/13] sdn: add IS-IS fabric status reporting Gabriel Goller
2026-08-28 11:32 ` [PATCH pve-network v3 08/13] fabrics: add IS-IS api types Gabriel Goller
2026-08-31 8:39 ` Hannes Laimer
2026-08-31 13:29 ` Gabriel Goller
2026-09-01 7:42 ` Hannes Laimer
2026-08-28 11:32 ` [PATCH pve-network v3 09/13] sdn: controllers: rename isis domain to fabric_id Gabriel Goller
2026-08-28 11:32 ` [PATCH pve-manager v3 10/13] fabrics: add IS-IS panels Gabriel Goller
2026-08-28 11:32 ` [PATCH pve-manager v3 11/13] sdn: add warning about IS-IS controller deprecation Gabriel Goller
2026-08-28 11:32 ` [PATCH pve-docs v3 12/13] sdn: add section about IS-IS fabric Gabriel Goller
2026-08-28 11:32 ` [PATCH pve-gui-tests v3 13/13] fabrics: add screenshots for IS-IS fabric and nodes Gabriel Goller
2026-08-31 8:48 ` [PATCH docs/gui-tests/manager/network/proxmox{-ve-rs,-perl-rs} v3 00/13] Add IS-IS protocol to fabrics Hannes Laimer
2026-08-31 12:27 ` Gabriel Goller
2026-08-31 12:59 ` Gabriel Goller [this message]
2026-09-01 7:09 ` Hannes Laimer
2026-09-01 8:33 ` Gabriel Goller
2026-09-01 8:54 ` Hannes Laimer
2026-09-01 8:58 ` Stefan Hanreich
2026-09-01 9:59 ` Gabriel Goller
2026-09-01 10:26 ` 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=apV6QrFXmh-lFJIF@luna.proxmox.com \
--to=g.goller@proxmox.com \
--cc=h.laimer@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