[pve-devel] [PATCH proxmox-ve-rs v4 16/22] config: sdn: fabrics: add section config
Gabriel Goller
g.goller at proxmox.com
Fri Jul 11 10:33:14 CEST 2025
>> [snip]
>> diff --git a/proxmox-ve-config/src/sdn/fabric/section_config/mod.rs b/proxmox-ve-config/src/sdn/fabric/section_config/mod.rs
>> index 7db378837eb1..174ea4d126c5 100644
>> --- a/proxmox-ve-config/src/sdn/fabric/section_config/mod.rs
>> +++ b/proxmox-ve-config/src/sdn/fabric/section_config/mod.rs
>> @@ -2,3 +2,108 @@ pub mod fabric;
>> pub mod interface;
>> pub mod node;
>> pub mod protocol;
>> +
>> +use const_format::concatcp;
>> +use serde::{Deserialize, Serialize};
>> +
>> +use crate::sdn::fabric::section_config::{
>> + fabric::{Fabric, FabricSection, FABRIC_ID_REGEX_STR},
>> + node::{Node, NodeSection, NODE_ID_REGEX_STR},
>> + protocol::{
>> + openfabric::{OpenfabricNodeProperties, OpenfabricProperties},
>> + ospf::{OspfNodeProperties, OspfProperties},
>> + },
>> +};
>> +
>> +use proxmox_schema::{api, const_regex, ApiStringFormat};
>> +
>> +/// Represents a value that can be one of two given types.
>> +///
>> +/// This is used for the fabrics section config, where values could either be Fabrics or Nodes. It
>
>Then please make it `Fabric(F)` and `Node(N)` instead of `Left` and
>`Right`...
>
>A local helper type with a completely generic name and variant names is
>just confusing otherwise.
Agree, changed it.
>> +/// can be used to split the sections contained in the config into their concrete types safely.
>> +pub enum Either<L, R> {
>> + Left(L),
>> + Right(R),
>> +}
>> +
>> +impl From<Section> for Either<Fabric, Node> {
>> + fn from(section: Section) -> Self {
>> + match section {
>> + Section::OpenfabricFabric(fabric_section) => Self::Left(fabric_section.into()),
>> + Section::OspfFabric(fabric_section) => Self::Left(fabric_section.into()),
>> + Section::OpenfabricNode(node_section) => Self::Right(node_section.into()),
>> + Section::OspfNode(node_section) => Self::Right(node_section.into()),
>> + }
>> + }
>> +}
>> +
>> [snip]
Thanks!
More information about the pve-devel
mailing list