summaryrefslogtreecommitdiff
path: root/PVE/Network/SDN/Controllers/EvpnPlugin.pm
diff options
context:
space:
mode:
authorAlexandre Derumier <aderumier@odiso.com>2020-01-16 09:15:15 +0100
committerThomas Lamprecht <t.lamprecht@proxmox.com>2020-01-16 10:47:28 +0100
commit0d1ab7dc80bc719095935bedf3deebfc74b9a1d8 (patch)
tree8d2c9a4dda6bcb24fcc126fb354b6398d624b772 /PVE/Network/SDN/Controllers/EvpnPlugin.pm
parentf3883c703f60d52afa254d55497a235bdd894fff (diff)
evpn: add support for local frr.config
For users with complex setup (underlay ebgp for example), allow user to add a /etc/frr/frr.conf.local Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Diffstat (limited to 'PVE/Network/SDN/Controllers/EvpnPlugin.pm')
-rw-r--r--PVE/Network/SDN/Controllers/EvpnPlugin.pm13
1 files changed, 12 insertions, 1 deletions
diff --git a/PVE/Network/SDN/Controllers/EvpnPlugin.pm b/PVE/Network/SDN/Controllers/EvpnPlugin.pm
index c8bf76a..6369c45 100644
--- a/PVE/Network/SDN/Controllers/EvpnPlugin.pm
+++ b/PVE/Network/SDN/Controllers/EvpnPlugin.pm
@@ -262,7 +262,18 @@ sub write_controller_config {
push @{$final_config}, "hostname $nodename";
push @{$final_config}, "!";
- generate_frr_recurse($final_config, $config->{frr}, undef, 0);
+ if (-e "/etc/frr/frr.conf.local") {
+ open my $fh, '<', '/etc/frr/frr.conf.local' or die "Can't open file $!";
+ generate_frr_recurse($final_config, $config->{frr}->{vrf}, "vrf", 1);
+ push @{$final_config}, "!";
+
+ while (my $line = <$fh>) {
+ chomp ($line);
+ push @{$final_config}, $line;
+ }
+ } else {
+ generate_frr_recurse($final_config, $config->{frr}, undef, 0);
+ }
push @{$final_config}, "!";
push @{$final_config}, "line vty";