[pve-devel] [PATCH v2 pve-network 08/13] vxlan: add support for ipv4/ipv6/mac for anycast routing
Alexandre Derumier
aderumier at odiso.com
Thu Aug 29 12:32:49 CEST 2019
Signed-off-by: Alexandre Derumier <aderumier at odiso.com>
---
PVE/Network/SDN/VnetPlugin.pm | 7 ++++---
PVE/Network/SDN/VxlanPlugin.pm | 11 +++++++++--
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/PVE/Network/SDN/VnetPlugin.pm b/PVE/Network/SDN/VnetPlugin.pm
index 6da17b7..09e9372 100644
--- a/PVE/Network/SDN/VnetPlugin.pm
+++ b/PVE/Network/SDN/VnetPlugin.pm
@@ -34,16 +34,16 @@ sub properties {
},
ipv4 => {
description => "Anycast router ipv4 address.",
- type => 'string', format => 'ipv4',
+ type => 'string', format => 'CIDRv4',
optional => 1,
},
ipv6 => {
description => "Anycast router ipv6 address.",
- type => 'string', format => 'ipv6',
+ type => 'string', format => 'CIDRv6',
optional => 1,
},
mac => {
- type => 'boolean',
+ type => 'string',
description => "Anycast router mac address",
optional => 1,
}
@@ -58,6 +58,7 @@ sub options {
ipv4 => { optional => 1 },
ipv6 => { optional => 1 },
mtu => { optional => 1 },
+ mac => { optional => 1 },
};
}
diff --git a/PVE/Network/SDN/VxlanPlugin.pm b/PVE/Network/SDN/VxlanPlugin.pm
index c93dbc4..f090ce8 100644
--- a/PVE/Network/SDN/VxlanPlugin.pm
+++ b/PVE/Network/SDN/VxlanPlugin.pm
@@ -63,6 +63,9 @@ sub generate_sdn_config {
my $tag = $vnet->{tag};
my $alias = $vnet->{alias};
+ my $ipv4 = $vnet->{ipv4};
+ my $ipv6 = $vnet->{ipv6};
+ my $mac = $vnet->{mac};
my $multicastaddress = $plugin_config->{'multicast-address'};
my @unicastaddress = split(',', $plugin_config->{'unicast-address'}) if $plugin_config->{'unicast-address'};
@@ -86,7 +89,7 @@ sub generate_sdn_config {
my $config = "\n";
$config .= "auto vxlan$vnetid\n";
- $config .= "iface vxlan$vnetid inet manual\n";
+ $config .= "iface vxlan$vnetid\n";
$config .= " vxlan-id $tag\n";
if($multicastaddress) {
@@ -107,7 +110,10 @@ sub generate_sdn_config {
$config .= " mtu $mtu\n" if $mtu;
$config .= "\n";
$config .= "auto $vnetid\n";
- $config .= "iface $vnetid inet manual\n";
+ $config .= "iface $vnetid\n";
+ $config .= " address $ipv4\n" if $ipv4;
+ $config .= " address $ipv6\n" if $ipv6;
+ $config .= " hwaddress $mac\n" if $mac;
$config .= " bridge_ports vxlan$vnetid\n";
$config .= " bridge_stp off\n";
$config .= " bridge_fd 0\n";
@@ -137,6 +143,7 @@ sub generate_sdn_config {
$config .= "\n";
$config .= "auto $brvrf\n";
+ $config .= "iface $brvrf\n";
$config .= " bridge-ports $vxlanvrf\n";
$config .= " bridge_stp off\n";
$config .= " bridge_fd 0\n";
--
2.20.1
More information about the pve-devel
mailing list