From c1ae8486525dd0b80b513e2ed65ae874262aaf5b Mon Sep 17 00:00:00 2001 From: Alexandre Derumier Date: Thu, 6 Jun 2019 08:20:13 +0200 Subject: [PATCH] vxlanmulticast : fix mtu vxlan mtu must be 50bytes lower than physdev mtu Signed-off-by: Alexandre Derumier --- PVE/Network/Network/VlanPlugin.pm | 3 +-- PVE/Network/Network/VxlanMulticastPlugin.pm | 7 +++++-- test/generateconfig.pl | 3 ++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/PVE/Network/Network/VlanPlugin.pm b/PVE/Network/Network/VlanPlugin.pm index 115d3be..063ae49 100644 --- a/PVE/Network/Network/VlanPlugin.pm +++ b/PVE/Network/Network/VlanPlugin.pm @@ -69,9 +69,8 @@ sub generate_network_config { die "missing vlan tag" if !$tag; - my $iface = $uplinks->{$uplink} ? $uplinks->{$uplink} : "uplink$uplink"; + my $iface = $uplinks->{$uplink}->{name} ? $uplinks->{$uplink}->{name} : "uplink$uplink"; $iface .= ".$tag"; - my $config = "\n"; $config .= "auto $iface\n"; $config .= "iface $iface inet manual\n"; diff --git a/PVE/Network/Network/VxlanMulticastPlugin.pm b/PVE/Network/Network/VxlanMulticastPlugin.pm index 2f03f48..f544006 100644 --- a/PVE/Network/Network/VxlanMulticastPlugin.pm +++ b/PVE/Network/Network/VxlanMulticastPlugin.pm @@ -47,14 +47,17 @@ sub generate_network_config { my ($class, $plugin_config, $zoneid, $vnetid, $vnet, $uplinks) = @_; my $tag = $vnet->{tag}; - my $mtu = $vnet->{mtu}; my $alias = $vnet->{alias}; my $multicastaddress = $plugin_config->{'multicast-address'}; my $uplink = $plugin_config->{'uplink-id'}; my $vxlanallowed = $plugin_config->{'vxlan-allowed'}; die "missing vxlan tag" if !$tag; - my $iface = $uplinks->{$uplink} ? $uplinks->{$uplink} : "uplink$uplink"; + my $iface = $uplinks->{$uplink}->{name} ? $uplinks->{$uplink}->{name} : "uplink$uplink"; + + my $mtu = 1450; + $mtu = $uplinks->{$uplink}->{mtu} - 50 if $uplinks->{$uplink}->{mtu}; + $mtu = $vnet->{mtu} if $vnet->{mtu}; my $config = "\n"; $config .= "auto vxlan$tag\n"; diff --git a/test/generateconfig.pl b/test/generateconfig.pl index fa4e74f..4921d97 100644 --- a/test/generateconfig.pl +++ b/test/generateconfig.pl @@ -35,7 +35,8 @@ sub generate_network_config { my $interface = $interfaces_config->{ifaces}->{$id}; if (my $uplink = $interface->{'uplink-id'}) { die "uplink-id $uplink is already defined on $uplinks->{$uplink}" if $uplinks->{$uplink}; - $uplinks->{$interface->{'uplink-id'}} = $id; + $interface->{name} = $id; + $uplinks->{$interface->{'uplink-id'}} = $interface; } } -- 2.39.5