all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH pve-network] frr: add prefix-list support
@ 2022-11-30 15:18 Alexandre Derumier
  2023-01-16 15:54 ` [pve-devel] applied: " Thomas Lamprecht
  0 siblings, 1 reply; 2+ messages in thread
From: Alexandre Derumier @ 2022-11-30 15:18 UTC (permalink / raw)
  To: pve-devel

parsing of prefix-list in frr.conf.local was missing

reported on forum:
https://forum.proxmox.com/threads/using-the-proxmox-sdn-to-manage-host-connectivity-with-bgp.118553

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
---
 PVE/Network/SDN/Controllers/BgpPlugin.pm      |  2 +-
 PVE/Network/SDN/Controllers/EvpnPlugin.pm     | 20 +++++++++++--------
 .../ebgp_loopback/expected_controller_config  |  3 ++-
 3 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/PVE/Network/SDN/Controllers/BgpPlugin.pm b/PVE/Network/SDN/Controllers/BgpPlugin.pm
index 6e69f67..0b8cf1a 100644
--- a/PVE/Network/SDN/Controllers/BgpPlugin.pm
+++ b/PVE/Network/SDN/Controllers/BgpPlugin.pm
@@ -118,7 +118,7 @@ sub generate_controller_config {
     }
 
     if ($loopback) {
-	push(@{$config->{frr}->{''}}, "ip prefix-list loopbacks_ips seq 10 permit 0.0.0.0/0 le 32");
+	$config->{frr_prefix_list}->{loopbacks_ips}->{10} = "permit 0.0.0.0/0 le 32";
 	push(@{$config->{frr}->{''}}, "ip protocol bgp route-map correct_src");
 
 	my $routemap_config = ();
diff --git a/PVE/Network/SDN/Controllers/EvpnPlugin.pm b/PVE/Network/SDN/Controllers/EvpnPlugin.pm
index 74ec018..b72d669 100644
--- a/PVE/Network/SDN/Controllers/EvpnPlugin.pm
+++ b/PVE/Network/SDN/Controllers/EvpnPlugin.pm
@@ -384,17 +384,17 @@ sub generate_frr_routemap {
    }
 }
 
-sub generate_frr_accesslist {
-    my ($final_config, $accesslists) = @_;
+sub generate_frr_list {
+    my ($final_config, $lists, $type) = @_;
 
     my $config = [];
 
-    for my $id (sort keys %$accesslists) {
-	my $accesslist = $accesslists->{$id};
+    for my $id (sort keys %$lists) {
+	my $list = $lists->{$id};
 
-	for my $seq (sort keys %$accesslist) {
-	    my $rule = $accesslist->{$seq};
-	    push @$config, "access-list $id seq $seq $rule";
+	for my $seq (sort keys %$list) {
+	    my $rule = $list->{$seq};
+	    push @$config, "$type $id seq $seq $rule";
 	}
     }
 
@@ -422,7 +422,8 @@ sub generate_controller_rawconfig {
     }
 
     generate_frr_recurse($final_config, $config->{frr}, undef, 0);
-    generate_frr_accesslist($final_config, $config->{frr_access_list});
+    generate_frr_list($final_config, $config->{frr_access_list}, "access-list");
+    generate_frr_list($final_config, $config->{frr_prefix_list}, "ip prefix-list");
     generate_frr_routemap($final_config, $config->{frr_routemap});
 
     push @{$final_config}, "!";
@@ -467,6 +468,9 @@ sub parse_merge_frr_local_config {
 	} elsif ($line =~ m/^access-list (.+) seq (\d+) (.+)$/) {
 	    $config->{'frr_access_list'}->{$1}->{$2} = $3;
 	    next;
+	} elsif ($line =~ m/^ip prefix-list (.+) seq (\d+) (.*)$/) {
+	    $config->{'frr_prefix_list'}->{$1}->{$2} = $3;
+	    next;
 	} elsif($line =~ m/^exit-address-family$/) {
 	    next;
 	} elsif($line =~ m/^exit$/) {
diff --git a/test/zones/evpn/ebgp_loopback/expected_controller_config b/test/zones/evpn/ebgp_loopback/expected_controller_config
index 64fca31..548d532 100644
--- a/test/zones/evpn/ebgp_loopback/expected_controller_config
+++ b/test/zones/evpn/ebgp_loopback/expected_controller_config
@@ -4,7 +4,6 @@ hostname localhost
 log syslog informational
 service integrated-vtysh-config
 !
-ip prefix-list loopbacks_ips seq 10 permit 0.0.0.0/0 le 32
 ip protocol bgp route-map correct_src
 !
 vrf vrf_myzone
@@ -53,6 +52,8 @@ router bgp 65001 vrf vrf_myzone
  exit-address-family
 exit
 !
+ip prefix-list loopbacks_ips seq 10 permit 0.0.0.0/0 le 32
+!
 route-map MAP_VTEP_IN permit 1
 exit
 !
-- 
2.30.2




^ permalink raw reply	[flat|nested] 2+ messages in thread

* [pve-devel] applied: [PATCH pve-network] frr: add prefix-list support
  2022-11-30 15:18 [pve-devel] [PATCH pve-network] frr: add prefix-list support Alexandre Derumier
@ 2023-01-16 15:54 ` Thomas Lamprecht
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Lamprecht @ 2023-01-16 15:54 UTC (permalink / raw)
  To: Proxmox VE development discussion, Alexandre Derumier

Am 30/11/2022 um 16:18 schrieb Alexandre Derumier:
> parsing of prefix-list in frr.conf.local was missing
> 
> reported on forum:
> https://forum.proxmox.com/threads/using-the-proxmox-sdn-to-manage-host-connectivity-with-bgp.118553
> 
> Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
> ---
>  PVE/Network/SDN/Controllers/BgpPlugin.pm      |  2 +-
>  PVE/Network/SDN/Controllers/EvpnPlugin.pm     | 20 +++++++++++--------
>  .../ebgp_loopback/expected_controller_config  |  3 ++-
>  3 files changed, 15 insertions(+), 10 deletions(-)
> 
>

applied, thanks!




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-01-16 15:54 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-30 15:18 [pve-devel] [PATCH pve-network] frr: add prefix-list support Alexandre Derumier
2023-01-16 15:54 ` [pve-devel] applied: " Thomas Lamprecht

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal