mirror of
https://github.com/novatiq/packages.git
synced 2026-04-30 07:28:39 +01:00
frr: update to 7.2
add support to build against OpenSSL Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com>
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
--- 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
|
||||
@@ -253,20 +253,9 @@
|
||||
while (rn) {
|
||||
route_unlock_node(rn);
|
||||
|
||||
- /* Lookup should halt if we've matched against ourselves ('top',
|
||||
- * if specified) - i.e., we cannot have a nexthop NH1 is
|
||||
- * resolved by a route NH1. The exception is if the route is a
|
||||
- * host route.
|
||||
- */
|
||||
- if (top && rn == top)
|
||||
- if (((afi == AFI_IP) && (rn->p.prefixlen != 32))
|
||||
- || ((afi == AFI_IP6) && (rn->p.prefixlen != 128))) {
|
||||
- if (IS_ZEBRA_DEBUG_RIB_DETAILED)
|
||||
- zlog_debug(
|
||||
- "\t%s: Matched against ourself and prefix length is not max bit length",
|
||||
- __PRETTY_FUNCTION__);
|
||||
- return 0;
|
||||
- }
|
||||
+ /* If lookup self prefix return immediately. */
|
||||
+ if (rn == top)
|
||||
+ return 0;
|
||||
|
||||
/* Pick up selected route. */
|
||||
/* However, do not resolve over default route unless explicitly
|
||||
@@ -0,0 +1,11 @@
|
||||
--- 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,
|
||||
@@ -0,0 +1,53 @@
|
||||
From 2163a630eb737b9afe3277dccf44070ef55dea12 Mon Sep 17 00:00:00 2001
|
||||
From: Lucian Cristian <lucian.cristian@gmail.com>
|
||||
Date: Fri, 13 Sep 2019 07:12:34 +0300
|
||||
Subject: [PATCH] clippy: CARES fail only if !enable_clippy_only test for CARES
|
||||
otherwise config will fail with conditional "CARES" not defined
|
||||
|
||||
Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com>
|
||||
---
|
||||
configure.ac | 14 ++++++++------
|
||||
1 file changed, 8 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 6c1b35b5f2..9f37b3e9a9 100755
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1452,6 +1452,12 @@ if test "x$enable_pcreposix" = "xyes"; then
|
||||
fi
|
||||
AC_SUBST([HAVE_LIBPCREPOSIX])
|
||||
|
||||
+dnl ##########################################################################
|
||||
+dnl test "${enable_clippy_only}" != "yes"
|
||||
+fi
|
||||
+dnl END OF LARGE if block
|
||||
+dnl ##########################################################################
|
||||
+
|
||||
dnl ------------------
|
||||
dnl check C-Ares library
|
||||
dnl ------------------
|
||||
@@ -1462,12 +1468,6 @@ PKG_CHECK_MODULES([CARES], [libcares], [
|
||||
])
|
||||
AM_CONDITIONAL([CARES], [$c_ares_found])
|
||||
|
||||
-dnl ##########################################################################
|
||||
-dnl test "${enable_clippy_only}" != "yes"
|
||||
-fi
|
||||
-dnl END OF LARGE if block
|
||||
-dnl ##########################################################################
|
||||
-
|
||||
|
||||
dnl ----------------------------------------------------------------------------
|
||||
dnl figure out if domainname is available in the utsname struct (GNU extension).
|
||||
@@ -1535,9 +1535,11 @@ case "$host_os" in
|
||||
no)
|
||||
;;
|
||||
yes)
|
||||
+ if test "${enable_clippy_only}" != "yes"; then
|
||||
if test "$c_ares_found" != "true" ; then
|
||||
AC_MSG_ERROR([nhrpd requires libcares. Please install c-ares and its -dev headers.])
|
||||
fi
|
||||
+ fi
|
||||
NHRPD="nhrpd"
|
||||
;;
|
||||
*)
|
||||
@@ -0,0 +1,27 @@
|
||||
From 2cd3abe419dab2ee32227c0870f96f805d870fe6 Mon Sep 17 00:00:00 2001
|
||||
From: Lucian Cristian <lucian.cristian@gmail.com>
|
||||
Date: Fri, 13 Sep 2019 07:16:18 +0300
|
||||
Subject: [PATCH] clippy: fail libcap test only when !enable_clippy_only when
|
||||
building native clippy we don't need libcap
|
||||
|
||||
Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com>
|
||||
---
|
||||
configure.ac | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 9f37b3e9a9..be3a9c763d 100755
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2043,9 +2043,11 @@ if test "${enable_capabilities}" != "no"; then
|
||||
|
||||
case "$host_os" in
|
||||
linux*)
|
||||
+ if test "${enable_clippy_only}" != "yes"; then
|
||||
if test "$frr_ac_lcaps" != "yes"; then
|
||||
AC_MSG_ERROR([libcap and/or its headers were not found. Running FRR without libcap support built in causes a huge performance penalty.])
|
||||
fi
|
||||
+ fi
|
||||
;;
|
||||
esac
|
||||
else
|
||||
@@ -0,0 +1,71 @@
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user