[pve-devel] rfc : /etc/pve/networks.cfg implementation
    Alexandre DERUMIER 
    aderumier at odiso.com
       
    Wed Feb 27 09:16:30 CET 2019
    
    
  
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 ?
    
    
More information about the pve-devel
mailing list