mirror of
https://git.proxmox.com/git/pve-network
synced 2025-07-27 10:34:16 +00:00
rename frrevpn controller plugin to evpn plugin
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
This commit is contained in:
parent
c2b9c1734f
commit
fa253735a4
@ -9,7 +9,7 @@ use PVE::Cluster qw(cfs_read_file cfs_write_file);
|
||||
use PVE::Network::SDN::Zones;
|
||||
use PVE::Network::SDN::Controllers;
|
||||
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 Storable qw(dclone);
|
||||
|
@ -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::Zones;
|
||||
|
||||
use PVE::Network::SDN::Controllers::FrrEvpnPlugin;
|
||||
use PVE::Network::SDN::Controllers::EvpnPlugin;
|
||||
use PVE::Network::SDN::Controllers::FaucetPlugin;
|
||||
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::Plugin->init();
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
package PVE::Network::SDN::Controllers::FrrEvpnPlugin;
|
||||
package PVE::Network::SDN::Controllers::EvpnPlugin;
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
@ -10,7 +10,7 @@ use PVE::JSONSchema qw(get_standard_option);
|
||||
use base('PVE::Network::SDN::Controllers::Plugin');
|
||||
|
||||
sub type {
|
||||
return 'frrevpn';
|
||||
return 'evpn';
|
||||
}
|
||||
|
||||
sub properties {
|
@ -1,4 +1,4 @@
|
||||
SOURCES=Plugin.pm FaucetPlugin.pm FrrEvpnPlugin.pm
|
||||
SOURCES=Plugin.pm FaucetPlugin.pm EvpnPlugin.pm
|
||||
|
||||
|
||||
PERL5DIR=${DESTDIR}/usr/share/perl5
|
||||
|
@ -136,15 +136,15 @@ 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";
|
||||
if (defined($sdn_cfg->{ids}->{$transportid}->{controller})) {
|
||||
my $controller = $sdn_cfg->{ids}->{$transportid}->{controller};
|
||||
if (!defined($sdn_cfg->{ids}->{$controller})) {
|
||||
die "controller $controller don't exist";
|
||||
} 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};
|
||||
if (!defined($vrf)) {
|
||||
die "missing vrf option";
|
||||
|
@ -80,11 +80,6 @@ sub on_delete_hook {
|
||||
}
|
||||
}
|
||||
|
||||
sub on_update_hook {
|
||||
my ($class, $transportid, $sdn_cfg) = @_;
|
||||
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
||||
#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
|
||||
pvesh create /cluster/sdn/zones/ --zone layer2evpnzone --type evpn --uplink-id 1 --controller frrrouter1
|
||||
|
Loading…
Reference in New Issue
Block a user