[pve-devel] [PATCH pve-docs 1/1] fabrics: add initial documentation for sdn fabrics

Gabriel Goller g.goller at proxmox.com
Mon Mar 31 14:24:21 CEST 2025


On 31.03.2025 10:44, Shannon Sterz wrote:
>On Fri Mar 28, 2025 at 6:13 PM CET, Gabriel Goller wrote:
>> [snip]

I agree with everthing above.

>> +
>> +Router-ID Selection
>> +^^^^^^^^^^^^^^^^^^^
>> +
>> +Each node in a fabric needs a unique router ID, which is an IPv4 (or IPv6 in
>> +OpenFabric) address in dotted-decimal notation (e.g., 192.168.1.1).
>
>does this apply to v6 too? i've never seen IPv6 represented in dotted
>decimal notation. imo if you mention IPv6 here, you should specify it's
>representation. maybe:
>
>Each node in a fabric needs a unique router ID, which is an IPv4 address
>in dotted decimal notation (e.g. 192.168.1.1). In OpenFabric this can
>also be an IPv6 address in the typical hexadecimal representation
>separated by colons (e.g., 2001:db8::1428:57ab).

Oops, yeah I forgot this.

>> [snip]
>> +Name:: This is the name of the OpenFabric fabric and can be at most 8 characters long.
>> +
>> +Loopback Prefix:: CIDR (IPv4 or IPv6) network range (e.g., 10.0.0.0/24) used to verify that
>> +all router-IDs in the fabric are contained within this prefix.
>> +
>> +Hello Interval:: Controls how frequently (in seconds) hello packets are sent to
>> +discover and maintain connections with neighboring nodes. Lower values detect
>> +failures faster but increase network traffic. If empty, the default value will
>
>what is the default value? would it make sense to mention that here?

I decided against using default values as I wanted FRR to handle them.
We also don't set default-options in the FRR config, but just delete the
property and let FRR handle it.

Maybe I could write the: "the default FRR value will be used"?

>> +be used. This option is global on the fabric, meaning every interface on every
>> +node in this fabric will inherit this hello-interval property.
>> +
>> +[[pvesdn_openfabric_node]]
>> +On the Node
>> +^^^^^^^^^^^
>> +
>> +Node:: Select the node which will be added to the fabric. Only nodes that
>> +currently are in the cluster will be shown.
>> +
>> +Router-ID:: A unique IPv4 or IPv6 address used to generate the OpenFabric
>> +Network Entity Title (NET). Each node in the same fabric must have a different
>> +Router-ID, while a single node must use the same NET address across all fabrics
>> +(this consistency is automatically managed by {pve}).
>> +
>> +NOTE: When using IPv6 addresses, we use the last 3 segments to generate the
>> +NET. Ensure these segments differ between nodes.
>
>would it make sense to make this a `WARNING` instead of a `NOTE`? sounds
>like this is a bit more important to get right.

yep, I agree.

>> [snip]
>> +[[pvesdn_ospf_fabric]]
>> +On the Fabric
>> +^^^^^^^^^^^^^
>> +
>> +Area:: This specifies the OSPF area identifier, which can be either an integer
>> +(i32) or an IP address. Areas are a way to organize and structure OSPF networks
>
>i32 is super intuitive for Rust programmers but "32-bit signed integer"
>would be clearer to everyone else ;)

Will fix this as well.

Thanks for looking over this! The docs are still quite spare, so I hope
I'll get around adding more stuff for the next version.




More information about the pve-devel mailing list