From: Alexandre Derumier <aderumier@odiso.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH pve-network 0/7] add dhcp support for all zones
Date: Tue, 19 Dec 2023 09:32:09 +0100 [thread overview]
Message-ID: <20231219083216.2551645-1-aderumier@odiso.com> (raw)
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
next reply other threads:[~2023-12-19 8:32 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-19 8:32 Alexandre Derumier [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231219083216.2551645-1-aderumier@odiso.com \
--to=aderumier@odiso.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.