* [pve-devel] [PATCH pve-network 0/4] evpn controller fix && cleanup
@ 2023-12-03 15:46 Alexandre Derumier
2023-12-03 15:46 ` [pve-devel] [PATCH pve-network 1/4] controllers: evpn: add ipv6 prefix-list support Alexandre Derumier
` (5 more replies)
0 siblings, 6 replies; 8+ messages in thread
From: Alexandre Derumier @ 2023-12-03 15:46 UTC (permalink / raw)
To: pve-devel
This patch serie is fixing 1 critical bug with multiple exit-nodes
and other minor ipv6 bug with prefix-list && null routes.
Also cleaning the re-ordering of some values in frr.conf to match
the output of frr running config.
Alexandre Derumier (4):
controllers: evpn: add ipv6 prefix-list support
controllers: evpn: bugfix: use prefix-list in route-map instead evpn
match
controllers: evpn: frr config cleanup
controllers: evpn: fix null routes order && ipv6
src/PVE/Network/SDN/Controllers/EvpnPlugin.pm | 52 +++++++++++++++----
.../expected_controller_config | 6 +--
.../expected_controller_config | 6 +--
.../evpn/ebgp/expected_controller_config | 6 +--
.../ebgp_loopback/expected_controller_config | 6 +--
.../evpn/exitnode/expected_controller_config | 19 ++++---
.../expected_controller_config | 19 ++++---
.../expected_controller_config | 18 +++++--
.../exitnode_snat/expected_controller_config | 19 ++++---
.../expected_controller_config | 33 +++++++++---
.../exitnodenullroute/expected_sdn_interfaces | 8 +++
.../zones/evpn/exitnodenullroute/sdn_config | 35 +++++++++++++
.../evpn/ipv4/expected_controller_config | 6 +--
.../evpn/ipv4ipv6/expected_controller_config | 6 +--
.../expected_controller_config | 6 +--
.../evpn/ipv6/expected_controller_config | 6 +--
.../evpn/isis/expected_controller_config | 6 +--
.../isis_loopback/expected_controller_config | 6 +--
.../expected_controller_config | 6 +--
.../multiplezones/expected_controller_config | 6 +--
.../evpn/rt_import/expected_controller_config | 6 +--
.../evpn/vxlanport/expected_controller_config | 6 +--
22 files changed, 203 insertions(+), 84 deletions(-)
--
2.39.2
^ permalink raw reply [flat|nested] 8+ messages in thread
* [pve-devel] [PATCH pve-network 1/4] controllers: evpn: add ipv6 prefix-list support
2023-12-03 15:46 [pve-devel] [PATCH pve-network 0/4] evpn controller fix && cleanup Alexandre Derumier
@ 2023-12-03 15:46 ` Alexandre Derumier
2023-12-03 15:46 ` [pve-devel] [PATCH pve-network 2/4] controllers: evpn: bugfix: use prefix-list in route-map instead evpn match Alexandre Derumier
` (4 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Alexandre Derumier @ 2023-12-03 15:46 UTC (permalink / raw)
To: pve-devel
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
---
src/PVE/Network/SDN/Controllers/EvpnPlugin.pm | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm b/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm
index f320139..e536226 100644
--- a/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm
+++ b/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm
@@ -484,6 +484,7 @@ sub generate_controller_rawconfig {
generate_frr_recurse($final_config, $config->{frr}, undef, 0);
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_list($final_config, $config->{frr_prefix_list_v6}, "ipv6 prefix-list");
generate_frr_routemap($final_config, $config->{frr_routemap});
generate_frr_ip_protocol($final_config, $config->{frr_ip_protocol});
@@ -535,6 +536,9 @@ sub parse_merge_frr_local_config {
} elsif ($line =~ m/^ip prefix-list (.+) seq (\d+) (.*)$/) {
$config->{'frr_prefix_list'}->{$1}->{$2} = $3;
next;
+ } elsif ($line =~ m/^ipv6 prefix-list (.+) seq (\d+) (.*)$/) {
+ $config->{'frr_prefix_list_v6'}->{$1}->{$2} = $3;
+ next;
} elsif($line =~ m/^exit-address-family$/) {
next;
} elsif($line =~ m/^exit$/) {
--
2.39.2
^ permalink raw reply [flat|nested] 8+ messages in thread
* [pve-devel] [PATCH pve-network 2/4] controllers: evpn: bugfix: use prefix-list in route-map instead evpn match
2023-12-03 15:46 [pve-devel] [PATCH pve-network 0/4] evpn controller fix && cleanup Alexandre Derumier
2023-12-03 15:46 ` [pve-devel] [PATCH pve-network 1/4] controllers: evpn: add ipv6 prefix-list support Alexandre Derumier
@ 2023-12-03 15:46 ` Alexandre Derumier
2023-12-03 15:46 ` [pve-devel] [PATCH pve-network 3/4] controllers: evpn: frr config cleanup Alexandre Derumier
` (3 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Alexandre Derumier @ 2023-12-03 15:46 UTC (permalink / raw)
To: pve-devel
"match evpn" in route-map is broken since 8.5.0
https://github.com/FRRouting/frr/issues/14419
the patch
https://github.com/FRRouting/frr/commit/272c6d5db128ff7450fe9fcd16c046160594deb3
is converting type-2 && type-5 evpn routes to prefix-prefix.
(fixing prefix-list not working previously, but breaking "match evpn")
So, simply use prefix-list now, as "match epvn" was a workaround anyway.
reported on the forum, where user have routing loop between the 2 exit-nodes:
https://forum.proxmox.com/threads/sdn-with-evpn-controller-routing-loop-when-using-multiple-exit-nodes.137362/
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
---
src/PVE/Network/SDN/Controllers/EvpnPlugin.pm | 26 ++++++++++++++-----
.../evpn/exitnode/expected_controller_config | 13 +++++++---
.../expected_controller_config | 13 +++++++---
.../expected_controller_config | 12 +++++++--
.../exitnode_snat/expected_controller_config | 13 +++++++---
.../expected_controller_config | 20 ++++++++++----
6 files changed, 74 insertions(+), 23 deletions(-)
diff --git a/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm b/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm
index e536226..f1605a3 100644
--- a/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm
+++ b/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm
@@ -188,22 +188,34 @@ sub generate_controller_zone_config {
if ($is_gateway) {
+ $config->{frr_prefix_list}->{'only_default'}->{1} = "permit 0.0.0.0/0";
+ $config->{frr_prefix_list_v6}->{'only_default_v6'}->{1} = "permit ::/0";
+
if (!$exitnodes_primary || $exitnodes_primary eq $local_node) {
- #filter default type5 route coming from other exit nodes on primary node or both nodes if no primary is defined.
+ #filter default route coming from other exit nodes on primary node or both nodes if no primary is defined.
+ my $routemap_config_v6 = ();
+ push @{$routemap_config_v6}, "match ip address prefix-list only_default_v6";
+ my $routemap_v6 = { rule => $routemap_config_v6, action => "deny" };
+ unshift(@{$config->{frr_routemap}->{'MAP_VTEP_IN'}}, $routemap_v6);
+
my $routemap_config = ();
- push @{$routemap_config}, "match evpn vni $vrfvxlan";
- push @{$routemap_config}, "match evpn route-type prefix";
+ push @{$routemap_config}, "match ip address prefix-list only_default";
my $routemap = { rule => $routemap_config, action => "deny" };
unshift(@{$config->{frr_routemap}->{'MAP_VTEP_IN'}}, $routemap);
+
} elsif ($exitnodes_primary ne $local_node) {
+ my $routemap_config_v6 = ();
+ push @{$routemap_config_v6}, "match ipv6 address prefix-list only_default_v6";
+ push @{$routemap_config_v6}, "set metric 200";
+ my $routemap_v6 = { rule => $routemap_config_v6, action => "permit" };
+ unshift(@{$config->{frr_routemap}->{'MAP_VTEP_OUT'}}, $routemap_v6);
+
my $routemap_config = ();
- push @{$routemap_config}, "match evpn vni $vrfvxlan";
- push @{$routemap_config}, "match evpn route-type prefix";
+ push @{$routemap_config}, "match ip address prefix-list only_default";
push @{$routemap_config}, "set metric 200";
my $routemap = { rule => $routemap_config, action => "permit" };
unshift(@{$config->{frr_routemap}->{'MAP_VTEP_OUT'}}, $routemap);
- }
-
+ }
if (!$exitnodes_local_routing) {
@controller_config = ();
diff --git a/src/test/zones/evpn/exitnode/expected_controller_config b/src/test/zones/evpn/exitnode/expected_controller_config
index 598233f..f327e34 100644
--- a/src/test/zones/evpn/exitnode/expected_controller_config
+++ b/src/test/zones/evpn/exitnode/expected_controller_config
@@ -56,12 +56,19 @@ router bgp 65000 vrf vrf_myzone
exit-address-family
exit
!
+ip prefix-list only_default seq 1 permit 0.0.0.0/0
+!
+ipv6 prefix-list only_default_v6 seq 1 permit ::/0
+!
route-map MAP_VTEP_IN deny 1
- match evpn vni 1000
- match evpn route-type prefix
+ match ip address prefix-list only_default
+exit
+!
+route-map MAP_VTEP_IN deny 2
+ match ip address prefix-list only_default_v6
exit
!
-route-map MAP_VTEP_IN permit 2
+route-map MAP_VTEP_IN permit 3
exit
!
route-map MAP_VTEP_OUT permit 1
diff --git a/src/test/zones/evpn/exitnode_local_routing/expected_controller_config b/src/test/zones/evpn/exitnode_local_routing/expected_controller_config
index 8c8e485..5b96cd8 100644
--- a/src/test/zones/evpn/exitnode_local_routing/expected_controller_config
+++ b/src/test/zones/evpn/exitnode_local_routing/expected_controller_config
@@ -40,12 +40,19 @@ router bgp 65000 vrf vrf_myzone
exit-address-family
exit
!
+ip prefix-list only_default seq 1 permit 0.0.0.0/0
+!
+ipv6 prefix-list only_default_v6 seq 1 permit ::/0
+!
route-map MAP_VTEP_IN deny 1
- match evpn vni 1000
- match evpn route-type prefix
+ match ip address prefix-list only_default
+exit
+!
+route-map MAP_VTEP_IN deny 2
+ match ip address prefix-list only_default_v6
exit
!
-route-map MAP_VTEP_IN permit 2
+route-map MAP_VTEP_IN permit 3
exit
!
route-map MAP_VTEP_OUT permit 1
diff --git a/src/test/zones/evpn/exitnode_primary/expected_controller_config b/src/test/zones/evpn/exitnode_primary/expected_controller_config
index ec73a38..b7f2db5 100644
--- a/src/test/zones/evpn/exitnode_primary/expected_controller_config
+++ b/src/test/zones/evpn/exitnode_primary/expected_controller_config
@@ -56,16 +56,24 @@ router bgp 65000 vrf vrf_myzone
exit-address-family
exit
!
+ip prefix-list only_default seq 1 permit 0.0.0.0/0
+!
+ipv6 prefix-list only_default_v6 seq 1 permit ::/0
+!
route-map MAP_VTEP_IN permit 1
exit
!
route-map MAP_VTEP_OUT permit 1
- match evpn vni 1000
- match evpn route-type prefix
+ match ip address prefix-list only_default
set metric 200
exit
!
route-map MAP_VTEP_OUT permit 2
+ match ipv6 address prefix-list only_default_v6
+ set metric 200
+exit
+!
+route-map MAP_VTEP_OUT permit 3
exit
!
line vty
diff --git a/src/test/zones/evpn/exitnode_snat/expected_controller_config b/src/test/zones/evpn/exitnode_snat/expected_controller_config
index 598233f..f327e34 100644
--- a/src/test/zones/evpn/exitnode_snat/expected_controller_config
+++ b/src/test/zones/evpn/exitnode_snat/expected_controller_config
@@ -56,12 +56,19 @@ router bgp 65000 vrf vrf_myzone
exit-address-family
exit
!
+ip prefix-list only_default seq 1 permit 0.0.0.0/0
+!
+ipv6 prefix-list only_default_v6 seq 1 permit ::/0
+!
route-map MAP_VTEP_IN deny 1
- match evpn vni 1000
- match evpn route-type prefix
+ match ip address prefix-list only_default
+exit
+!
+route-map MAP_VTEP_IN deny 2
+ match ip address prefix-list only_default_v6
exit
!
-route-map MAP_VTEP_IN permit 2
+route-map MAP_VTEP_IN permit 3
exit
!
route-map MAP_VTEP_OUT permit 1
diff --git a/src/test/zones/evpn/exitnodenullroute/expected_controller_config b/src/test/zones/evpn/exitnodenullroute/expected_controller_config
index 7dc8517..1728c02 100644
--- a/src/test/zones/evpn/exitnodenullroute/expected_controller_config
+++ b/src/test/zones/evpn/exitnodenullroute/expected_controller_config
@@ -84,17 +84,27 @@ router bgp 65000 vrf vrf_myzone2
exit-address-family
exit
!
+ip prefix-list only_default seq 1 permit 0.0.0.0/0
+!
+ipv6 prefix-list only_default_v6 seq 1 permit ::/0
+!
route-map MAP_VTEP_IN deny 1
- match evpn vni 1001
- match evpn route-type prefix
+ match ip address prefix-list only_default
exit
!
route-map MAP_VTEP_IN deny 2
- match evpn vni 1000
- match evpn route-type prefix
+ match ip address prefix-list only_default_v6
+exit
+!
+route-map MAP_VTEP_IN deny 3
+ match ip address prefix-list only_default
+exit
+!
+route-map MAP_VTEP_IN deny 4
+ match ip address prefix-list only_default_v6
exit
!
-route-map MAP_VTEP_IN permit 3
+route-map MAP_VTEP_IN permit 5
exit
!
route-map MAP_VTEP_OUT permit 1
--
2.39.2
^ permalink raw reply [flat|nested] 8+ messages in thread
* [pve-devel] [PATCH pve-network 3/4] controllers: evpn: frr config cleanup
2023-12-03 15:46 [pve-devel] [PATCH pve-network 0/4] evpn controller fix && cleanup Alexandre Derumier
2023-12-03 15:46 ` [pve-devel] [PATCH pve-network 1/4] controllers: evpn: add ipv6 prefix-list support Alexandre Derumier
2023-12-03 15:46 ` [pve-devel] [PATCH pve-network 2/4] controllers: evpn: bugfix: use prefix-list in route-map instead evpn match Alexandre Derumier
@ 2023-12-03 15:46 ` Alexandre Derumier
2023-12-03 15:46 ` [pve-devel] [PATCH pve-network 4/4] controllers: evpn: fix null routes order && ipv6 Alexandre Derumier
` (2 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Alexandre Derumier @ 2023-12-03 15:46 UTC (permalink / raw)
To: pve-devel
Some values have been reordered in last version
- bump version to 8.5.2
- move no bgp graceful-restart notification
- move neighbor VTEP activate
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
---
src/PVE/Network/SDN/Controllers/EvpnPlugin.pm | 6 +++---
.../zones/evpn/advertise_subnets/expected_controller_config | 6 +++---
.../disable_arp_nd_suppression/expected_controller_config | 6 +++---
src/test/zones/evpn/ebgp/expected_controller_config | 6 +++---
.../zones/evpn/ebgp_loopback/expected_controller_config | 6 +++---
src/test/zones/evpn/exitnode/expected_controller_config | 6 +++---
.../evpn/exitnode_local_routing/expected_controller_config | 6 +++---
.../zones/evpn/exitnode_primary/expected_controller_config | 6 +++---
.../zones/evpn/exitnode_snat/expected_controller_config | 6 +++---
.../zones/evpn/exitnodenullroute/expected_controller_config | 6 +++---
src/test/zones/evpn/ipv4/expected_controller_config | 6 +++---
src/test/zones/evpn/ipv4ipv6/expected_controller_config | 6 +++---
.../zones/evpn/ipv4ipv6nogateway/expected_controller_config | 6 +++---
src/test/zones/evpn/ipv6/expected_controller_config | 6 +++---
src/test/zones/evpn/isis/expected_controller_config | 6 +++---
.../zones/evpn/isis_loopback/expected_controller_config | 6 +++---
.../zones/evpn/multipath_relax/expected_controller_config | 6 +++---
.../zones/evpn/multiplezones/expected_controller_config | 6 +++---
src/test/zones/evpn/rt_import/expected_controller_config | 6 +++---
src/test/zones/evpn/vxlanport/expected_controller_config | 6 +++---
20 files changed, 60 insertions(+), 60 deletions(-)
diff --git a/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm b/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm
index f1605a3..648f341 100644
--- a/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm
+++ b/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm
@@ -77,9 +77,9 @@ sub generate_controller_config {
my @controller_config = (
"bgp router-id $ifaceip",
"no bgp hard-administrative-reset",
- "no bgp graceful-restart notification",
"no bgp default ipv4-unicast",
"coalesce-time 1000",
+ "no bgp graceful-restart notification",
);
push(@{$bgp->{""}}, @controller_config) if keys %{$bgp} == 0;
@@ -104,9 +104,9 @@ sub generate_controller_config {
# address-family l2vpn
@controller_config = ();
+ push @controller_config, "neighbor VTEP activate";
push @controller_config, "neighbor VTEP route-map MAP_VTEP_IN in";
push @controller_config, "neighbor VTEP route-map MAP_VTEP_OUT out";
- push @controller_config, "neighbor VTEP activate";
push @controller_config, "advertise-all-vni";
push @controller_config, "autort as $autortas" if $autortas;
push(@{$bgp->{"address-family"}->{"l2vpn evpn"}}, @controller_config);
@@ -479,7 +479,7 @@ sub generate_controller_rawconfig {
my $nodename = PVE::INotify::nodename();
my $final_config = [];
- push @{$final_config}, "frr version 8.5.1";
+ push @{$final_config}, "frr version 8.5.2";
push @{$final_config}, "frr defaults datacenter";
push @{$final_config}, "hostname $nodename";
push @{$final_config}, "log syslog informational";
diff --git a/src/test/zones/evpn/advertise_subnets/expected_controller_config b/src/test/zones/evpn/advertise_subnets/expected_controller_config
index 15f4581..473a470 100644
--- a/src/test/zones/evpn/advertise_subnets/expected_controller_config
+++ b/src/test/zones/evpn/advertise_subnets/expected_controller_config
@@ -1,4 +1,4 @@
-frr version 8.5.1
+frr version 8.5.2
frr defaults datacenter
hostname localhost
log syslog informational
@@ -12,9 +12,9 @@ exit-vrf
router bgp 65000
bgp router-id 192.168.0.1
no bgp hard-administrative-reset
- no bgp graceful-restart notification
no bgp default ipv4-unicast
coalesce-time 1000
+ no bgp graceful-restart notification
neighbor VTEP peer-group
neighbor VTEP remote-as 65000
neighbor VTEP bfd
@@ -22,9 +22,9 @@ router bgp 65000
neighbor 192.168.0.3 peer-group VTEP
!
address-family l2vpn evpn
+ neighbor VTEP activate
neighbor VTEP route-map MAP_VTEP_IN in
neighbor VTEP route-map MAP_VTEP_OUT out
- neighbor VTEP activate
advertise-all-vni
exit-address-family
exit
diff --git a/src/test/zones/evpn/disable_arp_nd_suppression/expected_controller_config b/src/test/zones/evpn/disable_arp_nd_suppression/expected_controller_config
index d5d310d..9d8ec60 100644
--- a/src/test/zones/evpn/disable_arp_nd_suppression/expected_controller_config
+++ b/src/test/zones/evpn/disable_arp_nd_suppression/expected_controller_config
@@ -1,4 +1,4 @@
-frr version 8.5.1
+frr version 8.5.2
frr defaults datacenter
hostname localhost
log syslog informational
@@ -12,9 +12,9 @@ exit-vrf
router bgp 65000
bgp router-id 192.168.0.1
no bgp hard-administrative-reset
- no bgp graceful-restart notification
no bgp default ipv4-unicast
coalesce-time 1000
+ no bgp graceful-restart notification
neighbor VTEP peer-group
neighbor VTEP remote-as 65000
neighbor VTEP bfd
@@ -22,9 +22,9 @@ router bgp 65000
neighbor 192.168.0.3 peer-group VTEP
!
address-family l2vpn evpn
+ neighbor VTEP activate
neighbor VTEP route-map MAP_VTEP_IN in
neighbor VTEP route-map MAP_VTEP_OUT out
- neighbor VTEP activate
advertise-all-vni
exit-address-family
exit
diff --git a/src/test/zones/evpn/ebgp/expected_controller_config b/src/test/zones/evpn/ebgp/expected_controller_config
index 1f14b80..8dfb6de 100644
--- a/src/test/zones/evpn/ebgp/expected_controller_config
+++ b/src/test/zones/evpn/ebgp/expected_controller_config
@@ -1,4 +1,4 @@
-frr version 8.5.1
+frr version 8.5.2
frr defaults datacenter
hostname localhost
log syslog informational
@@ -12,9 +12,9 @@ exit-vrf
router bgp 65001
bgp router-id 192.168.0.1
no bgp hard-administrative-reset
- no bgp graceful-restart notification
no bgp default ipv4-unicast
coalesce-time 1000
+ no bgp graceful-restart notification
neighbor VTEP peer-group
neighbor VTEP remote-as external
neighbor VTEP bfd
@@ -33,9 +33,9 @@ router bgp 65001
exit-address-family
!
address-family l2vpn evpn
+ neighbor VTEP activate
neighbor VTEP route-map MAP_VTEP_IN in
neighbor VTEP route-map MAP_VTEP_OUT out
- neighbor VTEP activate
advertise-all-vni
autort as 65000
exit-address-family
diff --git a/src/test/zones/evpn/ebgp_loopback/expected_controller_config b/src/test/zones/evpn/ebgp_loopback/expected_controller_config
index 1add7f5..82eef11 100644
--- a/src/test/zones/evpn/ebgp_loopback/expected_controller_config
+++ b/src/test/zones/evpn/ebgp_loopback/expected_controller_config
@@ -1,4 +1,4 @@
-frr version 8.5.1
+frr version 8.5.2
frr defaults datacenter
hostname localhost
log syslog informational
@@ -12,9 +12,9 @@ exit-vrf
router bgp 65001
bgp router-id 192.168.0.1
no bgp hard-administrative-reset
- no bgp graceful-restart notification
no bgp default ipv4-unicast
coalesce-time 1000
+ no bgp graceful-restart notification
neighbor VTEP peer-group
neighbor VTEP remote-as external
neighbor VTEP bfd
@@ -36,9 +36,9 @@ router bgp 65001
exit-address-family
!
address-family l2vpn evpn
+ neighbor VTEP activate
neighbor VTEP route-map MAP_VTEP_IN in
neighbor VTEP route-map MAP_VTEP_OUT out
- neighbor VTEP activate
advertise-all-vni
autort as 65000
exit-address-family
diff --git a/src/test/zones/evpn/exitnode/expected_controller_config b/src/test/zones/evpn/exitnode/expected_controller_config
index f327e34..50b702b 100644
--- a/src/test/zones/evpn/exitnode/expected_controller_config
+++ b/src/test/zones/evpn/exitnode/expected_controller_config
@@ -1,4 +1,4 @@
-frr version 8.5.1
+frr version 8.5.2
frr defaults datacenter
hostname localhost
log syslog informational
@@ -12,9 +12,9 @@ exit-vrf
router bgp 65000
bgp router-id 192.168.0.1
no bgp hard-administrative-reset
- no bgp graceful-restart notification
no bgp default ipv4-unicast
coalesce-time 1000
+ no bgp graceful-restart notification
neighbor VTEP peer-group
neighbor VTEP remote-as 65000
neighbor VTEP bfd
@@ -30,9 +30,9 @@ router bgp 65000
exit-address-family
!
address-family l2vpn evpn
+ neighbor VTEP activate
neighbor VTEP route-map MAP_VTEP_IN in
neighbor VTEP route-map MAP_VTEP_OUT out
- neighbor VTEP activate
advertise-all-vni
exit-address-family
exit
diff --git a/src/test/zones/evpn/exitnode_local_routing/expected_controller_config b/src/test/zones/evpn/exitnode_local_routing/expected_controller_config
index 5b96cd8..456574d 100644
--- a/src/test/zones/evpn/exitnode_local_routing/expected_controller_config
+++ b/src/test/zones/evpn/exitnode_local_routing/expected_controller_config
@@ -1,4 +1,4 @@
-frr version 8.5.1
+frr version 8.5.2
frr defaults datacenter
hostname localhost
log syslog informational
@@ -12,9 +12,9 @@ exit-vrf
router bgp 65000
bgp router-id 192.168.0.1
no bgp hard-administrative-reset
- no bgp graceful-restart notification
no bgp default ipv4-unicast
coalesce-time 1000
+ no bgp graceful-restart notification
neighbor VTEP peer-group
neighbor VTEP remote-as 65000
neighbor VTEP bfd
@@ -22,9 +22,9 @@ router bgp 65000
neighbor 192.168.0.3 peer-group VTEP
!
address-family l2vpn evpn
+ neighbor VTEP activate
neighbor VTEP route-map MAP_VTEP_IN in
neighbor VTEP route-map MAP_VTEP_OUT out
- neighbor VTEP activate
advertise-all-vni
exit-address-family
exit
diff --git a/src/test/zones/evpn/exitnode_primary/expected_controller_config b/src/test/zones/evpn/exitnode_primary/expected_controller_config
index b7f2db5..28c91a5 100644
--- a/src/test/zones/evpn/exitnode_primary/expected_controller_config
+++ b/src/test/zones/evpn/exitnode_primary/expected_controller_config
@@ -1,4 +1,4 @@
-frr version 8.5.1
+frr version 8.5.2
frr defaults datacenter
hostname localhost
log syslog informational
@@ -12,9 +12,9 @@ exit-vrf
router bgp 65000
bgp router-id 192.168.0.1
no bgp hard-administrative-reset
- no bgp graceful-restart notification
no bgp default ipv4-unicast
coalesce-time 1000
+ no bgp graceful-restart notification
neighbor VTEP peer-group
neighbor VTEP remote-as 65000
neighbor VTEP bfd
@@ -30,9 +30,9 @@ router bgp 65000
exit-address-family
!
address-family l2vpn evpn
+ neighbor VTEP activate
neighbor VTEP route-map MAP_VTEP_IN in
neighbor VTEP route-map MAP_VTEP_OUT out
- neighbor VTEP activate
advertise-all-vni
exit-address-family
exit
diff --git a/src/test/zones/evpn/exitnode_snat/expected_controller_config b/src/test/zones/evpn/exitnode_snat/expected_controller_config
index f327e34..50b702b 100644
--- a/src/test/zones/evpn/exitnode_snat/expected_controller_config
+++ b/src/test/zones/evpn/exitnode_snat/expected_controller_config
@@ -1,4 +1,4 @@
-frr version 8.5.1
+frr version 8.5.2
frr defaults datacenter
hostname localhost
log syslog informational
@@ -12,9 +12,9 @@ exit-vrf
router bgp 65000
bgp router-id 192.168.0.1
no bgp hard-administrative-reset
- no bgp graceful-restart notification
no bgp default ipv4-unicast
coalesce-time 1000
+ no bgp graceful-restart notification
neighbor VTEP peer-group
neighbor VTEP remote-as 65000
neighbor VTEP bfd
@@ -30,9 +30,9 @@ router bgp 65000
exit-address-family
!
address-family l2vpn evpn
+ neighbor VTEP activate
neighbor VTEP route-map MAP_VTEP_IN in
neighbor VTEP route-map MAP_VTEP_OUT out
- neighbor VTEP activate
advertise-all-vni
exit-address-family
exit
diff --git a/src/test/zones/evpn/exitnodenullroute/expected_controller_config b/src/test/zones/evpn/exitnodenullroute/expected_controller_config
index 1728c02..e05fc77 100644
--- a/src/test/zones/evpn/exitnodenullroute/expected_controller_config
+++ b/src/test/zones/evpn/exitnodenullroute/expected_controller_config
@@ -1,4 +1,4 @@
-frr version 8.5.1
+frr version 8.5.2
frr defaults datacenter
hostname localhost
log syslog informational
@@ -19,9 +19,9 @@ exit-vrf
router bgp 65000
bgp router-id 192.168.0.1
no bgp hard-administrative-reset
- no bgp graceful-restart notification
no bgp default ipv4-unicast
coalesce-time 1000
+ no bgp graceful-restart notification
neighbor VTEP peer-group
neighbor VTEP remote-as 65000
neighbor VTEP bfd
@@ -39,9 +39,9 @@ router bgp 65000
exit-address-family
!
address-family l2vpn evpn
+ neighbor VTEP activate
neighbor VTEP route-map MAP_VTEP_IN in
neighbor VTEP route-map MAP_VTEP_OUT out
- neighbor VTEP activate
advertise-all-vni
exit-address-family
exit
diff --git a/src/test/zones/evpn/ipv4/expected_controller_config b/src/test/zones/evpn/ipv4/expected_controller_config
index d5d310d..9d8ec60 100644
--- a/src/test/zones/evpn/ipv4/expected_controller_config
+++ b/src/test/zones/evpn/ipv4/expected_controller_config
@@ -1,4 +1,4 @@
-frr version 8.5.1
+frr version 8.5.2
frr defaults datacenter
hostname localhost
log syslog informational
@@ -12,9 +12,9 @@ exit-vrf
router bgp 65000
bgp router-id 192.168.0.1
no bgp hard-administrative-reset
- no bgp graceful-restart notification
no bgp default ipv4-unicast
coalesce-time 1000
+ no bgp graceful-restart notification
neighbor VTEP peer-group
neighbor VTEP remote-as 65000
neighbor VTEP bfd
@@ -22,9 +22,9 @@ router bgp 65000
neighbor 192.168.0.3 peer-group VTEP
!
address-family l2vpn evpn
+ neighbor VTEP activate
neighbor VTEP route-map MAP_VTEP_IN in
neighbor VTEP route-map MAP_VTEP_OUT out
- neighbor VTEP activate
advertise-all-vni
exit-address-family
exit
diff --git a/src/test/zones/evpn/ipv4ipv6/expected_controller_config b/src/test/zones/evpn/ipv4ipv6/expected_controller_config
index d5d310d..9d8ec60 100644
--- a/src/test/zones/evpn/ipv4ipv6/expected_controller_config
+++ b/src/test/zones/evpn/ipv4ipv6/expected_controller_config
@@ -1,4 +1,4 @@
-frr version 8.5.1
+frr version 8.5.2
frr defaults datacenter
hostname localhost
log syslog informational
@@ -12,9 +12,9 @@ exit-vrf
router bgp 65000
bgp router-id 192.168.0.1
no bgp hard-administrative-reset
- no bgp graceful-restart notification
no bgp default ipv4-unicast
coalesce-time 1000
+ no bgp graceful-restart notification
neighbor VTEP peer-group
neighbor VTEP remote-as 65000
neighbor VTEP bfd
@@ -22,9 +22,9 @@ router bgp 65000
neighbor 192.168.0.3 peer-group VTEP
!
address-family l2vpn evpn
+ neighbor VTEP activate
neighbor VTEP route-map MAP_VTEP_IN in
neighbor VTEP route-map MAP_VTEP_OUT out
- neighbor VTEP activate
advertise-all-vni
exit-address-family
exit
diff --git a/src/test/zones/evpn/ipv4ipv6nogateway/expected_controller_config b/src/test/zones/evpn/ipv4ipv6nogateway/expected_controller_config
index d5d310d..9d8ec60 100644
--- a/src/test/zones/evpn/ipv4ipv6nogateway/expected_controller_config
+++ b/src/test/zones/evpn/ipv4ipv6nogateway/expected_controller_config
@@ -1,4 +1,4 @@
-frr version 8.5.1
+frr version 8.5.2
frr defaults datacenter
hostname localhost
log syslog informational
@@ -12,9 +12,9 @@ exit-vrf
router bgp 65000
bgp router-id 192.168.0.1
no bgp hard-administrative-reset
- no bgp graceful-restart notification
no bgp default ipv4-unicast
coalesce-time 1000
+ no bgp graceful-restart notification
neighbor VTEP peer-group
neighbor VTEP remote-as 65000
neighbor VTEP bfd
@@ -22,9 +22,9 @@ router bgp 65000
neighbor 192.168.0.3 peer-group VTEP
!
address-family l2vpn evpn
+ neighbor VTEP activate
neighbor VTEP route-map MAP_VTEP_IN in
neighbor VTEP route-map MAP_VTEP_OUT out
- neighbor VTEP activate
advertise-all-vni
exit-address-family
exit
diff --git a/src/test/zones/evpn/ipv6/expected_controller_config b/src/test/zones/evpn/ipv6/expected_controller_config
index d5d310d..9d8ec60 100644
--- a/src/test/zones/evpn/ipv6/expected_controller_config
+++ b/src/test/zones/evpn/ipv6/expected_controller_config
@@ -1,4 +1,4 @@
-frr version 8.5.1
+frr version 8.5.2
frr defaults datacenter
hostname localhost
log syslog informational
@@ -12,9 +12,9 @@ exit-vrf
router bgp 65000
bgp router-id 192.168.0.1
no bgp hard-administrative-reset
- no bgp graceful-restart notification
no bgp default ipv4-unicast
coalesce-time 1000
+ no bgp graceful-restart notification
neighbor VTEP peer-group
neighbor VTEP remote-as 65000
neighbor VTEP bfd
@@ -22,9 +22,9 @@ router bgp 65000
neighbor 192.168.0.3 peer-group VTEP
!
address-family l2vpn evpn
+ neighbor VTEP activate
neighbor VTEP route-map MAP_VTEP_IN in
neighbor VTEP route-map MAP_VTEP_OUT out
- neighbor VTEP activate
advertise-all-vni
exit-address-family
exit
diff --git a/src/test/zones/evpn/isis/expected_controller_config b/src/test/zones/evpn/isis/expected_controller_config
index 8d1706a..9ec8c01 100644
--- a/src/test/zones/evpn/isis/expected_controller_config
+++ b/src/test/zones/evpn/isis/expected_controller_config
@@ -1,4 +1,4 @@
-frr version 8.5.1
+frr version 8.5.2
frr defaults datacenter
hostname localhost
log syslog informational
@@ -18,9 +18,9 @@ interface eth1
router bgp 65000
bgp router-id 192.168.0.1
no bgp hard-administrative-reset
- no bgp graceful-restart notification
no bgp default ipv4-unicast
coalesce-time 1000
+ no bgp graceful-restart notification
neighbor VTEP peer-group
neighbor VTEP remote-as 65000
neighbor VTEP bfd
@@ -28,9 +28,9 @@ router bgp 65000
neighbor 192.168.0.3 peer-group VTEP
!
address-family l2vpn evpn
+ neighbor VTEP activate
neighbor VTEP route-map MAP_VTEP_IN in
neighbor VTEP route-map MAP_VTEP_OUT out
- neighbor VTEP activate
advertise-all-vni
exit-address-family
exit
diff --git a/src/test/zones/evpn/isis_loopback/expected_controller_config b/src/test/zones/evpn/isis_loopback/expected_controller_config
index 7b034c4..5a7f5c9 100644
--- a/src/test/zones/evpn/isis_loopback/expected_controller_config
+++ b/src/test/zones/evpn/isis_loopback/expected_controller_config
@@ -1,4 +1,4 @@
-frr version 8.5.1
+frr version 8.5.2
frr defaults datacenter
hostname localhost
log syslog informational
@@ -18,9 +18,9 @@ interface eth1
router bgp 65000
bgp router-id 10.0.0.1
no bgp hard-administrative-reset
- no bgp graceful-restart notification
no bgp default ipv4-unicast
coalesce-time 1000
+ no bgp graceful-restart notification
neighbor VTEP peer-group
neighbor VTEP remote-as 65000
neighbor VTEP bfd
@@ -29,9 +29,9 @@ router bgp 65000
neighbor 10.0.0.3 peer-group VTEP
!
address-family l2vpn evpn
+ neighbor VTEP activate
neighbor VTEP route-map MAP_VTEP_IN in
neighbor VTEP route-map MAP_VTEP_OUT out
- neighbor VTEP activate
advertise-all-vni
exit-address-family
exit
diff --git a/src/test/zones/evpn/multipath_relax/expected_controller_config b/src/test/zones/evpn/multipath_relax/expected_controller_config
index f0316cc..a87cdc4 100644
--- a/src/test/zones/evpn/multipath_relax/expected_controller_config
+++ b/src/test/zones/evpn/multipath_relax/expected_controller_config
@@ -1,4 +1,4 @@
-frr version 8.5.1
+frr version 8.5.2
frr defaults datacenter
hostname localhost
log syslog informational
@@ -12,9 +12,9 @@ exit-vrf
router bgp 65000
bgp router-id 192.168.0.1
no bgp hard-administrative-reset
- no bgp graceful-restart notification
no bgp default ipv4-unicast
coalesce-time 1000
+ no bgp graceful-restart notification
neighbor VTEP peer-group
neighbor VTEP remote-as 65000
neighbor VTEP bfd
@@ -34,9 +34,9 @@ router bgp 65000
exit-address-family
!
address-family l2vpn evpn
+ neighbor VTEP activate
neighbor VTEP route-map MAP_VTEP_IN in
neighbor VTEP route-map MAP_VTEP_OUT out
- neighbor VTEP activate
advertise-all-vni
exit-address-family
exit
diff --git a/src/test/zones/evpn/multiplezones/expected_controller_config b/src/test/zones/evpn/multiplezones/expected_controller_config
index 8d578f7..37f663a 100644
--- a/src/test/zones/evpn/multiplezones/expected_controller_config
+++ b/src/test/zones/evpn/multiplezones/expected_controller_config
@@ -1,4 +1,4 @@
-frr version 8.5.1
+frr version 8.5.2
frr defaults datacenter
hostname localhost
log syslog informational
@@ -16,9 +16,9 @@ exit-vrf
router bgp 65000
bgp router-id 192.168.0.1
no bgp hard-administrative-reset
- no bgp graceful-restart notification
no bgp default ipv4-unicast
coalesce-time 1000
+ no bgp graceful-restart notification
neighbor VTEP peer-group
neighbor VTEP remote-as 65000
neighbor VTEP bfd
@@ -26,9 +26,9 @@ router bgp 65000
neighbor 192.168.0.3 peer-group VTEP
!
address-family l2vpn evpn
+ neighbor VTEP activate
neighbor VTEP route-map MAP_VTEP_IN in
neighbor VTEP route-map MAP_VTEP_OUT out
- neighbor VTEP activate
advertise-all-vni
exit-address-family
exit
diff --git a/src/test/zones/evpn/rt_import/expected_controller_config b/src/test/zones/evpn/rt_import/expected_controller_config
index f394b84..5bdb148 100644
--- a/src/test/zones/evpn/rt_import/expected_controller_config
+++ b/src/test/zones/evpn/rt_import/expected_controller_config
@@ -1,4 +1,4 @@
-frr version 8.5.1
+frr version 8.5.2
frr defaults datacenter
hostname localhost
log syslog informational
@@ -12,9 +12,9 @@ exit-vrf
router bgp 65000
bgp router-id 192.168.0.1
no bgp hard-administrative-reset
- no bgp graceful-restart notification
no bgp default ipv4-unicast
coalesce-time 1000
+ no bgp graceful-restart notification
neighbor VTEP peer-group
neighbor VTEP remote-as 65000
neighbor VTEP bfd
@@ -22,9 +22,9 @@ router bgp 65000
neighbor 192.168.0.3 peer-group VTEP
!
address-family l2vpn evpn
+ neighbor VTEP activate
neighbor VTEP route-map MAP_VTEP_IN in
neighbor VTEP route-map MAP_VTEP_OUT out
- neighbor VTEP activate
advertise-all-vni
exit-address-family
exit
diff --git a/src/test/zones/evpn/vxlanport/expected_controller_config b/src/test/zones/evpn/vxlanport/expected_controller_config
index d5d310d..9d8ec60 100644
--- a/src/test/zones/evpn/vxlanport/expected_controller_config
+++ b/src/test/zones/evpn/vxlanport/expected_controller_config
@@ -1,4 +1,4 @@
-frr version 8.5.1
+frr version 8.5.2
frr defaults datacenter
hostname localhost
log syslog informational
@@ -12,9 +12,9 @@ exit-vrf
router bgp 65000
bgp router-id 192.168.0.1
no bgp hard-administrative-reset
- no bgp graceful-restart notification
no bgp default ipv4-unicast
coalesce-time 1000
+ no bgp graceful-restart notification
neighbor VTEP peer-group
neighbor VTEP remote-as 65000
neighbor VTEP bfd
@@ -22,9 +22,9 @@ router bgp 65000
neighbor 192.168.0.3 peer-group VTEP
!
address-family l2vpn evpn
+ neighbor VTEP activate
neighbor VTEP route-map MAP_VTEP_IN in
neighbor VTEP route-map MAP_VTEP_OUT out
- neighbor VTEP activate
advertise-all-vni
exit-address-family
exit
--
2.39.2
^ permalink raw reply [flat|nested] 8+ messages in thread
* [pve-devel] [PATCH pve-network 4/4] controllers: evpn: fix null routes order && ipv6
2023-12-03 15:46 [pve-devel] [PATCH pve-network 0/4] evpn controller fix && cleanup Alexandre Derumier
` (2 preceding siblings ...)
2023-12-03 15:46 ` [pve-devel] [PATCH pve-network 3/4] controllers: evpn: frr config cleanup Alexandre Derumier
@ 2023-12-03 15:46 ` Alexandre Derumier
2024-01-06 6:41 ` [pve-devel] [PATCH pve-network 0/4] evpn controller fix && cleanup DERUMIER, Alexandre
2024-01-22 10:59 ` [pve-devel] applied: " Thomas Lamprecht
5 siblings, 0 replies; 8+ messages in thread
From: Alexandre Derumier @ 2023-12-03 15:46 UTC (permalink / raw)
To: pve-devel
- don't duplicate ip
- ipv6 use "ipv6 route"
- order correctly
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
---
src/PVE/Network/SDN/Controllers/EvpnPlugin.pm | 16 ++++++++-
.../expected_controller_config | 7 ++++
.../exitnodenullroute/expected_sdn_interfaces | 8 +++++
.../zones/evpn/exitnodenullroute/sdn_config | 35 +++++++++++++++++++
4 files changed, 65 insertions(+), 1 deletion(-)
diff --git a/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm b/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm
index 648f341..c2fdf88 100644
--- a/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm
+++ b/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm
@@ -162,11 +162,25 @@ sub generate_controller_zone_config {
#null routes subnets of other zones
if ($is_gateway) {
my $subnets = PVE::Network::SDN::Vnets::get_subnets();
+ my $cidrs = {};
foreach my $subnetid (sort keys %{$subnets}) {
my $subnet = $subnets->{$subnetid};
my $cidr = $subnet->{cidr};
my $zone = $subnet->{zone};
- push @controller_config, "ip route $cidr null0" if $zone ne $id;
+ my ($ip, $mask) = split(/\//, $cidr);
+ $cidrs->{$ip} = $mask if $zone ne $id;
+
+ }
+
+ my @sorted_ip =
+ map { $_->[0] }
+ sort { $a->[1] <=> $b->[1] }
+ map { [ $_, eval { Net::IP->new( $_ )->intip } ] }
+ keys %{$cidrs} if $cidrs;
+
+ foreach my $ip (@sorted_ip) {
+ my $ipversion = Net::IP::ip_is_ipv4($ip) ? 'ip' : 'ipv6';
+ push @controller_config, "$ipversion route $ip/$cidrs->{$ip} null0";
}
}
diff --git a/src/test/zones/evpn/exitnodenullroute/expected_controller_config b/src/test/zones/evpn/exitnodenullroute/expected_controller_config
index e05fc77..a6403c0 100644
--- a/src/test/zones/evpn/exitnodenullroute/expected_controller_config
+++ b/src/test/zones/evpn/exitnodenullroute/expected_controller_config
@@ -7,13 +7,20 @@ service integrated-vtysh-config
!
vrf vrf_myzone
vni 1000
+ ip route 10.0.0.0/24 null0
ip route 172.16.0.0/24 null0
ip route 172.16.1.0/24 null0
+ ip route 172.16.3.0/24 null0
exit-vrf
!
vrf vrf_myzone2
vni 1001
ip route 10.0.0.0/24 null0
+ ip route 192.168.0.1/24 null0
+ ip route 192.168.10.1/24 null0
+ ipv6 route 2b0f:1480::/64 null0
+ ipv6 route 2b0f:1480:4000:6000::/64 null0
+ ipv6 route 2b0f:1480:4000:8000::/64 null0
exit-vrf
!
router bgp 65000
diff --git a/src/test/zones/evpn/exitnodenullroute/expected_sdn_interfaces b/src/test/zones/evpn/exitnodenullroute/expected_sdn_interfaces
index b6d9c13..4bf5ccf 100644
--- a/src/test/zones/evpn/exitnodenullroute/expected_sdn_interfaces
+++ b/src/test/zones/evpn/exitnodenullroute/expected_sdn_interfaces
@@ -3,17 +3,25 @@
auto myvnet
iface myvnet
address 10.0.0.1/24
+ address 192.168.0.1/24
+ address 192.168.10.1/24
+ address 2b0f:1480:4000:6000::1/64
+ address 2b0f:1480:4000:8000::1/64
+ address 2b0f:1480::1/64
bridge_ports vxlan_myvnet
bridge_stp off
bridge_fd 0
mtu 1450
ip-forward on
+ ip6-forward on
arp-accept on
vrf vrf_myzone
auto myvnet2
iface myvnet2
+ address 10.0.0.1/24
address 172.16.0.1/24
+ address 172.16.3.1/24
bridge_ports vxlan_myvnet2
bridge_stp off
bridge_fd 0
diff --git a/src/test/zones/evpn/exitnodenullroute/sdn_config b/src/test/zones/evpn/exitnodenullroute/sdn_config
index 1060f83..5064ec4 100644
--- a/src/test/zones/evpn/exitnodenullroute/sdn_config
+++ b/src/test/zones/evpn/exitnodenullroute/sdn_config
@@ -19,16 +19,51 @@
subnets => {
ids => {
+ 'myzone-192.168.10.1-24' => {
+ 'type' => 'subnet',
+ 'vnet' => 'myvnet',
+ 'gateway' => '192.168.10.1',
+ },
+ 'myzone-192.168.0.1-24' => {
+ 'type' => 'subnet',
+ 'vnet' => 'myvnet',
+ 'gateway' => '192.168.0.1',
+ },
'myzone-10.0.0.0-24' => {
'type' => 'subnet',
'vnet' => 'myvnet',
'gateway' => '10.0.0.1',
},
+ 'myzone2-10.0.0.0-24' => {
+ 'type' => 'subnet',
+ 'vnet' => 'myvnet2',
+ 'gateway' => '10.0.0.1',
+ },
+ 'myzone-2b0f:1480:4000:8000::-64' => {
+ 'type' => 'subnet',
+ 'vnet' => 'myvnet',
+ 'gateway' => '2b0f:1480:4000:8000::1',
+ },
+ 'myzone-2b0f:1480::-64' => {
+ 'type' => 'subnet',
+ 'vnet' => 'myvnet',
+ 'gateway' => '2b0f:1480::1',
+ },
'myzone2-172.16.0.0-24' => {
'type' => 'subnet',
'vnet' => 'myvnet2',
'gateway' => '172.16.0.1',
},
+ 'myzone2-172.16.3.0-24' => {
+ 'type' => 'subnet',
+ 'vnet' => 'myvnet2',
+ 'gateway' => '172.16.3.1',
+ },
+ 'myzone-2b0f:1480:4000:6000::-64' => {
+ 'type' => 'subnet',
+ 'vnet' => 'myvnet',
+ 'gateway' => '2b0f:1480:4000:6000::1',
+ },
'myzone2-172.16.1.0-24' => {
'type' => 'subnet',
'vnet' => 'myvnet2',
--
2.39.2
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [pve-devel] [PATCH pve-network 0/4] evpn controller fix && cleanup
2023-12-03 15:46 [pve-devel] [PATCH pve-network 0/4] evpn controller fix && cleanup Alexandre Derumier
` (3 preceding siblings ...)
2023-12-03 15:46 ` [pve-devel] [PATCH pve-network 4/4] controllers: evpn: fix null routes order && ipv6 Alexandre Derumier
@ 2024-01-06 6:41 ` DERUMIER, Alexandre
2024-01-19 11:59 ` DERUMIER, Alexandre
2024-01-22 10:59 ` [pve-devel] applied: " Thomas Lamprecht
5 siblings, 1 reply; 8+ messages in thread
From: DERUMIER, Alexandre @ 2024-01-06 6:41 UTC (permalink / raw)
To: pve-devel
Hi,
could it be possible to apply this patch serie, I have seen another
forum user have bugs with evpn && multuple exit nods.
-------- Message initial --------
De: Alexandre Derumier <aderumier@odiso.com>
Répondre à: Proxmox VE development discussion <pve-
devel@lists.proxmox.com>
À: pve-devel@lists.proxmox.com
Objet: [pve-devel] [PATCH pve-network 0/4] evpn controller fix &&
cleanup
Date: 03/12/2023 16:46:06
This patch serie is fixing 1 critical bug with multiple exit-nodes
and other minor ipv6 bug with prefix-list && null routes.
Also cleaning the re-ordering of some values in frr.conf to match
the output of frr running config.
Alexandre Derumier (4):
controllers: evpn: add ipv6 prefix-list support
controllers: evpn: bugfix: use prefix-list in route-map instead evpn
match
controllers: evpn: frr config cleanup
controllers: evpn: fix null routes order && ipv6
src/PVE/Network/SDN/Controllers/EvpnPlugin.pm | 52 +++++++++++++++----
.../expected_controller_config | 6 +--
.../expected_controller_config | 6 +--
.../evpn/ebgp/expected_controller_config | 6 +--
.../ebgp_loopback/expected_controller_config | 6 +--
.../evpn/exitnode/expected_controller_config | 19 ++++---
.../expected_controller_config | 19 ++++---
.../expected_controller_config | 18 +++++--
.../exitnode_snat/expected_controller_config | 19 ++++---
.../expected_controller_config | 33 +++++++++---
.../exitnodenullroute/expected_sdn_interfaces | 8 +++
.../zones/evpn/exitnodenullroute/sdn_config | 35 +++++++++++++
.../evpn/ipv4/expected_controller_config | 6 +--
.../evpn/ipv4ipv6/expected_controller_config | 6 +--
.../expected_controller_config | 6 +--
.../evpn/ipv6/expected_controller_config | 6 +--
.../evpn/isis/expected_controller_config | 6 +--
.../isis_loopback/expected_controller_config | 6 +--
.../expected_controller_config | 6 +--
.../multiplezones/expected_controller_config | 6 +--
.../evpn/rt_import/expected_controller_config | 6 +--
.../evpn/vxlanport/expected_controller_config | 6 +--
22 files changed, 203 insertions(+), 84 deletions(-)
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [pve-devel] [PATCH pve-network 0/4] evpn controller fix && cleanup
2024-01-06 6:41 ` [pve-devel] [PATCH pve-network 0/4] evpn controller fix && cleanup DERUMIER, Alexandre
@ 2024-01-19 11:59 ` DERUMIER, Alexandre
0 siblings, 0 replies; 8+ messages in thread
From: DERUMIER, Alexandre @ 2024-01-19 11:59 UTC (permalink / raw)
To: pve-devel
Hi,
is it possible to applied this patch serie ?
They are 2 bug report about the multiple evpn exit-bug
https://forum.proxmox.com/threads/sdn-with-evpn-controller.139279/
https://forum.proxmox.com/threads/bugfix-for-evpn-sdn-multiple-exit-nodes.137784
-------- Message initial --------
De: "DERUMIER, Alexandre" <alexandre.derumier@groupe-cyllene.com>
Répondre à: Proxmox VE development discussion <pve-
devel@lists.proxmox.com>
À: pve-devel@lists.proxmox.com <pve-devel@lists.proxmox.com>
Objet: Re: [pve-devel] [PATCH pve-network 0/4] evpn controller fix &&
cleanup
Date: 06/01/2024 07:41:18
Hi,
could it be possible to apply this patch serie, I have seen another
forum user have bugs with evpn && multuple exit nods.
-------- Message initial --------
De: Alexandre Derumier <aderumier@odiso.com>
Répondre à: Proxmox VE development discussion <pve-
devel@lists.proxmox.com>
À: pve-devel@lists.proxmox.com
Objet: [pve-devel] [PATCH pve-network 0/4] evpn controller fix &&
cleanup
Date: 03/12/2023 16:46:06
This patch serie is fixing 1 critical bug with multiple exit-nodes
and other minor ipv6 bug with prefix-list && null routes.
Also cleaning the re-ordering of some values in frr.conf to match
the output of frr running config.
Alexandre Derumier (4):
controllers: evpn: add ipv6 prefix-list support
controllers: evpn: bugfix: use prefix-list in route-map instead evpn
match
controllers: evpn: frr config cleanup
controllers: evpn: fix null routes order && ipv6
src/PVE/Network/SDN/Controllers/EvpnPlugin.pm | 52 +++++++++++++++----
.../expected_controller_config | 6 +--
.../expected_controller_config | 6 +--
.../evpn/ebgp/expected_controller_config | 6 +--
.../ebgp_loopback/expected_controller_config | 6 +--
.../evpn/exitnode/expected_controller_config | 19 ++++---
.../expected_controller_config | 19 ++++---
.../expected_controller_config | 18 +++++--
.../exitnode_snat/expected_controller_config | 19 ++++---
.../expected_controller_config | 33 +++++++++---
.../exitnodenullroute/expected_sdn_interfaces | 8 +++
.../zones/evpn/exitnodenullroute/sdn_config | 35 +++++++++++++
.../evpn/ipv4/expected_controller_config | 6 +--
.../evpn/ipv4ipv6/expected_controller_config | 6 +--
.../expected_controller_config | 6 +--
.../evpn/ipv6/expected_controller_config | 6 +--
.../evpn/isis/expected_controller_config | 6 +--
.../isis_loopback/expected_controller_config | 6 +--
.../expected_controller_config | 6 +--
.../multiplezones/expected_controller_config | 6 +--
.../evpn/rt_import/expected_controller_config | 6 +--
.../evpn/vxlanport/expected_controller_config | 6 +--
22 files changed, 203 insertions(+), 84 deletions(-)
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [pve-devel] applied: [PATCH pve-network 0/4] evpn controller fix && cleanup
2023-12-03 15:46 [pve-devel] [PATCH pve-network 0/4] evpn controller fix && cleanup Alexandre Derumier
` (4 preceding siblings ...)
2024-01-06 6:41 ` [pve-devel] [PATCH pve-network 0/4] evpn controller fix && cleanup DERUMIER, Alexandre
@ 2024-01-22 10:59 ` Thomas Lamprecht
5 siblings, 0 replies; 8+ messages in thread
From: Thomas Lamprecht @ 2024-01-22 10:59 UTC (permalink / raw)
To: Proxmox VE development discussion, Alexandre Derumier
Am 03/12/2023 um 16:46 schrieb Alexandre Derumier:
> This patch serie is fixing 1 critical bug with multiple exit-nodes
> and other minor ipv6 bug with prefix-list && null routes.
>
> Also cleaning the re-ordering of some values in frr.conf to match
> the output of frr running config.
>
> Alexandre Derumier (4):
> controllers: evpn: add ipv6 prefix-list support
> controllers: evpn: bugfix: use prefix-list in route-map instead evpn
> match
> controllers: evpn: frr config cleanup
> controllers: evpn: fix null routes order && ipv6
>
> src/PVE/Network/SDN/Controllers/EvpnPlugin.pm | 52 +++++++++++++++----
> .../expected_controller_config | 6 +--
> .../expected_controller_config | 6 +--
> .../evpn/ebgp/expected_controller_config | 6 +--
> .../ebgp_loopback/expected_controller_config | 6 +--
> .../evpn/exitnode/expected_controller_config | 19 ++++---
> .../expected_controller_config | 19 ++++---
> .../expected_controller_config | 18 +++++--
> .../exitnode_snat/expected_controller_config | 19 ++++---
> .../expected_controller_config | 33 +++++++++---
> .../exitnodenullroute/expected_sdn_interfaces | 8 +++
> .../zones/evpn/exitnodenullroute/sdn_config | 35 +++++++++++++
> .../evpn/ipv4/expected_controller_config | 6 +--
> .../evpn/ipv4ipv6/expected_controller_config | 6 +--
> .../expected_controller_config | 6 +--
> .../evpn/ipv6/expected_controller_config | 6 +--
> .../evpn/isis/expected_controller_config | 6 +--
> .../isis_loopback/expected_controller_config | 6 +--
> .../expected_controller_config | 6 +--
> .../multiplezones/expected_controller_config | 6 +--
> .../evpn/rt_import/expected_controller_config | 6 +--
> .../evpn/vxlanport/expected_controller_config | 6 +--
> 22 files changed, 203 insertions(+), 84 deletions(-)
>
sorry for the delay, applied series now, thanks!
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-01-22 10:59 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-03 15:46 [pve-devel] [PATCH pve-network 0/4] evpn controller fix && cleanup Alexandre Derumier
2023-12-03 15:46 ` [pve-devel] [PATCH pve-network 1/4] controllers: evpn: add ipv6 prefix-list support Alexandre Derumier
2023-12-03 15:46 ` [pve-devel] [PATCH pve-network 2/4] controllers: evpn: bugfix: use prefix-list in route-map instead evpn match Alexandre Derumier
2023-12-03 15:46 ` [pve-devel] [PATCH pve-network 3/4] controllers: evpn: frr config cleanup Alexandre Derumier
2023-12-03 15:46 ` [pve-devel] [PATCH pve-network 4/4] controllers: evpn: fix null routes order && ipv6 Alexandre Derumier
2024-01-06 6:41 ` [pve-devel] [PATCH pve-network 0/4] evpn controller fix && cleanup DERUMIER, Alexandre
2024-01-19 11:59 ` DERUMIER, Alexandre
2024-01-22 10:59 ` [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