all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH pve-network 0/7] add dhcp support for all zones
@ 2023-12-19  8:32 Alexandre Derumier
  2023-12-19  8:32 ` [pve-devel] [PATCH pve-network 1/7] dhcp: add vrf support Alexandre Derumier
                   ` (9 more replies)
  0 siblings, 10 replies; 15+ messages in thread
From: Alexandre Derumier @ 2023-12-19  8:32 UTC (permalink / raw)
  To: pve-devel

This patch serie add dhcp support for all zones types.

also:
- Exec dnsmasq in a specific vrf if needed (currently only evpn)
- Enable-ra only on layer3 subnets



TO FIX:

- Dnsmasq is currently buggy with ipv6 && vrf (no crash but it's not listening), and need to be patched with:
https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commit;h=a889c554a7df71ff93a8299ef96037fbe05f2f55
I have tested it, just applying this patch on current debian source is enough to get is working.


- for layer2 network, we can't use a /128 for ipv6 like the /32 of ipv4.
  ipv6 range is large, so it shouldn't be a problem for user to have a free ip. (I can be the same on all vnets).
  But that mean we can't reuse the gateway ip (or it'll conflict).
  We need to be able to define a different ipv6 for dnsmasq server here. (and make it mandatory for ipv6 in this plugins)

- gateway should be optionnal (for user have 2 nic, 1 routable + 1 flat, we don't want to send 2 gateway).
  Use dnsmasq server ip field (like ipv6 layer 2 plugin ?) + empty gateway field
  don't announce ra for theses subnets (not sure how to handle this in dnsmasq range)


Alexandre Derumier (7):
  dhcp: add vrf support
  dhcp: enable-ra on layer3 zones only
  dnsmasq service: run service in vrf
  zones: evpn: add dhcp support
  zones: vlan: add dhcp support
  zones: qinq: add dhcp support
  zones: vxlan: add dhcp support

 src/PVE/Network/SDN/Dhcp.pm                   |  3 +-
 src/PVE/Network/SDN/Dhcp/Dnsmasq.pm           |  7 ++--
 src/PVE/Network/SDN/Zones.pm                  | 10 ++++++
 src/PVE/Network/SDN/Zones/EvpnPlugin.pm       |  9 +++++
 src/PVE/Network/SDN/Zones/Plugin.pm           |  7 ++++
 src/PVE/Network/SDN/Zones/QinQPlugin.pm       | 32 +++++++++++++++++
 src/PVE/Network/SDN/Zones/SimplePlugin.pm     |  9 +++++
 src/PVE/Network/SDN/Zones/VlanPlugin.pm       | 33 ++++++++++++++++++
 src/PVE/Network/SDN/Zones/VxlanPlugin.pm      | 32 +++++++++++++++++
 src/services/01-dnsmasq-vrf.conf              |  4 +++
 src/services/Makefile                         |  1 +
 .../zones/qinq/dhcp/expected_sdn_interfaces   | 34 +++++++++++++++++++
 src/test/zones/qinq/dhcp/interfaces           |  5 +++
 src/test/zones/qinq/dhcp/sdn_config           | 26 ++++++++++++++
 .../zones/qinq/nodhcp/expected_sdn_interfaces | 30 ++++++++++++++++
 src/test/zones/qinq/nodhcp/interfaces         |  5 +++
 src/test/zones/qinq/nodhcp/sdn_config         | 26 ++++++++++++++
 .../zones/vlan/dhcp/expected_sdn_interfaces   | 27 +++++++++++++++
 src/test/zones/vlan/dhcp/interfaces           |  5 +++
 src/test/zones/vlan/dhcp/sdn_config           | 27 +++++++++++++++
 .../zones/vlan/nodhcp/expected_sdn_interfaces | 23 +++++++++++++
 src/test/zones/vlan/nodhcp/interfaces         |  5 +++
 src/test/zones/vlan/nodhcp/sdn_config         | 27 +++++++++++++++
 .../zones/vxlan/dhcp/expected_sdn_interfaces  | 19 +++++++++++
 src/test/zones/vxlan/dhcp/interfaces          |  7 ++++
 src/test/zones/vxlan/dhcp/sdn_config          | 25 ++++++++++++++
 .../vxlan/nodhcp/expected_sdn_interfaces      | 15 ++++++++
 src/test/zones/vxlan/nodhcp/interfaces        |  7 ++++
 src/test/zones/vxlan/nodhcp/sdn_config        | 25 ++++++++++++++
 29 files changed, 481 insertions(+), 4 deletions(-)
 create mode 100644 src/services/01-dnsmasq-vrf.conf
 create mode 100644 src/test/zones/qinq/dhcp/expected_sdn_interfaces
 create mode 100644 src/test/zones/qinq/dhcp/interfaces
 create mode 100644 src/test/zones/qinq/dhcp/sdn_config
 create mode 100644 src/test/zones/qinq/nodhcp/expected_sdn_interfaces
 create mode 100644 src/test/zones/qinq/nodhcp/interfaces
 create mode 100644 src/test/zones/qinq/nodhcp/sdn_config
 create mode 100644 src/test/zones/vlan/dhcp/expected_sdn_interfaces
 create mode 100644 src/test/zones/vlan/dhcp/interfaces
 create mode 100644 src/test/zones/vlan/dhcp/sdn_config
 create mode 100644 src/test/zones/vlan/nodhcp/expected_sdn_interfaces
 create mode 100644 src/test/zones/vlan/nodhcp/interfaces
 create mode 100644 src/test/zones/vlan/nodhcp/sdn_config
 create mode 100644 src/test/zones/vxlan/dhcp/expected_sdn_interfaces
 create mode 100644 src/test/zones/vxlan/dhcp/interfaces
 create mode 100644 src/test/zones/vxlan/dhcp/sdn_config
 create mode 100644 src/test/zones/vxlan/nodhcp/expected_sdn_interfaces
 create mode 100644 src/test/zones/vxlan/nodhcp/interfaces
 create mode 100644 src/test/zones/vxlan/nodhcp/sdn_config

-- 
2.39.2




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

end of thread, other threads:[~2024-11-14 10:29 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-19  8:32 [pve-devel] [PATCH pve-network 0/7] add dhcp support for all zones Alexandre Derumier
2023-12-19  8:32 ` [pve-devel] [PATCH pve-network 1/7] dhcp: add vrf support Alexandre Derumier
2023-12-19  8:32 ` [pve-devel] [PATCH pve-network 2/7] dhcp: enable-ra on layer3 zones only Alexandre Derumier
2023-12-19  8:32 ` [pve-devel] [PATCH pve-network 3/7] dnsmasq service: run service in vrf Alexandre Derumier
2023-12-19  8:32 ` [pve-devel] [PATCH pve-network 4/7] zones: evpn: add dhcp support Alexandre Derumier
2023-12-19  8:32 ` [pve-devel] [PATCH pve-network 5/7] zones: vlan: " Alexandre Derumier
2023-12-19  8:32 ` [pve-devel] [PATCH pve-network 6/7] zones: qinq: " Alexandre Derumier
2023-12-19  8:32 ` [pve-devel] [PATCH pve-network 7/7] zones: vxlan: " Alexandre Derumier
2023-12-22 14:01 ` [pve-devel] [PATCH pve-network 0/7] add dhcp support for all zones Stefan Hanreich
2023-12-22 21:27   ` DERUMIER, Alexandre
2024-02-22 10:13     ` Stefan Hanreich
     [not found]       ` <6c7a0c383c6aee77689433815775e27f5259da91.camel@groupe-cyllene.com>
2024-02-22 10:52         ` Stefan Hanreich
2024-11-13  9:48 ` Stefan Hanreich
2024-11-13 19:09 ` Stefan Hanreich
2024-11-14 10:29   ` Aaron Lauterer

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal