diff options
| author | Alexandre Derumier <aderumier@odiso.com> | 2021-08-23 15:22:15 +0200 |
|---|---|---|
| committer | Thomas Lamprecht <t.lamprecht@proxmox.com> | 2021-08-24 14:25:02 +0200 |
| commit | 92d8effb6e5973c918f7dc83c214ffddcb80c25a (patch) | |
| tree | 68c614c875edd7f96597ad238f9cc0b7e6e33c80 /PVE/Network/SDN/Controllers/EvpnPlugin.pm | |
| parent | 110b881d498d236959d873df9a7fa617504cd2e2 (diff) | |
evpn : add advertise-subnets option
allow to advertise type5 routes for evpn subnets, if vms are silents hosts.
(don't do any traffic, so anycast gateway don't have their mac-ip)
fix: https://bugzilla.proxmox.com/show_bug.cgi?id=3571
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.pm | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/PVE/Network/SDN/Controllers/EvpnPlugin.pm b/PVE/Network/SDN/Controllers/EvpnPlugin.pm index 55828ef..d629140 100644 --- a/PVE/Network/SDN/Controllers/EvpnPlugin.pm +++ b/PVE/Network/SDN/Controllers/EvpnPlugin.pm @@ -113,6 +113,7 @@ sub generate_controller_zone_config { my $vrf = "vrf_$id"; my $vrfvxlan = $plugin_config->{'vrf-vxlan'}; my $exitnodes = $plugin_config->{'exitnodes'}; + my $advertisesubnets = $plugin_config->{'advertise-subnets'}; my $asn = $controller->{asn}; my $ebgp = undef; @@ -165,6 +166,19 @@ sub generate_controller_zone_config { push @controller_config, "default-originate ipv4"; push @controller_config, "default-originate ipv6"; push(@{$config->{frr}->{router}->{"bgp $asn vrf $vrf"}->{"address-family"}->{"l2vpn evpn"}}, @controller_config); + } elsif ($advertisesubnets) { + + @controller_config = (); + #redistribute connected networks + push @controller_config, "redistribute connected"; + push(@{$config->{frr}->{router}->{"bgp $asn vrf $vrf"}->{"address-family"}->{"ipv4 unicast"}}, @controller_config); + push(@{$config->{frr}->{router}->{"bgp $asn vrf $vrf"}->{"address-family"}->{"ipv6 unicast"}}, @controller_config); + + @controller_config = (); + #advertise connected networks type5 route in evpn + push @controller_config, "advertise ipv4 unicast"; + push @controller_config, "advertise ipv6 unicast"; + push(@{$config->{frr}->{router}->{"bgp $asn vrf $vrf"}->{"address-family"}->{"l2vpn evpn"}}, @controller_config); } return $config; |
