commit
fc84a810e5
4 changed files with 4 additions and 86 deletions
|
@ -7,12 +7,12 @@
|
||||||
|
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
PKG_NAME:=frr
|
PKG_NAME:=frr
|
||||||
PKG_VERSION:=7.2
|
PKG_VERSION:=7.2.1
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE_URL:=https://github.com/FRRouting/frr/releases/download/$(PKG_NAME)-$(PKG_VERSION)/
|
PKG_SOURCE_URL:=https://github.com/FRRouting/frr/releases/download/$(PKG_NAME)-$(PKG_VERSION)/
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||||
PKG_HASH:=6cd5bfb6975133ccf23cc3f3a1c1c9a3f6d6a6c792c763b3ea010db75b3de5b3
|
PKG_HASH:=774585564dc00e67c4eb51521cb2a8e584031364916514860227af07b638a408
|
||||||
PKG_MAINTAINER:=Lucian Cristian <lucian.cristian@gmail.com>
|
PKG_MAINTAINER:=Lucian Cristian <lucian.cristian@gmail.com>
|
||||||
|
|
||||||
PKG_DAEMON_AVAILABLE:= \
|
PKG_DAEMON_AVAILABLE:= \
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/zebra/zebra_nhg.c 2019-10-18 01:59:17.582282539 +0300
|
--- a/zebra/zebra_nhg.c 2019-10-18 01:59:17.582282539 +0300
|
||||||
+++ b/zebra/zebra_nhg.c 2019-10-18 02:00:17.501997253 +0300
|
+++ b/zebra/zebra_nhg.c 2019-10-18 02:00:17.501997253 +0300
|
||||||
@@ -253,20 +253,9 @@
|
@@ -226,20 +226,9 @@
|
||||||
while (rn) {
|
while (rn) {
|
||||||
route_unlock_node(rn);
|
route_unlock_node(rn);
|
||||||
|
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
--- a/bgpd/bgp_bmp.c 2019-10-19 00:10:05.038017045 +0300
|
|
||||||
+++ b/bgpd/bgp_bmp.c 2019-10-19 00:10:46.661847536 +0300
|
|
||||||
@@ -1762,7 +1762,7 @@
|
|
||||||
#define BMP_STR "BGP Monitoring Protocol\n"
|
|
||||||
|
|
||||||
#ifndef VTYSH_EXTRACT_PL
|
|
||||||
-#include "bgp_bmp_clippy.c"
|
|
||||||
+#include "bgpd/bgp_bmp_clippy.c"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
DEFPY_NOSH(bmp_targets_main,
|
|
|
@ -1,71 +0,0 @@
|
||||||
From eb3e472904e30f35825f08319608217082d4af21 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Radhika Mahankali <radhika@cumulusnetworks.com>
|
|
||||||
Date: Mon, 9 Apr 2018 15:30:32 -0700
|
|
||||||
Subject: [PATCH] ospf: BFD down not tearing down OSPF adjacency for
|
|
||||||
point-to-point network
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Root Cause:
|
|
||||||
Lookup for the point-to-point neighbor was failing because the neighbor
|
|
||||||
lookup was based on neighbor interface IP address. But, for point-to-point
|
|
||||||
neighbor the key is router-id for lookup. Lookup failure was causing the
|
|
||||||
BFD updates from PTM to get dropped.
|
|
||||||
|
|
||||||
Fix:
|
|
||||||
Added walk of the neighbor list if the network type is point-to-point to
|
|
||||||
find the appropriate neighbor. The match is based on source IP address of
|
|
||||||
the neighbor since that’s the address registered with BFD for monitoring.
|
|
||||||
|
|
||||||
Ticket: CM-20411
|
|
||||||
Signed-off-by: Radhika Mahankali <radhika@cumulusnetworks.com>
|
|
||||||
---
|
|
||||||
ospfd/ospf_bfd.c | 26 ++++++++++++++++++++++++--
|
|
||||||
1 file changed, 24 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/ospfd/ospf_bfd.c b/ospfd/ospf_bfd.c
|
|
||||||
index a17975270a..05ec4991e5 100644
|
|
||||||
--- a/ospfd/ospf_bfd.c
|
|
||||||
+++ b/ospfd/ospf_bfd.c
|
|
||||||
@@ -202,8 +202,9 @@ static int ospf_bfd_interface_dest_update(ZAPI_CALLBACK_ARGS)
|
|
||||||
struct interface *ifp;
|
|
||||||
struct ospf_interface *oi;
|
|
||||||
struct ospf_if_params *params;
|
|
||||||
- struct ospf_neighbor *nbr;
|
|
||||||
+ struct ospf_neighbor *nbr = NULL;
|
|
||||||
struct route_node *node;
|
|
||||||
+ struct route_node *n_node;
|
|
||||||
struct prefix p;
|
|
||||||
int status;
|
|
||||||
int old_status;
|
|
||||||
@@ -231,7 +232,28 @@ static int ospf_bfd_interface_dest_update(ZAPI_CALLBACK_ARGS)
|
|
||||||
if ((oi = node->info) == NULL)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
- nbr = ospf_nbr_lookup_by_addr(oi->nbrs, &p.u.prefix4);
|
|
||||||
+ /* walk the neighbor list for point-to-point network */
|
|
||||||
+ if (oi->type == OSPF_IFTYPE_POINTOPOINT) {
|
|
||||||
+ for (n_node = route_top(oi->nbrs); n_node;
|
|
||||||
+ n_node = route_next(n_node)) {
|
|
||||||
+ nbr = n_node->info;
|
|
||||||
+ if (nbr) {
|
|
||||||
+ /* skip myself */
|
|
||||||
+ if (nbr == oi->nbr_self) {
|
|
||||||
+ nbr = NULL;
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /* Found the matching neighbor */
|
|
||||||
+ if (nbr->src.s_addr ==
|
|
||||||
+ p.u.prefix4.s_addr)
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ } else {
|
|
||||||
+ nbr = ospf_nbr_lookup_by_addr(oi->nbrs, &p.u.prefix4);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (!nbr || !nbr->bfd_info)
|
|
||||||
continue;
|
|
||||||
|
|
Loading…
Reference in a new issue