rename frrevpn controller plugin to evpn plugin

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
This commit is contained in:
Alexandre Derumier 2019-11-26 10:00:24 +01:00 committed by Thomas Lamprecht
parent c2b9c1734f
commit fa253735a4
8 changed files with 13 additions and 57 deletions

View File

@ -9,7 +9,7 @@ use PVE::Cluster qw(cfs_read_file cfs_write_file);
use PVE::Network::SDN::Zones; use PVE::Network::SDN::Zones;
use PVE::Network::SDN::Controllers; use PVE::Network::SDN::Controllers;
use PVE::Network::SDN::Controllers::Plugin; use PVE::Network::SDN::Controllers::Plugin;
use PVE::Network::SDN::Controllers::FrrEvpnPlugin; use PVE::Network::SDN::Controllers::EvpnPlugin;
use PVE::Network::SDN::Controllers::FaucetPlugin; use PVE::Network::SDN::Controllers::FaucetPlugin;
use Storable qw(dclone); use Storable qw(dclone);

View File

@ -12,10 +12,10 @@ use PVE::Cluster qw(cfs_read_file cfs_write_file cfs_lock_file);
use PVE::Network::SDN::Vnets; use PVE::Network::SDN::Vnets;
use PVE::Network::SDN::Zones; use PVE::Network::SDN::Zones;
use PVE::Network::SDN::Controllers::FrrEvpnPlugin; use PVE::Network::SDN::Controllers::EvpnPlugin;
use PVE::Network::SDN::Controllers::FaucetPlugin; use PVE::Network::SDN::Controllers::FaucetPlugin;
use PVE::Network::SDN::Controllers::Plugin; use PVE::Network::SDN::Controllers::Plugin;
PVE::Network::SDN::Controllers::FrrEvpnPlugin->register(); PVE::Network::SDN::Controllers::EvpnPlugin->register();
PVE::Network::SDN::Controllers::FaucetPlugin->register(); PVE::Network::SDN::Controllers::FaucetPlugin->register();
PVE::Network::SDN::Controllers::Plugin->init(); PVE::Network::SDN::Controllers::Plugin->init();

View File

