pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/net/frr



Module Name:    pkgsrc
Committed By:   kardel
Date:           Mon May 16 11:54:20 UTC 2022

Modified Files:
        pkgsrc/net/frr: Makefile PLIST distinfo
        pkgsrc/net/frr/patches: patch-zebra_kernel__socket.c
Added Files:
        pkgsrc/net/frr/patches: patch-lib_frr__pthread.c
            patch-pimd_pim__mroute.c patch-pimd_pim__sock.c

Log Message:
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/


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 pkgsrc/net/frr/Makefile
cvs rdiff -u -r1.4 -r1.5 pkgsrc/net/frr/PLIST
cvs rdiff -u -r1.7 -r1.8 pkgsrc/net/frr/distinfo
cvs rdiff -u -r0 -r1.1 pkgsrc/net/frr/patches/patch-lib_frr__pthread.c \
    pkgsrc/net/frr/patches/patch-pimd_pim__mroute.c \
    pkgsrc/net/frr/patches/patch-pimd_pim__sock.c
cvs rdiff -u -r1.3 -r1.4 pkgsrc/net/frr/patches/patch-zebra_kernel__socket.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/net/frr/Makefile
diff -u pkgsrc/net/frr/Makefile:1.9 pkgsrc/net/frr/Makefile:1.10
--- pkgsrc/net/frr/Makefile:1.9 Wed Sep  8 11:12:37 2021
+++ pkgsrc/net/frr/Makefile     Mon May 16 11:54:19 2022
@@ -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 @@ RCD_SCRIPT_SRC.${f}=  ${WRKSRC}/pkgsrc/${
 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+=      --enable-fpm
 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
 

Index: pkgsrc/net/frr/PLIST
diff -u pkgsrc/net/frr/PLIST:1.4 pkgsrc/net/frr/PLIST:1.5
--- pkgsrc/net/frr/PLIST:1.4    Sun Aug 15 14:54:31 2021
+++ pkgsrc/net/frr/PLIST        Mon May 16 11:54:19 2022
@@ -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/qobj.h
 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.h
 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/fabricd
 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/f
 ${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-bgp.yang
 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

Index: pkgsrc/net/frr/distinfo
diff -u pkgsrc/net/frr/distinfo:1.7 pkgsrc/net/frr/distinfo:1.8
--- pkgsrc/net/frr/distinfo:1.7 Tue Oct 26 11:05:37 2021
+++ pkgsrc/net/frr/distinfo     Mon May 16 11:54:19 2022
@@ -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

Index: pkgsrc/net/frr/patches/patch-zebra_kernel__socket.c
diff -u pkgsrc/net/frr/patches/patch-zebra_kernel__socket.c:1.3 pkgsrc/net/frr/patches/patch-zebra_kernel__socket.c:1.4
--- pkgsrc/net/frr/patches/patch-zebra_kernel__socket.c:1.3     Sun Aug 15 14:54:31 2021
+++ pkgsrc/net/frr/patches/patch-zebra_kernel__socket.c Mon May 16 11:54:20 2022
@@ -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 @@ $NetBSD: patch-zebra_kernel__socket.c,v 
        routing socket returns ENOBUFS. ensure at least a bit more
        socket buffer space by increasing SO_RCVBUF.
 
---- zebra/kernel_socket.c.orig 2021-07-21 13:06:19.000000000 +0000
+--- zebra/kernel_socket.c.orig 2022-03-13 15:59:48.000000000 +0000
 +++ zebra/kernel_socket.c
 @@ -39,6 +39,7 @@
  #include "privs.h"
@@ -20,7 +20,7 @@ $NetBSD: patch-zebra_kernel__socket.c,v 
  
  #include "zebra/rt.h"
  #include "zebra/interface.h"
-@@ -1243,6 +1244,20 @@ int rtm_write(int message, union sockuni
+@@ -1249,6 +1250,20 @@ int rtm_write(int message, union sockuni
  #ifdef __OpenBSD__
        SOCKADDRSET(mpls, RTA_SRC);
  #endif
@@ -41,7 +41,7 @@ $NetBSD: patch-zebra_kernel__socket.c,v 
  
        msg.rtm.rtm_msglen = pnt - (caddr_t)&msg;
  
-@@ -1425,6 +1440,9 @@ static void routing_socket(struct zebra_
+@@ -1434,6 +1449,9 @@ static void routing_socket(struct zebra_
                return;
        }
  

Added files:

Index: pkgsrc/net/frr/patches/patch-lib_frr__pthread.c
diff -u /dev/null pkgsrc/net/frr/patches/patch-lib_frr__pthread.c:1.1
--- /dev/null   Mon May 16 11:54:20 2022
+++ pkgsrc/net/frr/patches/patch-lib_frr__pthread.c     Mon May 16 11:54:20 2022
@@ -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);
Index: pkgsrc/net/frr/patches/patch-pimd_pim__mroute.c
diff -u /dev/null pkgsrc/net/frr/patches/patch-pimd_pim__mroute.c:1.1
--- /dev/null   Mon May 16 11:54:20 2022
+++ pkgsrc/net/frr/patches/patch-pimd_pim__mroute.c     Mon May 16 11:54:20 2022
@@ -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);
+ 
Index: pkgsrc/net/frr/patches/patch-pimd_pim__sock.c
diff -u /dev/null pkgsrc/net/frr/patches/patch-pimd_pim__sock.c:1.1
--- /dev/null   Mon May 16 11:54:20 2022
+++ pkgsrc/net/frr/patches/patch-pimd_pim__sock.c       Mon May 16 11:54:20 2022
@@ -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) */



Home | Main Index | Thread Index | Old Index