pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/net/frr net/frr: Update to 8.2.2
details: https://anonhg.NetBSD.org/pkgsrc/rev/04ed177ab06b
branches: trunk
changeset: 379413:04ed177ab06b
user: kardel <kardel%pkgsrc.org@localhost>
date: Mon May 16 11:54:19 2022 +0000
description:
net/frr: Update to 8.2.2
Features 8.2.2 Release
BGP Long-lived graceful restart capability
(http://docs.frrouting.org/en/stable-8.2/bgp.html#long-lived-graceful-restart)
BGP Extended Optional Parameters Length for BGP OPEN Message
(http://docs.frrouting.org/en/stable-8.2/bgp.html#clicmd-neighbor-PEER-extended-optional-parameters)
BGP Extended BGP Administrative Shutdown Communication
IS-IS Link State Traffic Engineering support
(http://docs.frrouting.org/en/stable-8.2/isisd.html#traffic-engineering)
OSPFv3 Support for NSSA Type-7 address ranges
(http://docs.frrouting.org/en/stable-8.2/ospf6d.html#ospf6-area)
PBR VLAN actions support
(http://docs.frrouting.org/en/stable-8.2/pbr.html#pbr-maps)
Features 8.1 Release
Lua hooks are now feature complete, with one hook available for use
(http://docs.frrouting.org/en/latest/scripting.html)
Improvements to SRv6 (Segment Routing over IPv6)
(http://docs.frrouting.org/en/latest/zebra.html#segment-routing-ipv6)
Improvements to Prefix-SID (Type 5)
EVPN route type-5 gateway IP overlay Index
(http://docs.frrouting.org/en/latest/bgp.html#evpn-overlay-index-gateway-ip)
OSPFv3 NSSA and NSSA totally stub areas
(http://docs.frrouting.org/en/latest/ospf6d.html#ospf6-area)
OSPFv3 ASBR summarization
(http://docs.frrouting.org/en/latest/ospf6d.html#asbr-summarisation-support-in-ospfv3)
OSPFv3 Graceful Restart
(http://docs.frrouting.org/en/latest/ospf6d.html#graceful-restart)
OSPFv2 Graceful Restart (restarting mode added, helper was already implemented)
(http://docs.frrouting.org/en/latest/ospfd.html#graceful-restart)
Further release information: https://github.com/FRRouting/frr/releases/
diffstat:
net/frr/Makefile | 8 +-
net/frr/PLIST | 11 ++-
net/frr/distinfo | 14 +-
net/frr/patches/patch-lib_frr__pthread.c | 15 +++
net/frr/patches/patch-pimd_pim__mroute.c | 33 +++++++
net/frr/patches/patch-pimd_pim__sock.c | 120 +++++++++++++++++++++++++++
net/frr/patches/patch-zebra_kernel__socket.c | 8 +-
7 files changed, 193 insertions(+), 16 deletions(-)
diffs (truncated from 326 to 300 lines):
diff -r 5d17c19b24f4 -r 04ed177ab06b net/frr/Makefile
--- a/net/frr/Makefile Mon May 16 09:10:31 2022 +0000
+++ b/net/frr/Makefile Mon May 16 11:54:19 2022 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.9 2021/09/08 11:12:37 kardel Exp $
+# $NetBSD: Makefile,v 1.10 2022/05/16 11:54:19 kardel Exp $
GITHUB_PROJECT= frr
-VERSION= 8.0.1
+VERSION= 8.2.2
GITHUB_TAG= frr-${VERSION}
DISTNAME= frr-${VERSION}
CATEGORIES= net
@@ -53,7 +53,7 @@
USE_TOOLS+= bash:run
REPLACE_BASH= tools/frr.in tools/*.sh.in
-REPLACE_PYTHON= tools/generate_support_bundle.py tools/frr-reload.py
+REPLACE_PYTHON= tools/generate_support_bundle.py tools/frr-reload.py tools/frr_babeltrace.py
MESSAGE_SUBST+= FRR_USER=${FRR_USER}
MESSAGE_SUBST+= FRR_VTY_GROUP=${FRR_VTY_GROUP}
@@ -90,7 +90,7 @@
CONFIGURE_ARGS+= --with-pkg-git-version
CONFIGURE_ARGS+= --with-pkg-extra-version=/${DISTNAME}
# CONFIGURE_ARGS+= --enable-address-sanitizer
-
+CONFIGURE_ARGS+= --enable-dev-build
pre-configure:
cd ${WRKSRC} && ${SH} bootstrap.sh
diff -r 5d17c19b24f4 -r 04ed177ab06b net/frr/PLIST
--- a/net/frr/PLIST Mon May 16 09:10:31 2022 +0000
+++ b/net/frr/PLIST Mon May 16 11:54:19 2022 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.4 2021/08/15 14:54:31 kardel Exp $
+@comment $NetBSD: PLIST,v 1.5 2022/05/16 11:54:19 kardel Exp $
bin/mtracebis
bin/vtysh
include/frr/agg_table.h
@@ -92,6 +92,7 @@
include/frr/queue.h
include/frr/resolver.h
include/frr/ringbuf.h
+include/frr/route_opaque.h
include/frr/route_types.h
include/frr/routemap.h
include/frr/routing_nb.h
@@ -134,6 +135,7 @@
include/frr/zlog_targets.h
${PLIST.doc}info/frr.info
lib/frr/modules/bgpd_bmp.la
+lib/frr/modules/dplane_sample_plugin.la
lib/frr/modules/pathd_pcep.la
lib/frr/modules/zebra_fpm.la
lib/libfrr.la
@@ -164,6 +166,7 @@
sbin/frr
sbin/frr-reload
sbin/frr-reload.py
+sbin/frr_babeltrace.py
sbin/frrcommon.sh
sbin/frrinit.sh
sbin/generate_support_bundle.py
@@ -192,6 +195,9 @@
${PLIST.doc}share/doc/frr/html/_images/fig_dmvpn_topologies.png
${PLIST.doc}share/doc/frr/html/_images/fig_topologies_full.png
${PLIST.doc}share/doc/frr/html/_images/fig_topologies_rs.png
+${PLIST.doc}share/doc/frr/html/_images/pathd_config.png
+${PLIST.doc}share/doc/frr/html/_images/pathd_general.png
+${PLIST.doc}share/doc/frr/html/_images/pathd_initiated_multi.png
${PLIST.doc}share/doc/frr/html/_sources/babeld.rst.txt
${PLIST.doc}share/doc/frr/html/_sources/basic.rst.txt
${PLIST.doc}share/doc/frr/html/_sources/bfd.rst.txt
@@ -307,13 +313,14 @@
share/yang/frr-deviations-bgp-datacenter.yang
share/yang/frr-eigrpd.yang
share/yang/frr-filter.yang
-share/yang/frr-igmp.yang
+share/yang/frr-gmp.yang
share/yang/frr-interface.yang
share/yang/frr-isisd.yang
share/yang/frr-module-translator.yang
share/yang/frr-nexthop.yang
share/yang/frr-ospf-route-map.yang
share/yang/frr-ospf6-route-map.yang
+share/yang/frr-ospfd.yang
share/yang/frr-pathd.yang
share/yang/frr-pim-rp.yang
share/yang/frr-pim.yang
diff -r 5d17c19b24f4 -r 04ed177ab06b net/frr/distinfo
--- a/net/frr/distinfo Mon May 16 09:10:31 2022 +0000
+++ b/net/frr/distinfo Mon May 16 11:54:19 2022 +0000
@@ -1,8 +1,10 @@
-$NetBSD: distinfo,v 1.7 2021/10/26 11:05:37 nia Exp $
+$NetBSD: distinfo,v 1.8 2022/05/16 11:54:19 kardel Exp $
-BLAKE2s (frr-8.0.1.tar.gz) = d698d9521fc3051c48afb110f1c78cf74c94d5c625cf7a4d5ab7778421085920
-SHA512 (frr-8.0.1.tar.gz) = d9a9ee3b40bf0271779765447c67da817551b5bf2d5d1e9f8073fb4596c622e013fbf7316ca39087db7b7f478b18d07f1fd06f1778abde2734c83112573d5f8f
-Size (frr-8.0.1.tar.gz) = 8206852 bytes
-SHA1 (patch-lib_elf__py.c) = a766923c906f1b0f9fa80a9e16e5275bae165187
+BLAKE2s (frr-8.2.2.tar.gz) = e815bbd44cc9bf04031ed2aae259d863c11e8573bcfd6bb97b0b720f13a0f49e
+SHA512 (frr-8.2.2.tar.gz) = 52d8e82979823f61ec6f117db1eb41b23fd8ad3197ae3f9d2cfa3ad9d96636a3d2f0b36720b2041a9261c8b639ddd48e46a2351ce41cb596f7dc432cddf29256
+Size (frr-8.2.2.tar.gz) = 9439460 bytes
+SHA1 (patch-lib_frr__pthread.c) = 24d695d906e2d4461080d6cdcd82f473e6eee6d8
+SHA1 (patch-pimd_pim__mroute.c) = d0c306ba3fa400532978d18a220c283aae34c7f4
+SHA1 (patch-pimd_pim__sock.c) = 5c99f7671d35813eb1b2e76ef23fa049053b1141
SHA1 (patch-pkgsrc_zebra.sh.in) = d458e74a1f3319f6e075d3d3a81414bc7d7022f2
-SHA1 (patch-zebra_kernel__socket.c) = 845c3132d21aefcff5c41fa9aa9a31f2bf2ac5af
+SHA1 (patch-zebra_kernel__socket.c) = 74ef772fa70b69a1767ad11ce89d907504c7528e
diff -r 5d17c19b24f4 -r 04ed177ab06b net/frr/patches/patch-lib_frr__pthread.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/net/frr/patches/patch-lib_frr__pthread.c Mon May 16 11:54:19 2022 +0000
@@ -0,0 +1,15 @@
+$NetBSD: patch-lib_frr__pthread.c,v 1.1 2022/05/16 11:54:20 kardel Exp $
+
+ avoid tripping over NULL pointer
+
+--- lib/frr_pthread.c.orig 2022-03-13 15:59:48.000000000 +0000
++++ lib/frr_pthread.c
+@@ -141,7 +141,7 @@ int frr_pthread_set_name(struct frr_pthr
+ # ifdef GNU_LINUX
+ ret = pthread_setname_np(fpt->thread, fpt->os_name);
+ # elif defined(__NetBSD__)
+- ret = pthread_setname_np(fpt->thread, fpt->os_name, NULL);
++ ret = pthread_setname_np(fpt->thread, fpt->os_name ? fpt->os_name : "-n/a-", NULL);
+ # endif
+ #elif defined(HAVE_PTHREAD_SET_NAME_NP)
+ pthread_set_name_np(fpt->thread, fpt->os_name);
diff -r 5d17c19b24f4 -r 04ed177ab06b net/frr/patches/patch-pimd_pim__mroute.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/net/frr/patches/patch-pimd_pim__mroute.c Mon May 16 11:54:19 2022 +0000
@@ -0,0 +1,33 @@
+$NetBSD: patch-pimd_pim__mroute.c,v 1.1 2022/05/16 11:54:20 kardel Exp $
+
+ Support HAVE_IP_RECVDSTADDR and HAVE_IP_RECVIF
+
+--- pimd/pim_mroute.c.orig 2021-03-04 02:14:50.000000000 +0000
++++ pimd/pim_mroute.c
+@@ -106,6 +106,26 @@ static int pim_mroute_set(struct pim_ins
+ }
+ }
+ #endif
++#if defined(HAVE_IP_RECVDSTADDR)
++ /* BSD IP_RECVDSTADDR */
++ data = 1;
++ if (setsockopt(pim->mroute_socket, IPPROTO_IP, IP_RECVDSTADDR, &data,
++ data_len)) {
++ zlog_warn(
++ "Could not set IP_RECVDSTADDR on socket fd=%d: errno=%d: %s",
++ pim->mroute_socket, errno, safe_strerror(errno));
++ }
++#endif
++#if defined(HAVE_IP_RECVIF)
++ /* BSD IP_RECVIF */
++ data = 1;
++ if (setsockopt(pim->mroute_socket, IPPROTO_IP, IP_RECVIF, &data,
++ data_len)) {
++ zlog_warn(
++ "Could not set IP_RECVIF on socket fd=%d: errno=%d: %s",
++ pim->mroute_socket, errno, safe_strerror(errno));
++ }
++#endif
+
+ setsockopt_so_recvbuf(pim->mroute_socket, 1024 * 1024 * 8);
+
diff -r 5d17c19b24f4 -r 04ed177ab06b net/frr/patches/patch-pimd_pim__sock.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/net/frr/patches/patch-pimd_pim__sock.c Mon May 16 11:54:19 2022 +0000
@@ -0,0 +1,120 @@
+$NetBSD: patch-pimd_pim__sock.c,v 1.1 2022/05/16 11:54:20 kardel Exp $
+
+ Support HAVE_STRUCT_IP_MREQN_IMR_IFINDEX and HAVE_IP_RECVIF
+
+--- pimd/pim_sock.c.orig 2022-03-13 15:59:48.000000000 +0000
++++ pimd/pim_sock.c
+@@ -27,7 +27,9 @@
+ #include <unistd.h>
+ #include <netdb.h>
+ #include <errno.h>
+-
++#ifdef __NetBSD__
++#include <net/if.h>
++#endif
+ #include "log.h"
+ #include "privs.h"
+ #include "if.h"
+@@ -97,11 +99,6 @@ int pim_socket_mcast(int protocol, struc
+ uint8_t loop)
+ {
+ int rcvbuf = 1024 * 1024 * 8;
+-#ifdef HAVE_STRUCT_IP_MREQN_IMR_IFINDEX
+- struct ip_mreqn mreq;
+-#else
+- struct ip_mreq mreq;
+-#endif
+ int fd;
+
+ fd = pim_socket_raw(protocol);
+@@ -146,6 +143,15 @@ int pim_socket_mcast(int protocol, struc
+ "Could not set IP_RECVDSTADDR on socket fd=%d: errno=%d: %s",
+ fd, errno, safe_strerror(errno));
+ }
++#elif defined(HAVE_IP_RECVIF)
++ /* BSD IP_RECVIF */
++ int opt = 1;
++ if (setsockopt(fd, IPPROTO_IP, IP_RECVIF, &opt,
++ sizeof(opt))) {
++ zlog_warn(
++ "Could not set IP_RECVDSTADDR on socket fd=%d: errno=%d: %s",
++ fd, errno, safe_strerror(errno));
++ }
+ #else
+ flog_err(
+ EC_LIB_DEVELOPMENT,
+@@ -208,23 +214,26 @@ int pim_socket_mcast(int protocol, struc
+ return PIM_SOCK_ERR_LOOP;
+ }
+
+- memset(&mreq, 0, sizeof(mreq));
++ {
+ #ifdef HAVE_STRUCT_IP_MREQN_IMR_IFINDEX
+- mreq.imr_ifindex = ifp->ifindex;
++ struct ip_mreqn mreq;
++
++ memset(&mreq, 0, sizeof(mreq));
++ mreq.imr_ifindex = ifp->ifindex;
++ if (setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF, (void *)&mreq,
++ sizeof(mreq)))
+ #else
+-/*
+- * I am not sure what to do here yet for *BSD
+- */
+-// mreq.imr_interface = ifindex;
++ uint32_t idx = htonl(ifp->ifindex);
++ if (setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF, &idx, sizeof(idx)))
+ #endif
+
+- if (setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF, (void *)&mreq,
+- sizeof(mreq))) {
+- zlog_warn(
+- "Could not set Outgoing Interface Option on socket fd=%d: errno=%d: %s",
+- fd, errno, safe_strerror(errno));
+- close(fd);
+- return PIM_SOCK_ERR_IFACE;
++ {
++ zlog_warn(
++ "Could not set Outgoing Interface Option on socket fd=%d: errno=%d: %s",
++ fd, errno, safe_strerror(errno));
++ close(fd);
++ return PIM_SOCK_ERR_IFACE;
++ }
+ }
+
+ if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &rcvbuf, sizeof(rcvbuf)))
+@@ -379,7 +388,7 @@ int pim_socket_recvfromto(int fd, uint8_
+ if (ifindex)
+ *ifindex = i->ipi_ifindex;
+
+- break;
++ continue;
+ }
+ #endif
+
+@@ -392,14 +401,20 @@ int pim_socket_recvfromto(int fd, uint8_
+ if (tolen)
+ *tolen = sizeof(struct sockaddr_in);
+
+- break;
++ continue;
+ }
+ #endif
+
+-#if defined(HAVE_IP_RECVIF) && defined(CMSG_IFINDEX)
+- if (cmsg->cmsg_type == IP_RECVIF)
+- if (ifindex)
+- *ifindex = CMSG_IFINDEX(cmsg);
++#if defined(HAVE_IP_RECVIF)
++ if (cmsg->cmsg_type == IP_RECVIF && ifindex) {
++#ifdef __NetBSD__
++ struct sockaddr_dl *dl = (struct sockaddr_dl *)CMSG_DATA(cmsg);
++ *ifindex = dl->sdl_index;
++#elif defined(CMSG_IFINDEX)
++ *ifindex = CMSG_IFINDEX(cmsg);
++#endif
++ continue;
++ }
+ #endif
+
+ } /* for (cmsg) */
diff -r 5d17c19b24f4 -r 04ed177ab06b net/frr/patches/patch-zebra_kernel__socket.c
--- a/net/frr/patches/patch-zebra_kernel__socket.c Mon May 16 09:10:31 2022 +0000
+++ b/net/frr/patches/patch-zebra_kernel__socket.c Mon May 16 11:54:19 2022 +0000
@@ -1,4 +1,4 @@
-$NetBSD: patch-zebra_kernel__socket.c,v 1.3 2021/08/15 14:54:31 kardel Exp $
+$NetBSD: patch-zebra_kernel__socket.c,v 1.4 2022/05/16 11:54:20 kardel Exp $
Pass IFP interface index if known (normal case) to make
interface specific routes work such as in
@@ -10,7 +10,7 @@
Home |
Main Index |
Thread Index |
Old Index