public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH V2 frr 0/3] update frr to 7.4
@ 2020-11-25 12:22 Alexandre Derumier
  2020-11-25 12:22 ` [pve-devel] [PATCH V2 frr 1/3] patch: enable bfd daemon Alexandre Derumier
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Alexandre Derumier @ 2020-11-25 12:22 UTC (permalink / raw)
  To: pve-devel

Please update mirror to frr stable/7.4 branch (on last commit)

7.4 tag release have an evpn bug, and 7.4.1 is still not released.
(and 7.5 have a new libyang version depencency not available in buster)

This release fix some evpn bugs,
I have also added a patch for ebgp, I'm currently trying to get it upstream.
and also enable bfd daemon by default.

changelog v2:

- fix patch enable bfd daemons
Alexandre Derumier (3):
  patch: enable bfd daemon
  patch : add autort as derivation
  bump to 7.4

 Makefile                                      |   2 +-
 debian/changelog                              |   6 +
 .../patches/pve/0001-enable-bgp-daemon.patch  |  25 ++-
 ...on-for-RT-auto-derivation-to-force-A.patch | 151 ++++++++++++++++++
 debian/patches/series                         |   1 +
 5 files changed, 177 insertions(+), 8 deletions(-)
 create mode 100644 debian/patches/pve/0002-bgpd-add-an-option-for-RT-auto-derivation-to-force-A.patch

-- 
2.20.1




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

* [pve-devel] [PATCH V2 frr 1/3] patch: enable bfd daemon
  2020-11-25 12:22 [pve-devel] [PATCH V2 frr 0/3] update frr to 7.4 Alexandre Derumier
@ 2020-11-25 12:22 ` Alexandre Derumier
  2020-11-25 12:22 ` [pve-devel] [PATCH V2 frr 2/3] patch : add autort as derivation Alexandre Derumier
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Alexandre Derumier @ 2020-11-25 12:22 UTC (permalink / raw)
  To: pve-devel

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
---
 .../patches/pve/0001-enable-bgp-daemon.patch  | 25 +++++++++++++------
 1 file changed, 18 insertions(+), 7 deletions(-)

diff --git a/debian/patches/pve/0001-enable-bgp-daemon.patch b/debian/patches/pve/0001-enable-bgp-daemon.patch
index d972f18..a9818c9 100644
--- a/debian/patches/pve/0001-enable-bgp-daemon.patch
+++ b/debian/patches/pve/0001-enable-bgp-daemon.patch
@@ -1,14 +1,15 @@
-From 13d0e8ea85fbbc4d53709a0fb28ebd66876884b4 Mon Sep 17 00:00:00 2001
+From f098e90f4d690e771f63f48e0540a470faa91892 Mon Sep 17 00:00:00 2001
 From: Alexandre Derumier <aderumier@odiso.com>
-Date: Mon, 31 Dec 2018 09:50:06 +0100
-Subject: [PATCH] enable bgp daemon
+Date: Wed, 25 Nov 2020 12:41:32 +0100
+Subject: [PATCH] enable bgp && bfd daemons
 
+Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
 ---
- tools/etc/frr/daemons | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ tools/etc/frr/daemons | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/tools/etc/frr/daemons b/tools/etc/frr/daemons
-index 9077606..2d11d6a 100644
+index 8bec3c5bb..7cdfa840c 100644
 --- a/tools/etc/frr/daemons
 +++ b/tools/etc/frr/daemons
 @@ -14,7 +14,7 @@
@@ -20,5 +21,15 @@ index 9077606..2d11d6a 100644
  ospfd=no
  ospf6d=no
  ripd=no
+@@ -27,7 +27,7 @@ eigrpd=no
+ babeld=no
+ sharpd=no
+ pbrd=no
+-bfdd=no
++bfdd=yes
+ fabricd=no
+ vrrpd=no
+ 
 -- 
-2.11.0
+2.20.1
+
-- 
2.20.1




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

* [pve-devel] [PATCH V2 frr 2/3] patch : add autort as derivation
  2020-11-25 12:22 [pve-devel] [PATCH V2 frr 0/3] update frr to 7.4 Alexandre Derumier
  2020-11-25 12:22 ` [pve-devel] [PATCH V2 frr 1/3] patch: enable bfd daemon Alexandre Derumier
@ 2020-11-25 12:22 ` Alexandre Derumier
  2020-11-25 12:22 ` [pve-devel] [PATCH V2 frr 3/3] bump to 7.4 Alexandre Derumier
  2020-11-25 12:56 ` [pve-devel] applied-series: [PATCH V2 frr 0/3] update frr " Thomas Lamprecht
  3 siblings, 0 replies; 5+ messages in thread
From: Alexandre Derumier @ 2020-11-25 12:22 UTC (permalink / raw)
  To: pve-devel

pending upstream
https://github.com/FRRouting/frr/pull/7535/

This is for ebgp, to avoid to reload frr each time
when we define new vxlan.

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
---
 ...on-for-RT-auto-derivation-to-force-A.patch | 151 ++++++++++++++++++
 debian/patches/series                         |   1 +
 2 files changed, 152 insertions(+)
 create mode 100644 debian/patches/pve/0002-bgpd-add-an-option-for-RT-auto-derivation-to-force-A.patch

diff --git a/debian/patches/pve/0002-bgpd-add-an-option-for-RT-auto-derivation-to-force-A.patch b/debian/patches/pve/0002-bgpd-add-an-option-for-RT-auto-derivation-to-force-A.patch
new file mode 100644
index 0000000..3306fbc
--- /dev/null
+++ b/debian/patches/pve/0002-bgpd-add-an-option-for-RT-auto-derivation-to-force-A.patch
@@ -0,0 +1,151 @@
+From c3e66b067564281a58fcf3b99559d289a75090e9 Mon Sep 17 00:00:00 2001
+From: Alexandre Derumier <aderumier@odiso.com>
+Date: Tue, 17 Nov 2020 06:01:26 +0100
+Subject: [PATCH 1/3] bgpd : add an option for RT auto-derivation to force AS
+
+Allow to define a custom AS for autort AS:VNI
+
+Usefull for evpn with ebgp, where we can't auto-derivated from the router AS,
+as route-target AS:VNI need to be the same on the each peer
+
+Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
+---
+ bgpd/bgp_evpn.c     | 12 +++++++++--
+ bgpd/bgp_evpn_vty.c | 49 +++++++++++++++++++++++++++++++--------------
+ bgpd/bgpd.h         |  3 +++
+ 3 files changed, 47 insertions(+), 17 deletions(-)
+
+diff --git a/bgpd/bgp_evpn.c b/bgpd/bgp_evpn.c
+index 84e8960ee..73acc5d7b 100644
+--- a/bgpd/bgp_evpn.c
++++ b/bgpd/bgp_evpn.c
+@@ -512,7 +512,11 @@ static void form_auto_rt(struct bgp *bgp, vni_t vni, struct list *rtl)
+ 
+ 	if (bgp->advertise_autort_rfc8365)
+ 		vni |= EVPN_AUTORT_VXLAN;
+-	encode_route_target_as((bgp->as & 0xFFFF), vni, &eval);
++	if (bgp->autort_as) {
++		encode_route_target_as((bgp->autort_as & 0xFFFF), vni, &eval);
++	} else {
++		encode_route_target_as((bgp->as & 0xFFFF), vni, &eval);
++	}
+ 
+ 	ecomadd = ecommunity_new();
+ 	ecommunity_add_val(ecomadd, &eval, false, false);
+@@ -4238,7 +4242,11 @@ void evpn_rt_delete_auto(struct bgp *bgp, vni_t vni, struct list *rtl)
+ 
+ 	if (bgp->advertise_autort_rfc8365)
+ 		vni |= EVPN_AUTORT_VXLAN;
+-	encode_route_target_as((bgp->as & 0xFFFF), vni, &eval);
++	if (bgp->autort_as) {
++		encode_route_target_as((bgp->autort_as & 0xFFFF), vni, &eval);
++	} else {
++		encode_route_target_as((bgp->as & 0xFFFF), vni, &eval);
++	}
+ 
+ 	ecom_auto = ecommunity_new();
+ 	ecommunity_add_val(ecom_auto, &eval, false, false);
+diff --git a/bgpd/bgp_evpn_vty.c b/bgpd/bgp_evpn_vty.c
+index e9e2aafeb..6cc6bba33 100644
+--- a/bgpd/bgp_evpn_vty.c
++++ b/bgpd/bgp_evpn_vty.c
+@@ -3226,32 +3226,48 @@ DEFUN (no_bgp_evpn_advertise_all_vni,
+ 	return CMD_SUCCESS;
+ }
+ 
+-DEFUN (bgp_evpn_advertise_autort_rfc8365,
+-       bgp_evpn_advertise_autort_rfc8365_cmd,
+-       "autort rfc8365-compatible",
+-       "Auto-derivation of RT\n"
+-       "Auto-derivation of RT using RFC8365\n")
++DEFPY(bgp_evpn_advertise_autort, bgp_evpn_advertise_autort_cmd,
++      "autort [rfc8365-compatible]$rfc8365 [as (1-65536)$as]",
++      "Auto-derivation of RT\n"
++      "Auto-derivation of RT using RFC8365\n"
++      "Auto-derivation AS\n")
+ {
+ 	struct bgp *bgp = VTY_GET_CONTEXT(bgp);
+ 
+ 	if (!bgp)
+ 		return CMD_WARNING;
+-	evpn_set_advertise_autort_rfc8365(bgp);
++
++	if (as) {
++		bgp->autort_as = as;
++		bgp_evpn_handle_autort_change(bgp);
++	}
++
++	if (rfc8365)
++		evpn_set_advertise_autort_rfc8365(bgp);
++
+ 	return CMD_SUCCESS;
+ }
+ 
+-DEFUN (no_bgp_evpn_advertise_autort_rfc8365,
+-       no_bgp_evpn_advertise_autort_rfc8365_cmd,
+-       "no autort rfc8365-compatible",
+-       NO_STR
+-       "Auto-derivation of RT\n"
+-       "Auto-derivation of RT using RFC8365\n")
++DEFPY(no_bgp_evpn_advertise_autort, no_bgp_evpn_advertise_autort_cmd,
++      "no autort [rfc8365-compatible]$rfc8365 [as (1-65536)$as]",
++      NO_STR
++      "Auto-derivation of RT\n"
++      "Auto-derivation of RT using RFC8365\n"
++      "Auto-derivation AS\n")
+ {
+ 	struct bgp *bgp = VTY_GET_CONTEXT(bgp);
+ 
+ 	if (!bgp)
+ 		return CMD_WARNING;
+-	evpn_unset_advertise_autort_rfc8365(bgp);
++
++	if (as) {
++		bgp->autort_as = 0;
++		bgp_evpn_handle_autort_change(bgp);
++	}
++
++	if (rfc8365)
++		evpn_unset_advertise_autort_rfc8365(bgp);
++
+ 	return CMD_SUCCESS;
+ }
+ 
+@@ -5596,6 +5612,9 @@ void bgp_config_write_evpn_info(struct vty *vty, struct bgp *bgp, afi_t afi,
+ 	if (bgp->advertise_autort_rfc8365)
+ 		vty_out(vty, "  autort rfc8365-compatible\n");
+ 
++	if (bgp->autort_as)
++		vty_out(vty, "  autort as %u\n", bgp->autort_as);
++
+ 	if (bgp->advertise_gw_macip)
+ 		vty_out(vty, "  advertise-default-gw\n");
+ 
+@@ -5732,8 +5751,8 @@ void bgp_ethernetvpn_init(void)
+ 	install_element(BGP_EVPN_NODE, &evpnrt5_network_cmd);
+ 	install_element(BGP_EVPN_NODE, &bgp_evpn_advertise_all_vni_cmd);
+ 	install_element(BGP_EVPN_NODE, &no_bgp_evpn_advertise_all_vni_cmd);
+-	install_element(BGP_EVPN_NODE, &bgp_evpn_advertise_autort_rfc8365_cmd);
+-	install_element(BGP_EVPN_NODE, &no_bgp_evpn_advertise_autort_rfc8365_cmd);
++	install_element(BGP_EVPN_NODE, &bgp_evpn_advertise_autort_cmd);
++	install_element(BGP_EVPN_NODE, &no_bgp_evpn_advertise_autort_cmd);
+ 	install_element(BGP_EVPN_NODE, &bgp_evpn_advertise_default_gw_cmd);
+ 	install_element(BGP_EVPN_NODE, &no_bgp_evpn_advertise_default_gw_cmd);
+ 	install_element(BGP_EVPN_NODE, &bgp_evpn_advertise_svi_ip_cmd);
+diff --git a/bgpd/bgpd.h b/bgpd/bgpd.h
+index d22fd008d..941066e2e 100644
+--- a/bgpd/bgpd.h
++++ b/bgpd/bgpd.h
+@@ -614,6 +614,9 @@ struct bgp {
+ 	/* EVPN - use RFC 8365 to auto-derive RT */
+ 	int advertise_autort_rfc8365;
+ 
++	/* EVPN - auto-derive RT AS */
++	uint16_t autort_as;
++
+ 	/*
+ 	 * Flooding mechanism for BUM packets for VxLAN-EVPN.
+ 	 */
+-- 
+2.20.1
+
diff --git a/debian/patches/series b/debian/patches/series
index b2de4e5..50b22cc 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 pve/0001-enable-bgp-daemon.patch
+pve/0002-bgpd-add-an-option-for-RT-auto-derivation-to-force-A.patch
-- 
2.20.1




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

* [pve-devel] [PATCH V2 frr 3/3] bump to 7.4
  2020-11-25 12:22 [pve-devel] [PATCH V2 frr 0/3] update frr to 7.4 Alexandre Derumier
  2020-11-25 12:22 ` [pve-devel] [PATCH V2 frr 1/3] patch: enable bfd daemon Alexandre Derumier
  2020-11-25 12:22 ` [pve-devel] [PATCH V2 frr 2/3] patch : add autort as derivation Alexandre Derumier
@ 2020-11-25 12:22 ` Alexandre Derumier
  2020-11-25 12:56 ` [pve-devel] applied-series: [PATCH V2 frr 0/3] update frr " Thomas Lamprecht
  3 siblings, 0 replies; 5+ messages in thread
From: Alexandre Derumier @ 2020-11-25 12:22 UTC (permalink / raw)
  To: pve-devel

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
---
 Makefile         | 2 +-
 debian/changelog | 6 ++++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 596ac53..5ed61ca 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
 PACKAGE=frr
-VER=7.2.1
+VER=7.4
 PKGREL=1+pve
 
 SRCDIR=frr
diff --git a/debian/changelog b/debian/changelog
index a38216c..37c04bf 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+frr (7.4-1+pve) pve; urgency=medium
+
+  * bump to 7.4 stable branch ~507bf79cd68e9b15ea964b439ba891f2854a5167
+
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 23 Nov 2020 07:30:06 +0100
+
 frr (7.2.1-1+pve1) pve; urgency=medium
 
   * bump to 7.2.1
-- 
2.20.1




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

* [pve-devel] applied-series:  [PATCH V2 frr 0/3] update frr to 7.4
  2020-11-25 12:22 [pve-devel] [PATCH V2 frr 0/3] update frr to 7.4 Alexandre Derumier
                   ` (2 preceding siblings ...)
  2020-11-25 12:22 ` [pve-devel] [PATCH V2 frr 3/3] bump to 7.4 Alexandre Derumier
@ 2020-11-25 12:56 ` Thomas Lamprecht
  3 siblings, 0 replies; 5+ messages in thread
From: Thomas Lamprecht @ 2020-11-25 12:56 UTC (permalink / raw)
  To: Proxmox VE development discussion, Alexandre Derumier

On 25.11.20 13:22, Alexandre Derumier wrote:
> Please update mirror to frr stable/7.4 branch (on last commit)
> 
> 7.4 tag release have an evpn bug, and 7.4.1 is still not released.
> (and 7.5 have a new libyang version depencency not available in buster)
> 
> This release fix some evpn bugs,
> I have also added a patch for ebgp, I'm currently trying to get it upstream.
> and also enable bfd daemon by default.
> 
> changelog v2:
> 
> - fix patch enable bfd daemons
> Alexandre Derumier (3):
>   patch: enable bfd daemon
>   patch : add autort as derivation
>   bump to 7.4
> 
>  Makefile                                      |   2 +-
>  debian/changelog                              |   6 +
>  .../patches/pve/0001-enable-bgp-daemon.patch  |  25 ++-
>  ...on-for-RT-auto-derivation-to-force-A.patch | 151 ++++++++++++++++++
>  debian/patches/series                         |   1 +
>  5 files changed, 177 insertions(+), 8 deletions(-)
>  create mode 100644 debian/patches/pve/0002-bgpd-add-an-option-for-RT-auto-derivation-to-force-A.patch
> 



applied series and pushed submodule to current stable/7.4 branch, thanks!




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

end of thread, other threads:[~2020-11-25 12:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-25 12:22 [pve-devel] [PATCH V2 frr 0/3] update frr to 7.4 Alexandre Derumier
2020-11-25 12:22 ` [pve-devel] [PATCH V2 frr 1/3] patch: enable bfd daemon Alexandre Derumier
2020-11-25 12:22 ` [pve-devel] [PATCH V2 frr 2/3] patch : add autort as derivation Alexandre Derumier
2020-11-25 12:22 ` [pve-devel] [PATCH V2 frr 3/3] bump to 7.4 Alexandre Derumier
2020-11-25 12:56 ` [pve-devel] applied-series: [PATCH V2 frr 0/3] update frr " Thomas Lamprecht

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal