all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Alexandre Derumier <aderumier@odiso.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH pve-network 3/3] frr: config : add exit on router && routemaps.
Date: Wed, 24 Aug 2022 10:56:46 +0200	[thread overview]
Message-ID: <20220824085646.561337-4-aderumier@odiso.com> (raw)
In-Reply-To: <20220824085646.561337-1-aderumier@odiso.com>

added recently in last frr releases,

just to be sure to no break on future releases

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
---
 PVE/Network/SDN/Controllers/EvpnPlugin.pm                    | 5 +++++
 test/zones/evpn/advertise_subnets/expected_controller_config | 4 ++++
 .../disable_arp_nd_suppression/expected_controller_config    | 4 ++++
 test/zones/evpn/ebgp/expected_controller_config              | 4 ++++
 test/zones/evpn/ebgp_loopback/expected_controller_config     | 5 +++++
 test/zones/evpn/exitnode/expected_controller_config          | 5 +++++
 .../evpn/exitnode_local_routing/expected_controller_config   | 5 +++++
 test/zones/evpn/exitnode_primary/expected_controller_config  | 5 +++++
 test/zones/evpn/exitnode_snat/expected_controller_config     | 5 +++++
 test/zones/evpn/ipv4/expected_controller_config              | 4 ++++
 test/zones/evpn/ipv4ipv6/expected_controller_config          | 4 ++++
 test/zones/evpn/ipv4ipv6nogateway/expected_controller_config | 4 ++++
 test/zones/evpn/ipv6/expected_controller_config              | 4 ++++
 test/zones/evpn/multipath_relax/expected_controller_config   | 4 ++++
 test/zones/evpn/rt_import/expected_controller_config         | 4 ++++
 15 files changed, 66 insertions(+)

diff --git a/PVE/Network/SDN/Controllers/EvpnPlugin.pm b/PVE/Network/SDN/Controllers/EvpnPlugin.pm
index 2bc10f5..857ad04 100644
--- a/PVE/Network/SDN/Controllers/EvpnPlugin.pm
+++ b/PVE/Network/SDN/Controllers/EvpnPlugin.pm
@@ -325,6 +325,9 @@ sub generate_frr_recurse{
    $exitkeylist->{vrf} = 1;
    $exitkeylist->{'address-family'} = 1;
 
+   my $simple_exitkeylist = {};
+   $simple_exitkeylist->{router} = 1;
+
    # FIXME: make this generic
    my $paddinglevel = undef;
    if ($level == 1 || $level == 2) {
@@ -349,6 +352,7 @@ sub generate_frr_recurse{
 	    generate_frr_recurse($final_config, $option, $key, $level+1);
 
 	    push @{$final_config}, $padding."exit-$parentkey" if $parentkey && defined($exitkeylist->{$parentkey});
+	    push @{$final_config}, $padding."exit" if $parentkey && defined($simple_exitkeylist->{$parentkey});
 	}
     }
 
@@ -373,6 +377,7 @@ sub generate_frr_routemap {
 		my $rule = $seq->{rule};
 		push @config, map { " $_" } @$rule;
 		push @{$final_config}, @config;
+		push @{$final_config}, "exit";
 	}
    }
 }
diff --git a/test/zones/evpn/advertise_subnets/expected_controller_config b/test/zones/evpn/advertise_subnets/expected_controller_config
index 1a7fea2..82b06b4 100644
--- a/test/zones/evpn/advertise_subnets/expected_controller_config
+++ b/test/zones/evpn/advertise_subnets/expected_controller_config
@@ -25,6 +25,7 @@ router bgp 65000
   neighbor VTEP activate
   advertise-all-vni
  exit-address-family
+exit
 !
 router bgp 65000 vrf vrf_myzone
  bgp router-id 192.168.0.1
@@ -41,10 +42,13 @@ router bgp 65000 vrf vrf_myzone
   advertise ipv4 unicast
   advertise ipv6 unicast
  exit-address-family
+exit
 !
 route-map MAP_VTEP_IN permit 1
+exit
 !
 route-map MAP_VTEP_OUT permit 1
+exit
 !
 line vty
 !
