public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Gabriel Goller <g.goller@proxmox.com>
To: Hannes Laimer <h.laimer@proxmox.com>
Cc: 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:27:22 +0200	[thread overview]
Message-ID: <apVvx7r1sXu9fwVI@luna.proxmox.com> (raw)
In-Reply-To: <apU90jyOQ1zmRdoX@nana.intra.proxmox.com>

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).

>  - 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]




  reply	other threads:[~2026-08-31 12:27 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 [this message]
2026-08-31 12:59     ` Gabriel Goller
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=apVvx7r1sXu9fwVI@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
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal