summaryrefslogtreecommitdiff
path: root/PVE/Network/SDN/Controllers/BgpPlugin.pm
diff options
context:
space:
mode:
authorAlexandre Derumier <aderumier@odiso.com>2022-02-11 10:33:23 +0100
committerThomas Lamprecht <t.lamprecht@proxmox.com>2022-02-13 14:23:36 +0100
commitbbf4e4b17b27f00abc35572b8b6b437bf6089397 (patch)
treef15eb313f8b1ed32577c5d5a8c125211073a88bc /PVE/Network/SDN/Controllers/BgpPlugin.pm
parent1608c16598b5e7cca7ba4375568eab48aeb37f31 (diff)
controllers: bgp: use loopback ip src for loopback network
can be usefull if we want to join other loopback ips, like a ceph cluster in the underlay network Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Diffstat (limited to 'PVE/Network/SDN/Controllers/BgpPlugin.pm')
-rw-r--r--PVE/Network/SDN/Controllers/BgpPlugin.pm7
1 files changed, 7 insertions, 0 deletions
diff --git a/PVE/Network/SDN/Controllers/BgpPlugin.pm b/PVE/Network/SDN/Controllers/BgpPlugin.pm
index 69c688b..075ca90 100644
--- a/PVE/Network/SDN/Controllers/BgpPlugin.pm
+++ b/PVE/Network/SDN/Controllers/BgpPlugin.pm
@@ -110,6 +110,13 @@ sub generate_controller_config {
push(@{$bgp->{"address-family"}->{"$ipversion unicast"}}, "neighbor BGP soft-reconfiguration inbound");
}
+ if ($loopback) {
+ push(@{$config->{frr}->{''}}, "ip prefix-list loopbacks_ips seq 10 permit 0.0.0.0/0 le 32");
+ push(@{$config->{frr}->{''}}, "ip protocol bgp route-map correct_src");
+ push(@{$config->{frr}->{'route-map'}->{'correct_src permit 1'}}, "match ip address prefix-list loopbacks_ips");
+ push(@{$config->{frr}->{'route-map'}->{'correct_src permit 1'}}, "set src $ifaceip");
+ }
+
return $config;
}