\ No newline at end of file
diff --git a/test/zones/evpn/disable_arp_nd_suppression/expected_controller_config b/test/zones/evpn/disable_arp_nd_suppression/expected_controller_config
index 7b6caf6..bd7830a 100644
--- a/test/zones/evpn/disable_arp_nd_suppression/expected_controller_config
+++ b/test/zones/evpn/disable_arp_nd_suppression/expected_controller_config
@@ -25,13 +25,17 @@ router bgp 65000
   neighbor VTEP activate
   advertise-all-vni
  exit-address-family
+exit
 !
 router bgp 65000 vrf vrf_myzone
  bgp router-id 192.168.0.1
+exit
 !
 route-map MAP_VTEP_IN permit 1
+exit
 !
 route-map MAP_VTEP_OUT permit 1
+exit
 !
 line vty
 !
\ No newline at end of file
diff --git a/test/zones/evpn/ebgp/expected_controller_config b/test/zones/evpn/ebgp/expected_controller_config
index 20e7dce..ccc0b28 100644
--- a/test/zones/evpn/ebgp/expected_controller_config
+++ b/test/zones/evpn/ebgp/expected_controller_config
@@ -37,6 +37,7 @@ router bgp 65001
   advertise-all-vni
   autort as 65000
  exit-address-family
+exit
 !
 router bgp 65001 vrf vrf_myzone
  bgp router-id 192.168.0.1
@@ -45,10 +46,13 @@ router bgp 65001 vrf vrf_myzone
   route-target import 65000:1000
   route-target export 65000:1000
  exit-address-family
+exit
 !
 route-map MAP_VTEP_IN permit 1
+exit
 !
 route-map MAP_VTEP_OUT permit 1
+exit
 !
 line vty
 !
\ No newline at end of file
diff --git a/test/zones/evpn/ebgp_loopback/expected_controller_config b/test/zones/evpn/ebgp_loopback/expected_controller_config
index 9c53a58..64fca31 100644
--- a/test/zones/evpn/ebgp_loopback/expected_controller_config
+++ b/test/zones/evpn/ebgp_loopback/expected_controller_config
@@ -42,6 +42,7 @@ router bgp 65001
   advertise-all-vni
   autort as 65000
  exit-address-family
+exit
 !
 router bgp 65001 vrf vrf_myzone
  bgp router-id 192.168.0.1
@@ -50,14 +51,18 @@ router bgp 65001 vrf vrf_myzone
   route-target import 65000:1000
   route-target export 65000:1000
  exit-address-family
+exit
 !
 route-map MAP_VTEP_IN permit 1
+exit
 !
 route-map MAP_VTEP_OUT permit 1
+exit
 !
 route-map correct_src permit 1
  match ip address prefix-list loopbacks_ips
  set src 192.168.0.1
+exit
 !
 line vty
 !
\ No newline at end of file
diff --git a/test/zones/evpn/exitnode/expected_controller_config b/test/zones/evpn/exitnode/expected_controller_config
index 7fa9b23..48830a3 100644
--- a/test/zones/evpn/exitnode/expected_controller_config
+++ b/test/zones/evpn/exitnode/expected_controller_config
@@ -33,6 +33,7 @@ router bgp 65000
   neighbor VTEP activate
   advertise-all-vni
  exit-address-family
+exit
 !
 router bgp 65000 vrf vrf_myzone
  bgp router-id 192.168.0.1
@@ -49,13 +50,17 @@ router bgp 65000 vrf vrf_myzone
   default-originate ipv4
   default-originate ipv6
  exit-address-family
+exit
 !
 route-map MAP_VTEP_IN deny 1
  match evpn route-type prefix
+exit
 !
 route-map MAP_VTEP_IN permit 2
+exit
 !
 route-map MAP_VTEP_OUT permit 1
+exit
 !
 line vty
 !
\ No newline at end of file
diff --git a/test/zones/evpn/exitnode_local_routing/expected_controller_config b/test/zones/evpn/exitnode_local_routing/expected_controller_config
index 5ddb42b..f671b63 100644
--- a/test/zones/evpn/exitnode_local_routing/expected_controller_config
+++ b/test/zones/evpn/exitnode_local_routing/expected_controller_config
@@ -26,6 +26,7 @@ router bgp 65000
   neighbor VTEP activate
   advertise-all-vni
  exit-address-family
+exit
 !
 router bgp 65000 vrf vrf_myzone
  bgp router-id 192.168.0.1
@@ -34,13 +35,17 @@ router bgp 65000 vrf vrf_myzone
   default-originate ipv4
   default-originate ipv6
  exit-address-family
+exit
 !
 route-map MAP_VTEP_IN deny 1
  match evpn route-type prefix
+exit
 !
 route-map MAP_VTEP_IN permit 2
+exit
 !
 route-map MAP_VTEP_OUT permit 1
+exit
 !
 line vty
 !
\ No newline at end of file
diff --git a/test/zones/evpn/exitnode_primary/expected_controller_config b/test/zones/evpn/exitnode_primary/expected_controller_config
index 3155866..e45b22c 100644
--- a/test/zones/evpn/exitnode_primary/expected_controller_config
+++ b/test/zones/evpn/exitnode_primary/expected_controller_config
@@ -33,6 +33,7 @@ router bgp 65000
   neighbor VTEP activate
   advertise-all-vni
  exit-address-family
+exit
 !
 router bgp 65000 vrf vrf_myzone
  bgp router-id 192.168.0.1
@@ -49,15 +50,19 @@ router bgp 65000 vrf vrf_myzone
   default-originate ipv4
   default-originate ipv6
  exit-address-family
+exit
 !
 route-map MAP_VTEP_IN permit 1
+exit
 !
 route-map MAP_VTEP_OUT permit 1
  match evpn vni 1000
  match evpn route-type prefix
  set metric 200
+exit
 !
 route-map MAP_VTEP_OUT permit 2
+exit
 !
 line vty
 !
\ No newline at end of file
diff --git a/test/zones/evpn/exitnode_snat/expected_controller_config b/test/zones/evpn/exitnode_snat/expected_controller_config
index 7fa9b23..48830a3 100644
--- a/test/zones/evpn/exitnode_snat/expected_controller_config
+++ b/test/zones/evpn/exitnode_snat/expected_controller_config
@@ -33,6 +33,7 @@ router bgp 65000
   neighbor VTEP activate
   advertise-all-vni
  exit-address-family
+exit
 !
 router bgp 65000 vrf vrf_myzone
  bgp router-id 192.168.0.1
@@ -49,13 +50,17 @@ router bgp 65000 vrf vrf_myzone
   default-originate ipv4
   default-originate ipv6
  exit-address-family
+exit
 !
 route-map MAP_VTEP_IN deny 1
  match evpn route-type prefix
+exit
 !
 route-map MAP_VTEP_IN permit 2
+exit
 !
 route-map MAP_VTEP_OUT permit 1
+exit
 !
 line vty
 !
\ No newline at end of file
diff --git a/test/zones/evpn/ipv4/expected_controller_config b/test/zones/evpn/ipv4/expected_controller_config
index 7b6caf6..bd7830a 100644
--- a/test/zones/evpn/ipv4/expected_controller_config
+++ b/test/zones/evpn/ipv4/expected_controller_config
@@ -25,13 +25,17 @@ router bgp 65000
   neighbor VTEP activate
   advertise-all-vni
  exit-address-family
+exit
 !
 router bgp 65000 vrf vrf_myzone
  bgp router-id 192.168.0.1
+exit
 !
 route-map MAP_VTEP_IN permit 1
+exit
 !
 route-map MAP_VTEP_OUT permit 1
+exit
 !
 line vty
 !
\ No newline at end of file
diff --git a/test/zones/evpn/ipv4ipv6/expected_controller_config b/test/zones/evpn/ipv4ipv6/expected_controller_config
index 7b6caf6..bd7830a 100644
--- a/test/zones/evpn/ipv4ipv6/expected_controller_config
+++ b/test/zones/evpn/ipv4ipv6/expected_controller_config
@@ -25,13 +25,17 @@ router bgp 65000
   neighbor VTEP activate
   advertise-all-vni
  exit-address-family
+exit
 !
 router bgp 65000 vrf vrf_myzone
  bgp router-id 192.168.0.1
+exit
 !
 route-map MAP_VTEP_IN permit 1
