* [pve-devel] [PATCH pve-network 0/3] Advertise MTU via DHCP / RA
@ 2023-12-14 16:46 Stefan Hanreich
2023-12-14 16:46 ` [pve-devel] [PATCH pve-network 1/3] dhcp: fix function signatures in abstract class Stefan Hanreich
` (4 more replies)
0 siblings, 5 replies; 7+ messages in thread
From: Stefan Hanreich @ 2023-12-14 16:46 UTC (permalink / raw)
To: pve-devel
Stefan Hanreich (3):
dhcp: fix function signatures in abstract class
zones: add method for getting MTU
dhcp: dnsmasq: send mtu option via dhcp
src/PVE/Network/SDN/Dhcp.pm | 2 +-
src/PVE/Network/SDN/Dhcp/Dnsmasq.pm | 7 ++++++-
src/PVE/Network/SDN/Dhcp/Plugin.pm | 12 ++++++------
src/PVE/Network/SDN/Zones.pm | 8 ++++++++
src/PVE/Network/SDN/Zones/Plugin.pm | 7 +++++++
src/PVE/Network/SDN/Zones/SimplePlugin.pm | 8 +++++++-
6 files changed, 35 insertions(+), 9 deletions(-)
--
2.39.2
^ permalink raw reply [flat|nested] 7+ messages in thread
* [pve-devel] [PATCH pve-network 1/3] dhcp: fix function signatures in abstract class
2023-12-14 16:46 [pve-devel] [PATCH pve-network 0/3] Advertise MTU via DHCP / RA Stefan Hanreich
@ 2023-12-14 16:46 ` Stefan Hanreich
2023-12-14 16:46 ` [pve-devel] [PATCH pve-network 2/3] zones: add method for getting MTU Stefan Hanreich
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Stefan Hanreich @ 2023-12-14 16:46 UTC (permalink / raw)
To: pve-devel
Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
---
src/PVE/Network/SDN/Dhcp/Plugin.pm | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/PVE/Network/SDN/Dhcp/Plugin.pm b/src/PVE/Network/SDN/Dhcp/Plugin.pm
index b99f598..6e985cd 100644
--- a/src/PVE/Network/SDN/Dhcp/Plugin.pm
+++ b/src/PVE/Network/SDN/Dhcp/Plugin.pm
@@ -28,12 +28,12 @@ sub add_ip_mapping {
}
sub configure_range {
- my ($class, $dhcpid, $vnetid, $subnet_config, $range_config) = @_;
+ my ($class, $config, $dhcpid, $vnetid, $subnet_config, $range_config) = @_;
die 'implement in sub class';
}
sub configure_subnet {
- my ($class, $dhcpid, $vnetid, $subnet_config) = @_;
+ my ($class, $config, $dhcpid, $vnetid, $subnet_config) = @_;
die 'implement in sub class';
}
@@ -43,22 +43,22 @@ sub configure_vnet {
}
sub before_configure {
- my ($class, $dhcp_config) = @_;
+ my ($class, $dhcpid) = @_;
die 'implement in sub class';
}
sub after_configure {
- my ($class, $dhcp_config) = @_;
+ my ($class, $dhcpid, $noerr) = @_;
die 'implement in sub class';
}
sub before_regenerate {
- my ($class) = @_;
+ my ($class, $noerr) = @_;
die 'implement in sub class';
}
sub after_regenerate {
- my ($class, $dhcp_config) = @_;
+ my ($class) = @_;
die 'implement in sub class';
}
--
2.39.2
^ permalink raw reply [flat|nested] 7+ messages in thread
* [pve-devel] [PATCH pve-network 2/3] zones: add method for getting MTU
2023-12-14 16:46 [pve-devel] [PATCH pve-network 0/3] Advertise MTU via DHCP / RA Stefan Hanreich
2023-12-14 16:46 ` [pve-devel] [PATCH pve-network 1/3] dhcp: fix function signatures in abstract class Stefan Hanreich
@ 2023-12-14 16:46 ` Stefan Hanreich
2023-12-14 16:46 ` [pve-devel] [PATCH pve-network 3/3] dhcp: dnsmasq: send mtu option via dhcp Stefan Hanreich
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Stefan Hanreich @ 2023-12-14 16:46 UTC (permalink / raw)
To: pve-devel
Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
---
src/PVE/Network/SDN/Zones.pm | 8 ++++++++
src/PVE/Network/SDN/Zones/Plugin.pm | 7 +++++++
src/PVE/Network/SDN/Zones/SimplePlugin.pm | 8 +++++++-
3 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/src/PVE/Network/SDN/Zones.pm b/src/PVE/Network/SDN/Zones.pm
index 5bd3536..c1c7745 100644
--- a/src/PVE/Network/SDN/Zones.pm
+++ b/src/PVE/Network/SDN/Zones.pm
@@ -27,6 +27,7 @@ PVE::Network::SDN::Zones::SimplePlugin->register();
PVE::Network::SDN::Zones::Plugin->init();
my $local_network_sdn_file = "/etc/network/interfaces.d/sdn";
+my $default_mtu = 1500;
sub sdn_zones_config {
my ($cfg, $id, $noerr) = @_;
@@ -369,5 +370,12 @@ sub del_bridge_fdb {
$plugin->del_bridge_fdb($plugin_config, $iface, $macaddr);
}
+sub get_mtu {
+ my ($zone_config) = @_;
+
+ my $plugin = PVE::Network::SDN::Zones::Plugin->lookup($zone_config->{type});
+ return $plugin->get_mtu($zone_config) // $default_mtu;
+}
+
1;
diff --git a/src/PVE/Network/SDN/Zones/Plugin.pm b/src/PVE/Network/SDN/Zones/Plugin.pm
index b55b967..c1f95fc 100644
--- a/src/PVE/Network/SDN/Zones/Plugin.pm
+++ b/src/PVE/Network/SDN/Zones/Plugin.pm
@@ -356,4 +356,11 @@ sub get_bridge_ifaces {
return @bridge_ifaces;
}
+
+sub get_mtu {
+ my ($class, $plugin_config) = @_;
+
+ die "please implement inside plugin";
+}
+
1;
diff --git a/src/PVE/Network/SDN/Zones/SimplePlugin.pm b/src/PVE/Network/SDN/Zones/SimplePlugin.pm
index c996bf3..9540449 100644
--- a/src/PVE/Network/SDN/Zones/SimplePlugin.pm
+++ b/src/PVE/Network/SDN/Zones/SimplePlugin.pm
@@ -56,7 +56,7 @@ sub generate_sdn_config {
my $mac = $vnet->{mac};
my $alias = $vnet->{alias};
- my $mtu = $plugin_config->{mtu} if $plugin_config->{mtu};
+ my $mtu = $class->get_mtu($plugin_config);
# vnet bridge
my @iface_config = ();
@@ -144,6 +144,12 @@ sub vnet_update_hook {
}
}
+sub get_mtu {
+ my ($class, $plugin_config) = @_;
+
+ return $plugin_config->{mtu};
+}
+
1;
--
2.39.2
^ permalink raw reply [flat|nested] 7+ messages in thread
* [pve-devel] [PATCH pve-network 3/3] dhcp: dnsmasq: send mtu option via dhcp
2023-12-14 16:46 [pve-devel] [PATCH pve-network 0/3] Advertise MTU via DHCP / RA Stefan Hanreich
2023-12-14 16:46 ` [pve-devel] [PATCH pve-network 1/3] dhcp: fix function signatures in abstract class Stefan Hanreich
2023-12-14 16:46 ` [pve-devel] [PATCH pve-network 2/3] zones: add method for getting MTU Stefan Hanreich
@ 2023-12-14 16:46 ` Stefan Hanreich
2024-02-22 13:23 ` [pve-devel] [PATCH pve-network 0/3] Advertise MTU via DHCP / RA Stefan Hanreich
2024-04-22 12:06 ` Thomas Lamprecht
4 siblings, 0 replies; 7+ messages in thread
From: Stefan Hanreich @ 2023-12-14 16:46 UTC (permalink / raw)
To: pve-devel
Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
---
src/PVE/Network/SDN/Dhcp.pm | 2 +-
src/PVE/Network/SDN/Dhcp/Dnsmasq.pm | 7 ++++++-
src/PVE/Network/SDN/Dhcp/Plugin.pm | 2 +-
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/PVE/Network/SDN/Dhcp.pm b/src/PVE/Network/SDN/Dhcp.pm
index 7876c08..d48de34 100644
--- a/src/PVE/Network/SDN/Dhcp.pm
+++ b/src/PVE/Network/SDN/Dhcp.pm
@@ -84,7 +84,7 @@ sub regenerate_config {
die "Could not find DHCP plugin: $dhcp_plugin_name" if !$dhcp_plugin;
- eval { $dhcp_plugin->before_configure($zoneid) };
+ eval { $dhcp_plugin->before_configure($zoneid, $zone) };
die "Could not run before_configure for DHCP server $zoneid $@\n" if $@;
for my $vnetid (sort keys %{$vnet_cfg->{ids}}) {
diff --git a/src/PVE/Network/SDN/Dhcp/Dnsmasq.pm b/src/PVE/Network/SDN/Dhcp/Dnsmasq.pm
index 2844943..614c267 100644
--- a/src/PVE/Network/SDN/Dhcp/Dnsmasq.pm
+++ b/src/PVE/Network/SDN/Dhcp/Dnsmasq.pm
@@ -164,7 +164,7 @@ sub configure_vnet {
}
sub before_configure {
- my ($class, $dhcpid) = @_;
+ my ($class, $dhcpid, $zone_cfg) = @_;
my $dbus_config = <<DBUSCFG;
<!DOCTYPE busconfig PUBLIC
@@ -205,6 +205,8 @@ CFG
$default_config
);
+ my $mtu = PVE::Network::SDN::Zones::get_mtu($zone_cfg);
+
my $default_dnsmasq_config = <<CFG;
except-interface=lo
enable-ra
@@ -215,6 +217,9 @@ dhcp-leasefile=$DNSMASQ_LEASE_ROOT/dnsmasq.$dhcpid.leases
dhcp-hostsfile=$config_directory/ethers
dhcp-ignore=tag:!known
+dhcp-option=26,$mtu
+ra-param=*,mtu:$mtu,0
+
# Send an empty WPAD option. This may be REQUIRED to get windows 7 to behave.
dhcp-option=252,"\\n"
diff --git a/src/PVE/Network/SDN/Dhcp/Plugin.pm b/src/PVE/Network/SDN/Dhcp/Plugin.pm
index 6e985cd..1757915 100644
--- a/src/PVE/Network/SDN/Dhcp/Plugin.pm
+++ b/src/PVE/Network/SDN/Dhcp/Plugin.pm
@@ -43,7 +43,7 @@ sub configure_vnet {
}
sub before_configure {
- my ($class, $dhcpid) = @_;
+ my ($class, $dhcpid, $zone_config) = @_;
die 'implement in sub class';
}
--
2.39.2
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [pve-devel] [PATCH pve-network 0/3] Advertise MTU via DHCP / RA
2023-12-14 16:46 [pve-devel] [PATCH pve-network 0/3] Advertise MTU via DHCP / RA Stefan Hanreich
` (2 preceding siblings ...)
2023-12-14 16:46 ` [pve-devel] [PATCH pve-network 3/3] dhcp: dnsmasq: send mtu option via dhcp Stefan Hanreich
@ 2024-02-22 13:23 ` Stefan Hanreich
2024-04-22 12:06 ` Thomas Lamprecht
4 siblings, 0 replies; 7+ messages in thread
From: Stefan Hanreich @ 2024-02-22 13:23 UTC (permalink / raw)
To: pve-devel
ping
still applies on current master
On 12/14/23 17:46, Stefan Hanreich wrote:
> Stefan Hanreich (3):
> dhcp: fix function signatures in abstract class
> zones: add method for getting MTU
> dhcp: dnsmasq: send mtu option via dhcp
>
> src/PVE/Network/SDN/Dhcp.pm | 2 +-
> src/PVE/Network/SDN/Dhcp/Dnsmasq.pm | 7 ++++++-
> src/PVE/Network/SDN/Dhcp/Plugin.pm | 12 ++++++------
> src/PVE/Network/SDN/Zones.pm | 8 ++++++++
> src/PVE/Network/SDN/Zones/Plugin.pm | 7 +++++++
> src/PVE/Network/SDN/Zones/SimplePlugin.pm | 8 +++++++-
> 6 files changed, 35 insertions(+), 9 deletions(-)
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [pve-devel] [PATCH pve-network 0/3] Advertise MTU via DHCP / RA
2023-12-14 16:46 [pve-devel] [PATCH pve-network 0/3] Advertise MTU via DHCP / RA Stefan Hanreich
` (3 preceding siblings ...)
2024-02-22 13:23 ` [pve-devel] [PATCH pve-network 0/3] Advertise MTU via DHCP / RA Stefan Hanreich
@ 2024-04-22 12:06 ` Thomas Lamprecht
2024-04-22 13:16 ` Stefan Hanreich
4 siblings, 1 reply; 7+ messages in thread
From: Thomas Lamprecht @ 2024-04-22 12:06 UTC (permalink / raw)
To: Proxmox VE development discussion, Stefan Hanreich
Am 14/12/2023 um 17:46 schrieb Stefan Hanreich:
> Stefan Hanreich (3):
> dhcp: fix function signatures in abstract class
> zones: add method for getting MTU
> dhcp: dnsmasq: send mtu option via dhcp
>
> src/PVE/Network/SDN/Dhcp.pm | 2 +-
> src/PVE/Network/SDN/Dhcp/Dnsmasq.pm | 7 ++++++-
> src/PVE/Network/SDN/Dhcp/Plugin.pm | 12 ++++++------
> src/PVE/Network/SDN/Zones.pm | 8 ++++++++
> src/PVE/Network/SDN/Zones/Plugin.pm | 7 +++++++
> src/PVE/Network/SDN/Zones/SimplePlugin.pm | 8 +++++++-
> 6 files changed, 35 insertions(+), 9 deletions(-)
>
seems OK from a high-level glance, would need a rebase now though
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [pve-devel] [PATCH pve-network 0/3] Advertise MTU via DHCP / RA
2024-04-22 12:06 ` Thomas Lamprecht
@ 2024-04-22 13:16 ` Stefan Hanreich
0 siblings, 0 replies; 7+ messages in thread
From: Stefan Hanreich @ 2024-04-22 13:16 UTC (permalink / raw)
To: Thomas Lamprecht, Proxmox VE development discussion
On 4/22/24 14:06, Thomas Lamprecht wrote:
> seems OK from a high-level glance, would need a rebase now though
sent a rebased v2:
https://lists.proxmox.com/pipermail/pve-devel/2024-April/063588.html
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-04-22 13:16 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-14 16:46 [pve-devel] [PATCH pve-network 0/3] Advertise MTU via DHCP / RA Stefan Hanreich
2023-12-14 16:46 ` [pve-devel] [PATCH pve-network 1/3] dhcp: fix function signatures in abstract class Stefan Hanreich
2023-12-14 16:46 ` [pve-devel] [PATCH pve-network 2/3] zones: add method for getting MTU Stefan Hanreich
2023-12-14 16:46 ` [pve-devel] [PATCH pve-network 3/3] dhcp: dnsmasq: send mtu option via dhcp Stefan Hanreich
2024-02-22 13:23 ` [pve-devel] [PATCH pve-network 0/3] Advertise MTU via DHCP / RA Stefan Hanreich
2024-04-22 12:06 ` Thomas Lamprecht
2024-04-22 13:16 ` Stefan Hanreich
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