public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH v6 pve-network 00/18] sdn : add subnets management
@ 2020-08-25  5:02 Alexandre Derumier
  2020-08-25  5:02 ` [pve-devel] [PATCH v6 pve-network 01/18] add subnet plugin Alexandre Derumier
                   ` (17 more replies)
  0 siblings, 18 replies; 19+ messages in thread
From: Alexandre Derumier @ 2020-08-25  5:02 UTC (permalink / raw)
  To: pve-devel

This patch series add basic subnets managements.

Subnets will be use for multiple things: 
- defined gateway ip on vnets
- enable snat on a subnet
- add cloudnit|dhcp default network configs (gateway, static routes, nameservers,searchdomain,....)
- add ipam management. (ip registrations to external ipam, for vm|ct ip management)
- add dns registration. (reverse dns for subnet, and searchdomain regisration in external dns like powerdns )
- ...


Already implemented:

- gateway option is implemented:

It's currently replace ip management on vnets for layer3 plugins,
through the option "gateway".

If the option gateway is defined, for layer3 plugins (evpn && simple),
the ip will be used for the vnet.

A vnet can have multiple subnets, with multiples ipv4/ipv6.

- ipam
- dns registration


Changelog v2:

- add ipams plugins. Currently netbox && phpipam.
- the subnet && the subnet gateway are registered to ipam
- add/del/find_next_free ip are implemented, so it should be easy to use them in qemu && lxc config.

Changelog v3:

- add an internal ipam plugin

Changelog v4:

- fix pveipam plugin find_free_ip
- detect ipv4/ipv6 in find_free_ip

Changelog v5:

- add vnets add_ip,del_ip,... should be ok for use in lxc/qemuserver

Changelog v6:

- add dns plugins
- internal ipam fixes
- rework vnet-subnet association
- fixes && cleanup


Alexandre Derumier (18):
  add subnet plugin
  vnets: add subnets
  add subnets verifications hooks
  zones: simple|evpn: add gateway ip from subnets to vnet
  zone: add vnet_update_hook
  vnets: subnets: use cidr
  subnet: fix on_delete_hook
  api2: subnet create: convert cidr to subnetid
  api2: increase version on apply/reload only
  add ipams plugins
  add pve internal ipam plugin
  vnets: find_free_ip : add ipversion detection
  vnets: add add_ip
  vnets: add del_ip + rework add_ip/find_free_ip
  add dns plugin
  Fix vnet gateway for routed setup + /32 pointopoint subnet
  ipam : pveplugin : fix find_next_free_ip
  add vnet to subnets && remove subnetlist from vnet

 PVE/API2/Network/SDN.pm                |  24 +++
 PVE/API2/Network/SDN/Controllers.pm    |   6 -
 PVE/API2/Network/SDN/Dns.pm            | 242 +++++++++++++++++++++++++
 PVE/API2/Network/SDN/Ipams.pm          | 242 +++++++++++++++++++++++++
 PVE/API2/Network/SDN/Makefile          |   2 +-
 PVE/API2/Network/SDN/Subnets.pm        | 237 ++++++++++++++++++++++++
 PVE/API2/Network/SDN/Vnets.pm          |  16 +-
 PVE/API2/Network/SDN/Zones.pm          |   6 -
 PVE/Network/SDN/Dns.pm                 |  57 ++++++
 PVE/Network/SDN/Dns/Makefile           |   8 +
 PVE/Network/SDN/Dns/Plugin.pm          | 117 ++++++++++++
 PVE/Network/SDN/Dns/PowerdnsPlugin.pm  | 201 ++++++++++++++++++++
 PVE/Network/SDN/Ipams.pm               |  68 +++++++
 PVE/Network/SDN/Ipams/Makefile         |   8 +
 PVE/Network/SDN/Ipams/NetboxPlugin.pm  | 169 +++++++++++++++++
 PVE/Network/SDN/Ipams/PVEPlugin.pm     | 166 +++++++++++++++++
 PVE/Network/SDN/Ipams/PhpIpamPlugin.pm | 189 +++++++++++++++++++
 PVE/Network/SDN/Ipams/Plugin.pm        | 127 +++++++++++++
 PVE/Network/SDN/Makefile               |   4 +-
 PVE/Network/SDN/SubnetPlugin.pm        | 180 ++++++++++++++++++
 PVE/Network/SDN/Subnets.pm             | 241 ++++++++++++++++++++++++
 PVE/Network/SDN/VnetPlugin.pm          |  24 +--
 PVE/Network/SDN/Vnets.pm               |  65 +++++++
 PVE/Network/SDN/Zones.pm               |   4 +-
 PVE/Network/SDN/Zones/EvpnPlugin.pm    |  36 +++-
 PVE/Network/SDN/Zones/Plugin.pm        |   7 +-
 PVE/Network/SDN/Zones/QinQPlugin.pm    |  10 +-
 PVE/Network/SDN/Zones/SimplePlugin.pm  |  34 +++-
 PVE/Network/SDN/Zones/VlanPlugin.pm    |  10 +-
 PVE/Network/SDN/Zones/VxlanPlugin.pm   |  16 +-
 debian/control                         |   3 +
 test/generateconfig.pl                 |   3 +-
 32 files changed, 2447 insertions(+), 75 deletions(-)
 create mode 100644 PVE/API2/Network/SDN/Dns.pm
 create mode 100644 PVE/API2/Network/SDN/Ipams.pm
 create mode 100644 PVE/API2/Network/SDN/Subnets.pm
 create mode 100644 PVE/Network/SDN/Dns.pm
 create mode 100644 PVE/Network/SDN/Dns/Makefile
 create mode 100644 PVE/Network/SDN/Dns/Plugin.pm
 create mode 100644 PVE/Network/SDN/Dns/PowerdnsPlugin.pm
 create mode 100644 PVE/Network/SDN/Ipams.pm
 create mode 100644 PVE/Network/SDN/Ipams/Makefile
 create mode 100644 PVE/Network/SDN/Ipams/NetboxPlugin.pm
 create mode 100644 PVE/Network/SDN/Ipams/PVEPlugin.pm
 create mode 100644 PVE/Network/SDN/Ipams/PhpIpamPlugin.pm
 create mode 100644 PVE/Network/SDN/Ipams/Plugin.pm
 create mode 100644 PVE/Network/SDN/SubnetPlugin.pm
 create mode 100644 PVE/Network/SDN/Subnets.pm