+exit
 !
 route-map MAP_VTEP_OUT permit 1
+exit
 !
 line vty
 !
\ No newline at end of file
diff --git a/test/zones/evpn/ipv4ipv6nogateway/expected_controller_config b/test/zones/evpn/ipv4ipv6nogateway/expected_controller_config
index 7b6caf6..bd7830a 100644
--- a/test/zones/evpn/ipv4ipv6nogateway/expected_controller_config
+++ b/test/zones/evpn/ipv4ipv6nogateway/expected_controller_config
@@ -25,13 +25,17 @@ router bgp 65000
   neighbor VTEP activate
   advertise-all-vni
  exit-address-family
+exit
 !
 router bgp 65000 vrf vrf_myzone
  bgp router-id 192.168.0.1
+exit
 !
 route-map MAP_VTEP_IN permit 1
+exit
 !
 route-map MAP_VTEP_OUT permit 1
+exit
 !
 line vty
 !
\ No newline at end of file
diff --git a/test/zones/evpn/ipv6/expected_controller_config b/test/zones/evpn/ipv6/expected_controller_config
index 7b6caf6..bd7830a 100644
--- a/test/zones/evpn/ipv6/expected_controller_config
+++ b/test/zones/evpn/ipv6/expected_controller_config
@@ -25,13 +25,17 @@ router bgp 65000
   neighbor VTEP activate
   advertise-all-vni
  exit-address-family
+exit
 !
 router bgp 65000 vrf vrf_myzone
  bgp router-id 192.168.0.1
+exit
 !
 route-map MAP_VTEP_IN permit 1
+exit
 !
 route-map MAP_VTEP_OUT permit 1
+exit
 !
 line vty
 !
\ No newline at end of file
diff --git a/test/zones/evpn/multipath_relax/expected_controller_config b/test/zones/evpn/multipath_relax/expected_controller_config
index b2df0b5..2d1ad44 100644
--- a/test/zones/evpn/multipath_relax/expected_controller_config
+++ b/test/zones/evpn/multipath_relax/expected_controller_config
@@ -37,13 +37,17 @@ router bgp 65000
   neighbor VTEP activate
   advertise-all-vni
  exit-address-family
+exit
 !
 router bgp 65000 vrf vrf_myzone
  bgp router-id 192.168.0.1
+exit
 !
 route-map MAP_VTEP_IN permit 1
+exit
 !
 route-map MAP_VTEP_OUT permit 1
+exit
 !
 line vty
 !
\ No newline at end of file
diff --git a/test/zones/evpn/rt_import/expected_controller_config b/test/zones/evpn/rt_import/expected_controller_config
index 3fd6870..f4f28dd 100644
--- a/test/zones/evpn/rt_import/expected_controller_config
+++ b/test/zones/evpn/rt_import/expected_controller_config
@@ -25,6 +25,7 @@ router bgp 65000
   neighbor VTEP activate
   advertise-all-vni
  exit-address-family
+exit
 !
 router bgp 65000 vrf vrf_myzone
  bgp router-id 192.168.0.1
@@ -34,10 +35,13 @@ router bgp 65000 vrf vrf_myzone
   route-target import 65002:1000
   route-target import 65003:1000
  exit-address-family
+exit
 !
 route-map MAP_VTEP_IN permit 1
+exit
 !
 route-map MAP_VTEP_OUT permit 1
+exit
 !
 line vty
 !
\ No newline at end of file
-- 
2.30.2




  parent reply	other threads:[~2022-08-24  8:57 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-24  8:56 [pve-devel] [PATCH pve-network 0/3] evpn improvment Alexandre Derumier
2022-08-24  8:56 ` [pve-devel] [PATCH pve-network 1/3] frr: update config frrversion to 8.2.2 Alexandre Derumier
2022-08-24  8:56 ` [pve-devel] [PATCH pve-network 2/3] frr: add a local config parser and merge with generated config Alexandre Derumier
2022-08-24  8:56 ` Alexandre Derumier [this message]
2022-08-31  9:49 ` [pve-devel] applied-series: [PATCH pve-network 0/3] evpn improvment Thomas Lamprecht

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220824085646.561337-4-aderumier@odiso.com \
    --to=aderumier@odiso.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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