Hi Dietmar,
I'll work next week on /etc/pve/networks.cfg,

I have take time to polish the configs file, I'll would to have some feedback
before coding.


1)  add transportzone in /etc/network/interface.
    only on physical interfaces (eth/bond), not tagged interfaces.
    This is only an hint, not used by ifupdown.
    
    1 transportzone can be set only on 1 interface.



/etc/network/interfaces
-----------------------

auto eth|bond
    transportzone zone1



2) add a new /etc/pve/networks.cfg configuration,  with 2 main sections


/etc/pve/networks.cfg

a) the transportzones (with plugins),
   where we can define if a transport zone is a vlan, vxlan,... with differents 
attributes specific to the plugin.

   some examples:

#transportzones


vlan:  zone1
       vlan-aware 1|0  (qinq)
       allowedid: 1 - 4096
       

vxlanmulticast: zone2 
       vxlan-svcnodeip 225.20.1.1
       allowedid: 1-16millions


vxlanunicast: zone3 
       vxlan_remoteip proxmoxip1,proxmoxip2,proxmoxip3,....
       allowedid: 1-16millions

vxlanfrr: zone4 
          vrf: 
          l3vni: id
          l3vnihwaddres: macaddress
          allowedid: 1-16millions


b) the networks/bridge/switchs,
   where the attributes are common.
   (basicaly, this is a bridge config with vlan/vxlan id)


#network

switch : mynetwork1
         transportzone zone1
         networkid:   (vlan/vxlan-id)
 

switch:  mynetwork2 
         transportzone zone4
         networkid: (vlan/vxlan-id)
         address: cidr
         hwaddress: 44:39:39:FF:40:10





3)

After that, I think we need a new daemon, to generate /etc/network/interfaces 
locally
on each node, do ifupdown2 reload on change,....  maybe do we need to manage 
that on a separate config ? /etc/network/interfaces.d/networks.cfg ?

(or maybe reuse pvestatd ?)




I'm not sure for the generate interfaces name, as we have 16characters limit:

auto vxlanmynetwork1
auto vmbrmynetwork1

maybe use an id by switch, to be able to do something like

/etc/pve/networks.cfg

switch : vnet1
         name mynetwork1

/etc/network/interfaces

auto vxlanvnet1
auto vmbrvnet1

(can't use the vxlanid in name, as we have 16millions characters)





What do you think about this ?

_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to