-- 
2.20.1




^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2020-08-25  5:21 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-25  5:02 [pve-devel] [PATCH v6 pve-network 00/18] sdn : add subnets management Alexandre Derumier
2020-08-25  5:02 ` [pve-devel] [PATCH v6 pve-network 01/18] add subnet plugin Alexandre Derumier
2020-08-25  5:02 ` [pve-devel] [PATCH v6 pve-network 02/18] vnets: add subnets Alexandre Derumier
2020-08-25  5:02 ` [pve-devel] [PATCH v6 pve-network 03/18] add subnets verifications hooks Alexandre Derumier
2020-08-25  5:02 ` [pve-devel] [PATCH v6 pve-network 04/18] zones: simple|evpn: add gateway ip from subnets to vnet Alexandre Derumier
2020-08-25  5:02 ` [pve-devel] [PATCH v6 pve-network 05/18] zone: add vnet_update_hook Alexandre Derumier
2020-08-25  5:02 ` [pve-devel] [PATCH v6 pve-network 06/18] vnets: subnets: use cidr Alexandre Derumier
2020-08-25  5:02 ` [pve-devel] [PATCH v6 pve-network 07/18] subnet: fix on_delete_hook Alexandre Derumier
2020-08-25  5:02 ` [pve-devel] [PATCH v6 pve-network 08/18] api2: subnet create: convert cidr to subnetid Alexandre Derumier
2020-08-25  5:02 ` [pve-devel] [PATCH v6 pve-network 09/18] api2: increase version on apply/reload only Alexandre Derumier
2020-08-25  5:02 ` [pve-devel] [PATCH v6 pve-network 10/18] add ipams plugins Alexandre Derumier
2020-08-25  5:02 ` [pve-devel] [PATCH v6 pve-network 11/18] add pve internal ipam plugin Alexandre Derumier
2020-08-25  5:02 ` [pve-devel] [PATCH v6 pve-network 12/18] vnets: find_free_ip : add ipversion detection Alexandre Derumier
2020-08-25  5:02 ` [pve-devel] [PATCH v6 pve-network 13/18] vnets: add add_ip Alexandre Derumier
2020-08-25  5:02 ` [pve-devel] [PATCH v6 pve-network 14/18] vnets: add del_ip + rework add_ip/find_free_ip Alexandre Derumier
2020-08-25  5:02 ` [pve-devel] [PATCH v6 pve-network 15/18] add dns plugin Alexandre Derumier
2020-08-25  5:02 ` [pve-devel] [PATCH v6 pve-network 16/18] Fix vnet gateway for routed setup + /32 pointopoint subnet Alexandre Derumier
2020-08-25  5:02 ` [pve-devel] [PATCH v6 pve-network 17/18] ipam : pveplugin : fix find_next_free_ip Alexandre Derumier
2020-08-25  5:02 ` [pve-devel] [PATCH v6 pve-network 18/18] add vnet to subnets && remove subnetlist from vnet Alexandre Derumier

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