@ -1,4 +1,4 @@
package PVE::Network::SDN::Controllers::FrrEvpnPlugin; package PVE::Network::SDN::Controllers::EvpnPlugin;
use strict; use strict;
use warnings; use warnings;
@ -10,7 +10,7 @@ use PVE::JSONSchema qw(get_standard_option);
use base('PVE::Network::SDN::Controllers::Plugin'); use base('PVE::Network::SDN::Controllers::Plugin');
sub type { sub type {
return 'frrevpn'; return 'evpn';
} }
sub properties { sub properties {

View File

@ -1,4 +1,4 @@
SOURCES=Plugin.pm FaucetPlugin.pm FrrEvpnPlugin.pm SOURCES=Plugin.pm FaucetPlugin.pm EvpnPlugin.pm
PERL5DIR=${DESTDIR}/usr/share/perl5 PERL5DIR=${DESTDIR}/usr/share/perl5

View File

@ -136,15 +136,15 @@ sub on_update_hook {
my ($class, $transportid, $sdn_cfg) = @_; my ($class, $transportid, $sdn_cfg) = @_;
# verify that router exist # verify that router exist
if (defined($sdn_cfg->{ids}->{$transportid}->{router})) { if (defined($sdn_cfg->{ids}->{$transportid}->{controller})) {
my $router = $sdn_cfg->{ids}->{$transportid}->{router}; my $controller = $sdn_cfg->{ids}->{$transportid}->{controller};
if (!defined($sdn_cfg->{ids}->{$router})) { if (!defined($sdn_cfg->{ids}->{$controller})) {
die "router $router don't exist"; die "controller $controller don't exist";
} else { } else {
die "$router is not a router type" if $sdn_cfg->{ids}->{$router}->{type} ne 'frr'; die "$controller is not a evpn controller type" if $sdn_cfg->{ids}->{$controller}->{type} ne 'evpn';
} }
#vrf && vrf-vxlan need to be defined with router #vrf && vrf-vxlan need to be defined with controller
my $vrf = $sdn_cfg->{ids}->{$transportid}->{vrf}; my $vrf = $sdn_cfg->{ids}->{$transportid}->{vrf};
if (!defined($vrf)) { if (!defined($vrf)) {
die "missing vrf option"; die "missing vrf option";

View File

@ -80,11 +80,6 @@ sub on_delete_hook {
} }
} }
sub on_update_hook {
my ($class, $transportid, $sdn_cfg) = @_;
}
1; 1;

View File

@ -134,45 +134,6 @@ sub on_delete_hook {
} }
} }
sub on_update_hook {
my ($class, $transportid, $sdn_cfg) = @_;
# verify that router exist
if (defined($sdn_cfg->{ids}->{$transportid}->{router})) {
my $router = $sdn_cfg->{ids}->{$transportid}->{router};
if (!defined($sdn_cfg->{ids}->{$router})) {
die "router $router don't exist";
} else {
die "$router is not a router type" if $sdn_cfg->{ids}->{$router}->{type} ne 'frr';
}
#vrf && vrf-vxlan need to be defined with router
my $vrf = $sdn_cfg->{ids}->{$transportid}->{vrf};
if (!defined($vrf)) {
die "missing vrf option";
} else {
# verify that vrf is not already declared in another transport
foreach my $id (keys %{$sdn_cfg->{ids}}) {
next if $id eq $transportid;
die "vrf $vrf is already declared in $id"
if (defined($sdn_cfg->{ids}->{$id}->{vrf}) && $sdn_cfg->{ids}->{$id}->{vrf} eq $vrf);
}
}
my $vrfvxlan = $sdn_cfg->{ids}->{$transportid}->{'vrf-vxlan'};
if (!defined($vrfvxlan)) {
die "missing vrf-vxlan option";
} else {
# verify that vrf-vxlan is not already declared in another transport
foreach my $id (keys %{$sdn_cfg->{ids}}) {
next if $id eq $transportid;
die "vrf-vxlan $vrfvxlan is already declared in $id"
if (defined($sdn_cfg->{ids}->{$id}->{'vrf-vxlan'}) && $sdn_cfg->{ids}->{$id}->{'vrf-vxlan'} eq $vrfvxlan);
}
}
}
}
1; 1;

View File

@ -12,7 +12,7 @@ pvesh create /cluster/sdn/zones/ --zone vxlanmulticastzone --type vxlan --uplink
pvesh create /cluster/sdn/zones/ --zone vxlanunicastzone --type vxlan --uplink-id 1 --unicast-address 192.168.0.1,192.168.0.2,192.168.0.3 pvesh create /cluster/sdn/zones/ --zone vxlanunicastzone --type vxlan --uplink-id 1 --unicast-address 192.168.0.1,192.168.0.2,192.168.0.3
#create an controller #create an controller
pvesh create /cluster/sdn/controllers/ --controller frrrouter1 --type frrevpn --uplink-id 1 --peers 192.168.0.1,192.168.0.2,192.168.0.3 --asn 1234 --gateway-nodes pxnode1,pxnode2 --gateway-external-peers 192.168.0.253,192.168.0.254 pvesh create /cluster/sdn/controllers/ --controller frrrouter1 --type evpn --uplink-id 1 --peers 192.168.0.1,192.168.0.2,192.168.0.3 --asn 1234 --gateway-nodes pxnode1,pxnode2 --gateway-external-peers 192.168.0.253,192.168.0.254
#create a layer2 vxlan bgpevpn transportzone #create a layer2 vxlan bgpevpn transportzone
pvesh create /cluster/sdn/zones/ --zone layer2evpnzone --type evpn --uplink-id 1 --controller frrrouter1 pvesh create /cluster/sdn/zones/ --zone layer2evpnzone --type evpn --uplink-id 1 --controller frrrouter1