frr icon indicating copy to clipboard operation
frr copied to clipboard

libs,zebra: Neighbor glean throttling

Open mjstapp opened this issue 3 years ago • 16 comments

This PR adds a new zebra feature that can add blackhole routes when traffic arrives for unresolved neighbor addresses. It's intended to help limit the impact of network events or configurations where traffic may be driven towards a non-existent IP (or IPv6) address. There are configurable limits on the number of blackhole routes, and on their lifetime.

When configured, the feature responds to failed neighbor resolution/discovery events arriving via netlink. The default neighbor resolution processing can take several seconds, so it's also possible to configure the OS to notify zebra more quickly and allow zebra to attempt resolution immediately.

One question that I'd like to hear thoughts about is the use of nexthop-groups. Currently, zebra won't use nexthop-group ids for blackhole routes. The comment in the code (in rt_netlink.c) is a little obscure though - and linux seems to accept nhg ids on the command-line. I'd expect scaling to be better with nhgs, so I'd like to consider making that possible, maybe configurably?

I haven't gotten to the doc changes or to adding a topotest yet, so I'll note that here in the description.

  • [ ] doc update
  • [ ] topotest

mjstapp avatar Jun 29 '22 12:06 mjstapp

I believe the only style warnings are cli macros and '#define' alignment

mjstapp avatar Jun 29 '22 12:06 mjstapp

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

See below for issues. CI System Testrun URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/

This is a comment from an automated CI system. For questions and feedback in regards to this CI system, please feel free to email Martin Winter - mwinter (at) opensourcerouting.org.

Get source / Pull Request: Successful

Building Stage: Failed

OpenBSD 7 amd64 build: Failed (click for details)

Make failed for OpenBSD 7 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/CI011BUILD/ErrorLog/log_make.txt)

/home/ci/cibuild.6179/frr-source/doc/user/zebra.rst:736: WARNING: duplicate clicmd description of locator NAME, other instance in bgp
/home/ci/cibuild.6179/frr-source/doc/user/zebra.rst:1486: WARNING: duplicate clicmd description of debug zebra pbr, other instance in pbr
zebra/zebra_ns.c:133:16: error: use of undeclared identifier 'ETH_P_ARP'
zebra/zebra_ns.c:133:16: error: use of undeclared identifier 'ETH_P_ARP'
zebra/zebra_ns.c:133:16: error: use of undeclared identifier 'ETH_P_ARP'
zebra/zebra_ns.c:133:16: error: use of undeclared identifier 'ETH_P_ARP'
zebra/zebra_ns.c:132:24: error: use of undeclared identifier 'PF_PACKET'
zebra/zebra_ns.c:139:15: error: use of undeclared identifier 'ETH_P_IPV6'
zebra/zebra_ns.c:139:15: error: use of undeclared identifier 'ETH_P_IPV6'

OpenBSD 7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/CI011BUILD/config.status/config.status OpenBSD 7 amd64 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/CI011BUILD/config.log/config.log.gz

Fedora 29 amd64 build: Failed (click for details)

Make failed for Fedora 29 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/F29BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6179/frr-source'
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10367: zebra/rt_netlink.o] Error 1
make[1]: Target 'all-am' not remade because of errors.
make[1]: Leaving directory '/home/ci/cibuild.6179/frr-source'
make: *** [Makefile:6380: all] Error 2

Fedora 29 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/F29BUILD/config.status/config.status Fedora 29 amd64 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/F29BUILD/config.log/config.log.gz

Redhat 8 amd64 build: Failed (click for details) Redhat 8 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/REDHAT8/config.log/config.log.gz

Make failed for Redhat 8 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/REDHAT8/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6179/frr-source'
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10367: zebra/rt_netlink.o] Error 1
make[1]: Target 'all-am' not remade because of errors.
make[1]: Leaving directory '/home/ci/cibuild.6179/frr-source'
make: *** [Makefile:6380: all] Error 2

Redhat 8 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/REDHAT8/config.status/config.status

Ubuntu 18.04 arm8 build: Failed (click for details) Ubuntu 18.04 arm8 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U18ARM8BUILD/config.status/config.status Ubuntu 18.04 arm8 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U18ARM8BUILD/config.log/config.log.gz

Make failed for Ubuntu 18.04 arm8 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U18ARM8BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6179/frr-source'
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/rt_netlink.o' failed
make[1]: *** [zebra/rt_netlink.o] Error 1
make[1]: Target 'all-am' not remade because of errors.
make[1]: Leaving directory '/home/ci/cibuild.6179/frr-source'
Makefile:5724: recipe for target 'all' failed
Debian 9 amd64 build: Failed (click for details)

Make failed for Debian 9 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/CI021BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6179/frr-source'
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/rt_netlink.o' failed
make[1]: *** [zebra/rt_netlink.o] Error 1
/home/ci/cibuild.6179/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".
/home/ci/cibuild.6179/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".
/home/ci/cibuild.6179/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".

Debian 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/CI021BUILD/config.status/config.status Debian 9 amd64 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/CI021BUILD/config.log/config.log.gz

Debian 10 amd64 build: Failed (click for details) Debian 10 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/DEB10BUILD/config.log/config.log.gz

Make failed for Debian 10 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/DEB10BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6179/frr-source'
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10368: zebra/rt_netlink.o] Error 1
make[1]: Leaving directory '/home/ci/cibuild.6179/frr-source'
make[1]: Target 'all-am' not remade because of errors.
make: *** [Makefile:6381: all] Error 2

Debian 10 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/DEB10BUILD/config.status/config.status

Redhat 9 amd64 build: Failed (click for details) Redhat 9 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/RH9BUILD/config.log/config.log.gz

Make failed for Redhat 9 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/RH9BUILD/ErrorLog/log_make.txt)

/home/ci/cibuild.6179/frr-source/doc/user/zebra.rst:1486: WARNING: duplicate clicmd description of debug zebra pbr, other instance in pbr
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:17: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
 4138 |                 zsend_nhrp_neighbor_notify(
 4139 |                         cmd, ifp, &ip,
 4140 |                         netlink_nbr_entry_state_to_zclient(ndm->ndm_state),
 4141 |                         &link_layer_ipv4);
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10368: zebra/rt_netlink.o] Error 1

Redhat 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/RH9BUILD/config.status/config.status

Ubuntu 20.04 amd64 build: Failed (click for details) Ubuntu 20.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U2004AMD64BUILD/config.status/config.status

Make failed for Ubuntu 20.04 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U2004AMD64BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6179/frr-source'
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
 4138 |   zsend_nhrp_neighbor_notify(
 4139 |    cmd, ifp, &ip,
 4140 |    netlink_nbr_entry_state_to_zclient(ndm->ndm_state),
 4141 |    &link_layer_ipv4);
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10368: zebra/rt_netlink.o] Error 1

Ubuntu 20.04 amd64 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U2004AMD64BUILD/config.log/config.log.gz

Ubuntu 18.04 ppc64le build: Failed (click for details)

Make failed for Ubuntu 18.04 ppc64le build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U1804PPC64LEBUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6179/frr-source'
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/rt_netlink.o' failed
make[1]: *** [zebra/rt_netlink.o] Error 1
make[1]: Leaving directory '/home/ci/cibuild.6179/frr-source'
make[1]: Target 'all-am' not remade because of errors.
Makefile:5724: recipe for target 'all' failed

Ubuntu 18.04 ppc64le build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U1804PPC64LEBUILD/config.status/config.status Ubuntu 18.04 ppc64le build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U1804PPC64LEBUILD/config.log/config.log.gz

Ubuntu 16.04 arm7 build: Failed (click for details) Ubuntu 16.04 arm7 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/CI101BUILD/config.status/config.status Ubuntu 16.04 arm7 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/CI101BUILD/config.log/config.log.gz

Make failed for Ubuntu 16.04 arm7 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/CI101BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6179/frr-source'
zebra/rt_netlink.c: In function netlink_neigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
zebra/rt_netlink.c:4044:6: note: cmd was declared here
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/rt_netlink.o' failed
make[1]: *** [zebra/rt_netlink.o] Error 1
zebra/zebra_neigh_throttle.c: In function zebra_neigh_throttle_set_timeout:
zebra/zebra_neigh_throttle.c:592:37: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
Ubuntu 22.04 amd64 build: Failed (click for details) Ubuntu 22.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U22AMD64BUILD/config.status/config.status

Make failed for Ubuntu 22.04 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U22AMD64BUILD/ErrorLog/log_make.txt)

/home/ci/cibuild.6179/frr-source/doc/user/zebra.rst:1486: WARNING: duplicate clicmd description of debug zebra pbr, other instance in pbr
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:17: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
 4138 |                 zsend_nhrp_neighbor_notify(
 4139 |                         cmd, ifp, &ip,
 4140 |                         netlink_nbr_entry_state_to_zclient(ndm->ndm_state),
 4141 |                         &link_layer_ipv4);
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10371: zebra/rt_netlink.o] Error 1

Ubuntu 22.04 amd64 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U22AMD64BUILD/config.log/config.log.gz

FreeBSD 11 amd64 build: Failed (click for details)

Make failed for FreeBSD 11 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/CI009BUILD/ErrorLog/log_make.txt)

/usr/home/ci/cibuild.6179/frr-source/doc/user/zebra.rst:1486: WARNING: duplicate clicmd description of debug zebra pbr, other instance in pbr
zebra/zebra_ns.c: In function 'zebra_ns_enable':
zebra/zebra_ns.c:132:24: error: 'PF_PACKET' undeclared (first use in this function)
zebra/zebra_ns.c:132:24: note: each undeclared identifier is reported only once for each function it appears in
In file included from /usr/include/machine/endian.h:6,
zebra/zebra_ns.c:133:16: error: 'ETH_P_ARP' undeclared (first use in this function)
zebra/zebra_ns.c:139:15: error: 'ETH_P_IPV6' undeclared (first use in this function)
gmake[1]: *** [Makefile:10370: zebra/zebra_ns.o] Error 1
gmake[1]: Leaving directory '/usr/home/ci/cibuild.6179/frr-source'

FreeBSD 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/CI009BUILD/config.status/config.status FreeBSD 11 amd64 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/CI009BUILD/config.log/config.log.gz

Ubuntu 16.04 arm8 build: Failed (click for details)

Make failed for Ubuntu 16.04 arm8 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U16ARM8BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6179/frr-source'
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/rt_netlink.o' failed
make[1]: *** [zebra/rt_netlink.o] Error 1
/home/ci/cibuild.6179/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".
/home/ci/cibuild.6179/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".
/home/ci/cibuild.6179/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".

Ubuntu 16.04 arm8 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U16ARM8BUILD/config.log/config.log.gz Ubuntu 16.04 arm8 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U16ARM8BUILD/config.status/config.status

Ubuntu 18.04 amd64 build: Failed (click for details)

Make failed for Ubuntu 18.04 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U1804AMD64/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6179/frr-source'
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/rt_netlink.o' failed
make[1]: *** [zebra/rt_netlink.o] Error 1
make[1]: Leaving directory '/home/ci/cibuild.6179/frr-source'
make[1]: Target 'all-am' not remade because of errors.
Makefile:5724: recipe for target 'all' failed

Ubuntu 18.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U1804AMD64/config.status/config.status Ubuntu 18.04 amd64 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U1804AMD64/config.log/config.log.gz

Ubuntu 16.04 amd64 build: Failed (click for details)

Make failed for Ubuntu 16.04 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/CI014BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6179/frr-source'
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/rt_netlink.o' failed
make[1]: *** [zebra/rt_netlink.o] Error 1
/home/ci/cibuild.6179/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".
/home/ci/cibuild.6179/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".
/home/ci/cibuild.6179/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".

Ubuntu 16.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/CI014BUILD/config.status/config.status Ubuntu 16.04 amd64 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/CI014BUILD/config.log/config.log.gz

Ubuntu 18.04 i386 build: Failed (click for details) Ubuntu 18.04 i386 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U18I386BUILD/config.log/config.log.gz Ubuntu 18.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U18I386BUILD/config.status/config.status

Make failed for Ubuntu 18.04 i386 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U18I386BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6179/frr-source'
zebra/rt_netlink.c: In function netlink_neigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
zebra/rt_netlink.c:4044:6: note: cmd was declared here
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/rt_netlink.o' failed
make[1]: *** [zebra/rt_netlink.o] Error 1
zebra/zebra_neigh_throttle.c: In function zebra_neigh_throttle_set_timeout:
zebra/zebra_neigh_throttle.c:592:37: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
Ubuntu 18.04 arm7 build: Failed (click for details)

Make failed for Ubuntu 18.04 arm7 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U18ARM7BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6179/frr-source'
zebra/rt_netlink.c: In function netlink_neigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
zebra/rt_netlink.c:4044:6: note: cmd was declared here
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/rt_netlink.o' failed
make[1]: *** [zebra/rt_netlink.o] Error 1
zebra/zebra_neigh_throttle.c: In function zebra_neigh_throttle_set_timeout:
zebra/zebra_neigh_throttle.c:592:37: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]

Ubuntu 18.04 arm7 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U18ARM7BUILD/config.log/config.log.gz Ubuntu 18.04 arm7 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U18ARM7BUILD/config.status/config.status

NetBSD 9 amd64 build: Failed (click for details) NetBSD 9 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/CI012BUILD/config.log/config.log.gz

Make failed for NetBSD 9 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/CI012BUILD/ErrorLog/log_make.txt)

gmake[1]: Entering directory '/home/ci/cibuild.6179/frr-source'
zebra/zebra_ns.c: In function 'zebra_ns_enable':
zebra/zebra_ns.c:132:24: error: 'PF_PACKET' undeclared (first use in this function); did you mean 'PF_CCITT'?
zebra/zebra_ns.c:132:24: note: each undeclared identifier is reported only once for each function it appears in
In file included from /usr/include/stdint.h:35:0,
zebra/zebra_ns.c:133:16: error: 'ETH_P_ARP' undeclared (first use in this function)
zebra/zebra_ns.c:139:15: error: 'ETH_P_IPV6' undeclared (first use in this function); did you mean 'ETH_P_ARP'?
gmake[1]: *** [Makefile:10371: zebra/zebra_ns.o] Error 1
ld: warning: libintl.so.1, needed by /usr/pkg/lib/libpython3.7.so, may conflict with libintl.so.8

NetBSD 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/CI012BUILD/config.status/config.status

Debian 11 amd64 build: Failed (click for details) Debian 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/DEB11AMD64/config.status/config.status

Make failed for Debian 11 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/DEB11AMD64/ErrorLog/log_make.txt)

/home/ci/cibuild.6179/frr-source/doc/user/zebra.rst:1486: WARNING: duplicate clicmd description of debug zebra pbr, other instance in pbr
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
 4138 |   zsend_nhrp_neighbor_notify(
 4139 |    cmd, ifp, &ip,
 4140 |    netlink_nbr_entry_state_to_zclient(ndm->ndm_state),
 4141 |    &link_layer_ipv4);
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10371: zebra/rt_netlink.o] Error 1

Debian 11 amd64 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/DEB11AMD64/config.log/config.log.gz

Ubuntu 16.04 i386 build: Failed (click for details)

Make failed for Ubuntu 16.04 i386 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U1604I386/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6179/frr-source'
zebra/rt_netlink.c: In function netlink_neigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
zebra/rt_netlink.c:4044:6: note: cmd was declared here
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/rt_netlink.o' failed
make[1]: *** [zebra/rt_netlink.o] Error 1
zebra/zebra_neigh_throttle.c: In function zebra_neigh_throttle_set_timeout:
zebra/zebra_neigh_throttle.c:592:37: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]

Ubuntu 16.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U1604I386/config.status/config.status Ubuntu 16.04 i386 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/U1604I386/config.log/config.log.gz

FreeBSD 12 amd64 build: Failed (click for details)

Make failed for FreeBSD 12 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/FBSD12AMD64/ErrorLog/log_make.txt)

gmake[1]: Entering directory '/usr/home/ci/cibuild.6179/frr-source'
zebra/zebra_ns.c: In function 'zebra_ns_enable':
zebra/zebra_ns.c:132:24: error: 'PF_PACKET' undeclared (first use in this function); did you mean 'PF_CCITT'?
zebra/zebra_ns.c:132:24: note: each undeclared identifier is reported only once for each function it appears in
In file included from /usr/include/machine/endian.h:6:0,
zebra/zebra_ns.c:133:16: error: 'ETH_P_ARP' undeclared (first use in this function); did you mean 'KTR_PMAP'?
zebra/zebra_ns.c:139:15: error: 'ETH_P_IPV6' undeclared (first use in this function); did you mean 'ETH_P_ARP'?
gmake[1]: *** [Makefile:10367: zebra/zebra_ns.o] Error 1
gmake[1]: Target 'all-am' not remade because of errors.

FreeBSD 12 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/FBSD12AMD64/config.status/config.status FreeBSD 12 amd64 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6179/artifact/FBSD12AMD64/config.log/config.log.gz

Successful on other platforms/tests
  • CentOS 7 amd64 build

NetDEF-CI avatar Jun 29 '22 13:06 NetDEF-CI

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

See below for issues. CI System Testrun URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/

This is a comment from an automated CI system. For questions and feedback in regards to this CI system, please feel free to email Martin Winter - mwinter (at) opensourcerouting.org.

Get source / Pull Request: Successful

Building Stage: Failed

Redhat 8 amd64 build: Failed (click for details) Redhat 8 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/REDHAT8/config.log/config.log.gz

Make failed for Redhat 8 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/REDHAT8/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6180/frr-source'
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10367: zebra/rt_netlink.o] Error 1
make[1]: Target 'all-am' not remade because of errors.
make[1]: Leaving directory '/home/ci/cibuild.6180/frr-source'
make: *** [Makefile:6380: all] Error 2

Redhat 8 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/REDHAT8/config.status/config.status

Debian 10 amd64 build: Failed (click for details) Debian 10 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/DEB10BUILD/config.log/config.log.gz

Make failed for Debian 10 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/DEB10BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6180/frr-source'
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10368: zebra/rt_netlink.o] Error 1
make[1]: Leaving directory '/home/ci/cibuild.6180/frr-source'
make[1]: Target 'all-am' not remade because of errors.
make: *** [Makefile:6381: all] Error 2

Debian 10 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/DEB10BUILD/config.status/config.status

Fedora 29 amd64 build: Failed (click for details)

Make failed for Fedora 29 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/F29BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6180/frr-source'
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10367: zebra/rt_netlink.o] Error 1
make[1]: Target 'all-am' not remade because of errors.
make[1]: Leaving directory '/home/ci/cibuild.6180/frr-source'
make: *** [Makefile:6380: all] Error 2

Fedora 29 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/F29BUILD/config.status/config.status Fedora 29 amd64 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/F29BUILD/config.log/config.log.gz

OpenBSD 7 amd64 build: Failed (click for details)

Make failed for OpenBSD 7 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/CI011BUILD/ErrorLog/log_make.txt)

/home/ci/cibuild.6180/frr-source/doc/user/zebra.rst:736: WARNING: duplicate clicmd description of locator NAME, other instance in bgp
/home/ci/cibuild.6180/frr-source/doc/user/zebra.rst:1486: WARNING: duplicate clicmd description of debug zebra pbr, other instance in pbr
zebra/zebra_ns.c:133:16: error: use of undeclared identifier 'ETH_P_ARP'
zebra/zebra_ns.c:133:16: error: use of undeclared identifier 'ETH_P_ARP'
zebra/zebra_ns.c:133:16: error: use of undeclared identifier 'ETH_P_ARP'
zebra/zebra_ns.c:133:16: error: use of undeclared identifier 'ETH_P_ARP'
zebra/zebra_ns.c:132:24: error: use of undeclared identifier 'PF_PACKET'
zebra/zebra_ns.c:139:15: error: use of undeclared identifier 'ETH_P_IPV6'
zebra/zebra_ns.c:139:15: error: use of undeclared identifier 'ETH_P_IPV6'

OpenBSD 7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/CI011BUILD/config.status/config.status OpenBSD 7 amd64 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/CI011BUILD/config.log/config.log.gz

Debian 9 amd64 build: Failed (click for details)

Make failed for Debian 9 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/CI021BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6180/frr-source'
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/rt_netlink.o' failed
make[1]: *** [zebra/rt_netlink.o] Error 1
/home/ci/cibuild.6180/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".
/home/ci/cibuild.6180/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".
/home/ci/cibuild.6180/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".

Debian 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/CI021BUILD/config.status/config.status Debian 9 amd64 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/CI021BUILD/config.log/config.log.gz

Ubuntu 20.04 amd64 build: Failed (click for details) Ubuntu 20.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U2004AMD64BUILD/config.status/config.status

Make failed for Ubuntu 20.04 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U2004AMD64BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6180/frr-source'
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
 4138 |   zsend_nhrp_neighbor_notify(
 4139 |    cmd, ifp, &ip,
 4140 |    netlink_nbr_entry_state_to_zclient(ndm->ndm_state),
 4141 |    &link_layer_ipv4);
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10368: zebra/rt_netlink.o] Error 1

Ubuntu 20.04 amd64 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U2004AMD64BUILD/config.log/config.log.gz

Redhat 9 amd64 build: Failed (click for details) Redhat 9 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/RH9BUILD/config.log/config.log.gz

Make failed for Redhat 9 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/RH9BUILD/ErrorLog/log_make.txt)

/home/ci/cibuild.6180/frr-source/doc/user/zebra.rst:1486: WARNING: duplicate clicmd description of debug zebra pbr, other instance in pbr
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:17: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
 4138 |                 zsend_nhrp_neighbor_notify(
 4139 |                         cmd, ifp, &ip,
 4140 |                         netlink_nbr_entry_state_to_zclient(ndm->ndm_state),
 4141 |                         &link_layer_ipv4);
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10368: zebra/rt_netlink.o] Error 1

Redhat 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/RH9BUILD/config.status/config.status

Ubuntu 16.04 arm7 build: Failed (click for details) Ubuntu 16.04 arm7 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/CI101BUILD/config.status/config.status Ubuntu 16.04 arm7 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/CI101BUILD/config.log/config.log.gz

Make failed for Ubuntu 16.04 arm7 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/CI101BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6180/frr-source'
zebra/rt_netlink.c: In function netlink_neigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
zebra/rt_netlink.c:4044:6: note: cmd was declared here
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/rt_netlink.o' failed
make[1]: *** [zebra/rt_netlink.o] Error 1
zebra/zebra_neigh_throttle.c: In function zebra_neigh_throttle_set_timeout:
zebra/zebra_neigh_throttle.c:592:37: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
Ubuntu 18.04 ppc64le build: Failed (click for details)

Make failed for Ubuntu 18.04 ppc64le build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U1804PPC64LEBUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6180/frr-source'
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/rt_netlink.o' failed
make[1]: *** [zebra/rt_netlink.o] Error 1
make[1]: Leaving directory '/home/ci/cibuild.6180/frr-source'
Makefile:5724: recipe for target 'all' failed
make[1]: Target 'all-am' not remade because of errors.

Ubuntu 18.04 ppc64le build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U1804PPC64LEBUILD/config.status/config.status Ubuntu 18.04 ppc64le build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U1804PPC64LEBUILD/config.log/config.log.gz

Ubuntu 18.04 amd64 build: Failed (click for details)

Make failed for Ubuntu 18.04 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U1804AMD64/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6180/frr-source'
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/rt_netlink.o' failed
make[1]: *** [zebra/rt_netlink.o] Error 1
make[1]: Leaving directory '/home/ci/cibuild.6180/frr-source'
make[1]: Target 'all-am' not remade because of errors.
Makefile:5724: recipe for target 'all' failed

Ubuntu 18.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U1804AMD64/config.status/config.status Ubuntu 18.04 amd64 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U1804AMD64/config.log/config.log.gz

Ubuntu 22.04 amd64 build: Failed (click for details) Ubuntu 22.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U22AMD64BUILD/config.status/config.status

Make failed for Ubuntu 22.04 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U22AMD64BUILD/ErrorLog/log_make.txt)

/home/ci/cibuild.6180/frr-source/doc/user/zebra.rst:1486: WARNING: duplicate clicmd description of debug zebra pbr, other instance in pbr
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:17: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
 4138 |                 zsend_nhrp_neighbor_notify(
 4139 |                         cmd, ifp, &ip,
 4140 |                         netlink_nbr_entry_state_to_zclient(ndm->ndm_state),
 4141 |                         &link_layer_ipv4);
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10371: zebra/rt_netlink.o] Error 1

Ubuntu 22.04 amd64 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U22AMD64BUILD/config.log/config.log.gz

FreeBSD 11 amd64 build: Failed (click for details)

Make failed for FreeBSD 11 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/CI009BUILD/ErrorLog/log_make.txt)

/usr/home/ci/cibuild.6180/frr-source/doc/user/zebra.rst:1486: WARNING: duplicate clicmd description of debug zebra pbr, other instance in pbr
zebra/zebra_ns.c: In function 'zebra_ns_enable':
zebra/zebra_ns.c:132:24: error: 'PF_PACKET' undeclared (first use in this function)
zebra/zebra_ns.c:132:24: note: each undeclared identifier is reported only once for each function it appears in
In file included from /usr/include/machine/endian.h:6,
zebra/zebra_ns.c:133:16: error: 'ETH_P_ARP' undeclared (first use in this function)
zebra/zebra_ns.c:139:15: error: 'ETH_P_IPV6' undeclared (first use in this function)
gmake[1]: *** [Makefile:10370: zebra/zebra_ns.o] Error 1
gmake[1]: Leaving directory '/usr/home/ci/cibuild.6180/frr-source'

FreeBSD 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/CI009BUILD/config.status/config.status FreeBSD 11 amd64 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/CI009BUILD/config.log/config.log.gz

FreeBSD 12 amd64 build: Failed (click for details)

Make failed for FreeBSD 12 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/FBSD12AMD64/ErrorLog/log_make.txt)

gmake[1]: Entering directory '/usr/home/ci/cibuild.6180/frr-source'
zebra/zebra_ns.c: In function 'zebra_ns_enable':
zebra/zebra_ns.c:132:24: error: 'PF_PACKET' undeclared (first use in this function); did you mean 'PF_CCITT'?
zebra/zebra_ns.c:132:24: note: each undeclared identifier is reported only once for each function it appears in
In file included from /usr/include/machine/endian.h:6:0,
zebra/zebra_ns.c:133:16: error: 'ETH_P_ARP' undeclared (first use in this function); did you mean 'KTR_PMAP'?
zebra/zebra_ns.c:139:15: error: 'ETH_P_IPV6' undeclared (first use in this function); did you mean 'ETH_P_ARP'?
gmake[1]: *** [Makefile:10367: zebra/zebra_ns.o] Error 1
gmake[1]: Target 'all-am' not remade because of errors.

FreeBSD 12 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/FBSD12AMD64/config.status/config.status FreeBSD 12 amd64 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/FBSD12AMD64/config.log/config.log.gz

Ubuntu 16.04 arm8 build: Failed (click for details)

Make failed for Ubuntu 16.04 arm8 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U16ARM8BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6180/frr-source'
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/rt_netlink.o' failed
make[1]: *** [zebra/rt_netlink.o] Error 1
/home/ci/cibuild.6180/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".
/home/ci/cibuild.6180/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".
/home/ci/cibuild.6180/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".

Ubuntu 16.04 arm8 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U16ARM8BUILD/config.log/config.log.gz Ubuntu 16.04 arm8 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U16ARM8BUILD/config.status/config.status

Ubuntu 16.04 amd64 build: Failed (click for details)

Make failed for Ubuntu 16.04 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/CI014BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6180/frr-source'
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/rt_netlink.o' failed
make[1]: *** [zebra/rt_netlink.o] Error 1
/home/ci/cibuild.6180/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".
/home/ci/cibuild.6180/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".
/home/ci/cibuild.6180/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".

Ubuntu 16.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/CI014BUILD/config.status/config.status Ubuntu 16.04 amd64 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/CI014BUILD/config.log/config.log.gz

Ubuntu 18.04 i386 build: Failed (click for details) Ubuntu 18.04 i386 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U18I386BUILD/config.log/config.log.gz Ubuntu 18.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U18I386BUILD/config.status/config.status

Make failed for Ubuntu 18.04 i386 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U18I386BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6180/frr-source'
zebra/rt_netlink.c: In function netlink_neigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
zebra/rt_netlink.c:4044:6: note: cmd was declared here
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/rt_netlink.o' failed
make[1]: *** [zebra/rt_netlink.o] Error 1
zebra/zebra_neigh_throttle.c: In function zebra_neigh_throttle_set_timeout:
zebra/zebra_neigh_throttle.c:592:37: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
NetBSD 9 amd64 build: Failed (click for details) NetBSD 9 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/CI012BUILD/config.log/config.log.gz

Make failed for NetBSD 9 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/CI012BUILD/ErrorLog/log_make.txt)

gmake[1]: Entering directory '/home/ci/cibuild.6180/frr-source'
zebra/zebra_ns.c: In function 'zebra_ns_enable':
zebra/zebra_ns.c:132:24: error: 'PF_PACKET' undeclared (first use in this function); did you mean 'PF_CCITT'?
zebra/zebra_ns.c:132:24: note: each undeclared identifier is reported only once for each function it appears in
In file included from /usr/include/stdint.h:35:0,
zebra/zebra_ns.c:133:16: error: 'ETH_P_ARP' undeclared (first use in this function)
zebra/zebra_ns.c:139:15: error: 'ETH_P_IPV6' undeclared (first use in this function); did you mean 'ETH_P_ARP'?
gmake[1]: *** [Makefile:10371: zebra/zebra_ns.o] Error 1
ld: warning: libintl.so.1, needed by /usr/pkg/lib/libpython3.7.so, may conflict with libintl.so.8

NetBSD 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/CI012BUILD/config.status/config.status

Ubuntu 18.04 arm7 build: Failed (click for details)

Make failed for Ubuntu 18.04 arm7 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U18ARM7BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6180/frr-source'
zebra/rt_netlink.c: In function netlink_neigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
zebra/rt_netlink.c:4044:6: note: cmd was declared here
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/rt_netlink.o' failed
make[1]: *** [zebra/rt_netlink.o] Error 1
zebra/zebra_neigh_throttle.c: In function zebra_neigh_throttle_set_timeout:
zebra/zebra_neigh_throttle.c:592:37: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]

Ubuntu 18.04 arm7 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U18ARM7BUILD/config.log/config.log.gz Ubuntu 18.04 arm7 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U18ARM7BUILD/config.status/config.status

Ubuntu 18.04 arm8 build: Failed (click for details) Ubuntu 18.04 arm8 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U18ARM8BUILD/config.status/config.status Ubuntu 18.04 arm8 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U18ARM8BUILD/config.log/config.log.gz

Make failed for Ubuntu 18.04 arm8 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U18ARM8BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6180/frr-source'
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/rt_netlink.o' failed
make[1]: *** [zebra/rt_netlink.o] Error 1
make[1]: Leaving directory '/home/ci/cibuild.6180/frr-source'
make[1]: Target 'all-am' not remade because of errors.
Makefile:5724: recipe for target 'all' failed
Ubuntu 16.04 i386 build: Failed (click for details)

Make failed for Ubuntu 16.04 i386 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U1604I386/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6180/frr-source'
zebra/rt_netlink.c: In function netlink_neigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
zebra/rt_netlink.c:4044:6: note: cmd was declared here
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/rt_netlink.o' failed
make[1]: *** [zebra/rt_netlink.o] Error 1
zebra/zebra_neigh_throttle.c: In function zebra_neigh_throttle_set_timeout:
zebra/zebra_neigh_throttle.c:592:37: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]

Ubuntu 16.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U1604I386/config.status/config.status Ubuntu 16.04 i386 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/U1604I386/config.log/config.log.gz

Debian 11 amd64 build: Failed (click for details) Debian 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/DEB11AMD64/config.status/config.status

Make failed for Debian 11 amd64 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/DEB11AMD64/ErrorLog/log_make.txt)

/home/ci/cibuild.6180/frr-source/doc/user/zebra.rst:1486: WARNING: duplicate clicmd description of debug zebra pbr, other instance in pbr
zebra/rt_netlink.c: In function netlink_ipneigh_change:
zebra/rt_netlink.c:4138:3: error: cmd may be used uninitialized in this function [-Werror=maybe-uninitialized]
 4138 |   zsend_nhrp_neighbor_notify(
 4139 |    cmd, ifp, &ip,
 4140 |    netlink_nbr_entry_state_to_zclient(ndm->ndm_state),
 4141 |    &link_layer_ipv4);
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10371: zebra/rt_netlink.o] Error 1

Debian 11 amd64 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6180/artifact/DEB11AMD64/config.log/config.log.gz

Successful on other platforms/tests
  • CentOS 7 amd64 build

NetDEF-CI avatar Jun 29 '22 13:06 NetDEF-CI

hmm - pushed to resolve the bsd build failures

mjstapp avatar Jun 29 '22 13:06 mjstapp

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

See below for issues. CI System Testrun URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6183/

This is a comment from an automated CI system. For questions and feedback in regards to this CI system, please feel free to email Martin Winter - mwinter (at) opensourcerouting.org.

Get source / Pull Request: Successful

Building Stage: Failed

Ubuntu 16.04 arm7 build: Failed (click for details) Ubuntu 16.04 arm7 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6183/artifact/CI101BUILD/config.status/config.status Ubuntu 16.04 arm7 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6183/artifact/CI101BUILD/config.log/config.log.gz

Make failed for Ubuntu 16.04 arm7 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6183/artifact/CI101BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6183/frr-source'
zebra/zebra_neigh_throttle.c: In function zebra_neigh_throttle_set_timeout:
zebra/zebra_neigh_throttle.c:592:37: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/zebra_neigh_throttle.o' failed
make[1]: *** [zebra/zebra_neigh_throttle.o] Error 1
/home/ci/cibuild.6183/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".
/home/ci/cibuild.6183/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".
/home/ci/cibuild.6183/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".
Ubuntu 18.04 i386 build: Failed (click for details) Ubuntu 18.04 i386 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6183/artifact/U18I386BUILD/config.log/config.log.gz Ubuntu 18.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6183/artifact/U18I386BUILD/config.status/config.status

Make failed for Ubuntu 18.04 i386 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6183/artifact/U18I386BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6183/frr-source'
zebra/zebra_neigh_throttle.c: In function zebra_neigh_throttle_set_timeout:
zebra/zebra_neigh_throttle.c:592:37: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/zebra_neigh_throttle.o' failed
make[1]: *** [zebra/zebra_neigh_throttle.o] Error 1
make[1]: Leaving directory '/home/ci/cibuild.6183/frr-source'
make[1]: Target 'all-am' not remade because of errors.
Makefile:5724: recipe for target 'all' failed
Ubuntu 18.04 arm7 build: Failed (click for details)

Make failed for Ubuntu 18.04 arm7 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6183/artifact/U18ARM7BUILD/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6183/frr-source'
zebra/zebra_neigh_throttle.c: In function zebra_neigh_throttle_set_timeout:
zebra/zebra_neigh_throttle.c:592:37: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/zebra_neigh_throttle.o' failed
make[1]: *** [zebra/zebra_neigh_throttle.o] Error 1
make[1]: Target 'all-am' not remade because of errors.
make[1]: Leaving directory '/home/ci/cibuild.6183/frr-source'
Makefile:5724: recipe for target 'all' failed

Ubuntu 18.04 arm7 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6183/artifact/U18ARM7BUILD/config.log/config.log.gz Ubuntu 18.04 arm7 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6183/artifact/U18ARM7BUILD/config.status/config.status

Ubuntu 16.04 i386 build: Failed (click for details)

Make failed for Ubuntu 16.04 i386 build: (see full Make log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6183/artifact/U1604I386/ErrorLog/log_make.txt)

make[1]: Entering directory '/home/ci/cibuild.6183/frr-source'
zebra/zebra_neigh_throttle.c: In function zebra_neigh_throttle_set_timeout:
zebra/zebra_neigh_throttle.c:592:37: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
cc1: all warnings being treated as errors
Makefile:9705: recipe for target 'zebra/zebra_neigh_throttle.o' failed
make[1]: *** [zebra/zebra_neigh_throttle.o] Error 1
/home/ci/cibuild.6183/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".
/home/ci/cibuild.6183/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".
/home/ci/cibuild.6183/frr-source/doc/user/zebra.rst:23: SEVERE: Duplicate ID: "cmdoption-configure-arg-net".

Ubuntu 16.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-6183/artifact/U1604I386/config.status/config.status Ubuntu 16.04 i386 build: Unknown Log <config.log.gz> URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6183/artifact/U1604I386/config.log/config.log.gz

Successful on other platforms/tests
  • OpenBSD 7 amd64 build
  • Redhat 8 amd64 build
  • Debian 10 amd64 build
  • CentOS 7 amd64 build
  • Ubuntu 22.04 amd64 build
  • FreeBSD 11 amd64 build
  • Debian 9 amd64 build
  • Ubuntu 18.04 amd64 build
  • Ubuntu 16.04 arm8 build
  • Ubuntu 16.04 amd64 build
  • Ubuntu 20.04 amd64 build
  • Redhat 9 amd64 build
  • Ubuntu 18.04 ppc64le build
  • FreeBSD 12 amd64 build
  • NetBSD 9 amd64 build
  • Fedora 29 amd64 build
  • Debian 11 amd64 build
  • Ubuntu 18.04 arm8 build

NetDEF-CI avatar Jun 29 '22 14:06 NetDEF-CI

pushing again to fix some remaining compile issues

mjstapp avatar Jun 29 '22 14:06 mjstapp

Continuous Integration Result: SUCCESSFUL

Continuous Integration Result: SUCCESSFUL

Congratulations, this patch passed basic tests

Tested-by: NetDEF / OpenSourceRouting.org CI System

CI System Testrun URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6184/

This is a comment from an automated CI system. For questions and feedback in regards to this CI system, please feel free to email Martin Winter - mwinter (at) opensourcerouting.org.


CLANG Static Analyzer Summary

  • Github Pull Request 11492, comparing to Git base SHA fd87826
  • Base image data for Git fd87826 does not exist - compare skipped

1 Static Analyzer issues remaining.

See details at https://ci1.netdef.org/browse/FRR-PULLREQ2-6184/artifact/shared/static_analysis/index.html

NetDEF-CI avatar Jun 29 '22 18:06 NetDEF-CI

pushed to resolve SA warning

mjstapp avatar Jun 29 '22 18:06 mjstapp

Continuous Integration Result: SUCCESSFUL

Continuous Integration Result: SUCCESSFUL

Congratulations, this patch passed basic tests

Tested-by: NetDEF / OpenSourceRouting.org CI System

CI System Testrun URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6193/

This is a comment from an automated CI system. For questions and feedback in regards to this CI system, please feel free to email Martin Winter - mwinter (at) opensourcerouting.org.

NetDEF-CI avatar Jun 29 '22 21:06 NetDEF-CI

my recollection of nexthop groups and blackholes ->

a) a singleton nhg is allowed with a blackhole b) You can't mix and match blackhole and non-blackhole nhgs to make a larger nhg

Since B I believe i just told Sworley to not allow this case and simplify the code at first by just being restrictive of blackhole routes

donaldsharp avatar Jun 30 '22 11:06 donaldsharp

rebased to resolve merge conflict

mjstapp avatar Jul 05 '22 14:07 mjstapp

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

See below for issues. CI System Testrun URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6256/

This is a comment from an automated CI system. For questions and feedback in regards to this CI system, please feel free to email Martin Winter - mwinter (at) opensourcerouting.org.

Get source / Pull Request: Successful

Building Stage: Successful

Basic Tests: Failed

Topotests Ubuntu 18.04 amd64 part 9: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TOPO9U18AMD64-6256/test

Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 9 see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-6256/artifact/TOPO9U18AMD64/ErrorLog/log_topotests.txt

Successful on other platforms/tests
  • Topotests Ubuntu 18.04 arm8 part 3
  • Addresssanitizer topotests part 4
  • Topotests debian 10 amd64 part 9
  • Topotests Ubuntu 18.04 amd64 part 2
  • Addresssanitizer topotests part 5
  • Topotests debian 10 amd64 part 4
  • Topotests Ubuntu 18.04 amd64 part 3
  • Topotests debian 10 amd64 part 8
  • Addresssanitizer topotests part 0
  • Topotests Ubuntu 18.04 arm8 part 4
  • IPv6 protocols on Ubuntu 18.04
  • Topotests debian 10 amd64 part 3
  • Topotests Ubuntu 18.04 arm8 part 9
  • Topotests debian 10 amd64 part 0
  • Topotests Ubuntu 18.04 amd64 part 5
  • IPv4 ldp protocol on Ubuntu 18.04
  • Ubuntu 16.04 deb pkg check
  • Topotests Ubuntu 18.04 arm8 part 2
  • Ubuntu 20.04 deb pkg check
  • Topotests Ubuntu 18.04 amd64 part 8
  • Topotests Ubuntu 18.04 i386 part 1
  • Addresssanitizer topotests part 9
  • Topotests Ubuntu 18.04 amd64 part 4
  • Topotests Ubuntu 18.04 i386 part 6
  • Topotests Ubuntu 18.04 arm8 part 0
  • IPv4 protocols on Ubuntu 18.04
  • Topotests Ubuntu 18.04 i386 part 8
  • Topotests Ubuntu 18.04 i386 part 3
  • Topotests Ubuntu 18.04 arm8 part 7
  • Debian 10 deb pkg check
  • Addresssanitizer topotests part 7
  • Topotests Ubuntu 18.04 amd64 part 7
  • Addresssanitizer topotests part 6
  • Topotests Ubuntu 18.04 i386 part 5
  • Addresssanitizer topotests part 3
  • Topotests Ubuntu 18.04 i386 part 0
  • Topotests debian 10 amd64 part 1
  • Topotests Ubuntu 18.04 arm8 part 5
  • CentOS 7 rpm pkg check
  • Fedora 29 rpm pkg check
  • Topotests Ubuntu 18.04 amd64 part 0
  • Topotests Ubuntu 18.04 i386 part 9
  • Topotests debian 10 amd64 part 2
  • Addresssanitizer topotests part 2
  • Static analyzer (clang)
  • Debian 9 deb pkg check
  • Topotests Ubuntu 18.04 amd64 part 1
  • Addresssanitizer topotests part 1
  • Topotests Ubuntu 18.04 i386 part 4
  • Topotests debian 10 amd64 part 5
  • Ubuntu 18.04 deb pkg check
  • Topotests debian 10 amd64 part 7
  • Topotests Ubuntu 18.04 i386 part 2
  • Topotests Ubuntu 18.04 arm8 part 6
  • Addresssanitizer topotests part 8
  • Topotests debian 10 amd64 part 6
  • Topotests Ubuntu 18.04 arm8 part 8
  • Topotests Ubuntu 18.04 i386 part 7
  • Topotests Ubuntu 18.04 arm8 part 1
  • Topotests Ubuntu 18.04 amd64 part 6

NetDEF-CI avatar Jul 05 '22 17:07 NetDEF-CI

Continuous Integration Result: SUCCESSFUL

Continuous Integration Result: SUCCESSFUL

Congratulations, this patch passed basic tests

Tested-by: NetDEF / OpenSourceRouting.org CI System

CI System Testrun URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-6257/

This is a comment from an automated CI system. For questions and feedback in regards to this CI system, please feel free to email Martin Winter - mwinter (at) opensourcerouting.org.


CLANG Static Analyzer Summary

  • Github Pull Request 11492, comparing to Git base SHA 96929d7
  • Base image data for Git 96929d7 does not exist - compare skipped

1 Static Analyzer issues remaining.

See details at https://ci1.netdef.org/browse/FRR-PULLREQ2-6257/artifact/shared/static_analysis/index.html

NetDEF-CI avatar Jul 05 '22 19:07 NetDEF-CI

The more I think about this, the less I think it's a good idea to do this with a route.

The simplest argument is: installing the temporary route is not free from side effects. Apart from other components in the system (e.g. VPN daemons) doing "things" when they see the route, there's also features like kernel proxy ARP - which disables itself when it sees a blackhole nexthop. Which then has a knock-on effect in making the nexthop unavailable on ingress…

[If it is a problem,]¹ this is a neighbor table problem, it needs a neighbor table solution.

¹ it's obviously irrelevant for Linux SW forwarding, and a properly™ implemented switchdev driver shouldn't have the problem either.

eqvinox avatar Jul 06 '22 07:07 eqvinox

hmm, well, I guess we disagree: this is a parity feature that appears to align with existing implementations, as in it uses the rib. I'm open to looking into a neighbor-based option, so that users could have a choice?

The more I think about this, the less I think it's a good idea to do this with a route.

The simplest argument is: installing the temporary route is not free from side effects. Apart from other components in the system (e.g. VPN daemons) doing "things" when they see the route, there's also features like kernel proxy ARP - which disables itself when it sees a blackhole nexthop. Which then has a knock-on effect in making the nexthop unavailable on ingress…

[If it is a problem,]¹ this is a neighbor table problem, it needs a neighbor table solution.

¹ it's obviously irrelevant for Linux SW forwarding, and a properly™ implemented switchdev driver shouldn't have the problem either.

mjstapp avatar Jul 06 '22 19:07 mjstapp

hmm, well, I guess we disagree: this is a parity feature

That's already where my disagreement comes in — it's not actually a parity feature. Here's my view:

On Cisco, there are two choices:

  • you don't enable this glean throttling option. This seems to make it queue up an arbitrary amount of "unrouteable" packets while ARP is doing its thing. The queue is probably (hopefully) limited at some point, but from what I see it's "large". What that means is that for a new data flow that is running into a yet-unresolved ARP neighbor, a large amount of packets for that flow may be buffered and then delivered a bit later when ARP resolves — there is no packet loss for initial packets on new flows. But you have a giant DoS hole, even for accidental self-DoS.
  • you enable this glean throttling option. Whether any packets are queued is unclear to me, but if any it's a very small amount. But in exchange, you plug a giant DoS hole. For a new flow that is routed on a yet-unresolved neighbor, the first packets are likely lost, which the end hosts will see and handle through usual retransmit features.

On Linux software routing, what we get is this:

  • without the option, if we try to route packets to a neighbor that has no neighbor entry, we hit pneigh_enqueue() in the ARP code. The default cap for this queue is 64 packets, adjustable in /proc/sys/net/ipv4/neigh/${iface}/proxy_qlen. That's enough for a few TCP SYNs, but 64 is not a huge queue. If an existing data flow is running at any reasonable bandwidth and suddenly rerouted to an unresolved nexthop, there's packet loss. But the limit provides an effective DoS protection.
  • with your new throttling option… that replicates the limit in userspace and causes additional load by doing so (route table updates). You also interfere with forwarding traffic longer than necessary (when ARP completes, the blackhole is still there, and it's a trip through userspace to remove it. That can be a non-negligible amount of time on a loaded system.) However, the end result for the user is actually the same — beyond a small buffer, packets are lost while neighbor resolution happens. At best, the option does nothing; at worst, the amount of packets lost increases for no good reason.

Now on Linux hardware routing, what we get is this:

  • without the option, the switch silicon encounters a route with an unresolved nexthop, and punts packets to the CPU. The silicon-specific driver picks up the packets and hands them to the network stack, which triggers ARP as above — and puts the packets in the same 64-by-default pneigh_enqueue(). As above, packets will be dropped. Whether the driver tells the silicon to stop punting packets for that nexthop to the CPU is up to the driver at this point. The driver already has an interface with the neighbor table, in order to push the ARP result down into hardware when it completes. The driver has full visibility into the neighbor entry being in INCOMPLETE state. Whether or not it is even necessary to tell the silicon to stop punting these packets depends on the silicon; it may well be that the silicon already has a rate limit on this, or even limits itself to punting the first packet. If you have a DoS problem, that is a driver bug. But the end result for the hosts is: packets will be dropped pretty quickly.
  • with your throttling option… again the end host result is the same, packets are dropped while the nexthop is unresolved. The kernel queue limit is duplicated in userspace. There is additional load and trips through userspace. There is additional load on the silicon FIB programming interface to create and delete the blackhole.

So what it boils down to for me is: this option isn't actually an option, it doesn't switch between two different visible results like the Cisco one does. It's a workaround for a silicon driver issue that may not even exist in all drivers. And worse: we have no way of telling whether the driver has the issue. We already know that it's completely and entirely unhelpful on a software forwarding setup.

Doing something like this through the neighbor table is borderline acceptable to me, things have bugs, and sometimes can't be fixed, so workarounds are added. But doing this through the routing table, where it has visible side effects, is a very strong NAK from me.

eqvinox avatar Jul 09 '22 14:07 eqvinox

This pull request has conflicts, please resolve those before we can evaluate the pull request.

github-actions[bot] avatar Oct 13 '22 13:10 github-actions[bot]

Rebased to current master

mjstapp avatar Feb 15 '23 17:02 mjstapp

Continuous Integration Result: SUCCESSFUL

Congratulations, this patch passed basic tests

Tested-by: NetDEF / OpenSourceRouting.org CI System

CI System Testrun URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-9717/

This is a comment from an automated CI system. For questions and feedback in regards to this CI system, please feel free to email Martin Winter - mwinter (at) opensourcerouting.org.


CLANG Static Analyzer Summary

  • Github Pull Request 11492, comparing to Git base SHA 7bdeb1c
  • Base image data for Git 7bdeb1c does not exist - compare skipped

1 Static Analyzer issues remaining.

See details at https://ci1.netdef.org/browse/FRR-PULLREQ2-9717/artifact/shared/static_analysis/index.html

NetDEF-CI avatar Feb 15 '23 19:02 NetDEF-CI

This pull request has conflicts, please resolve those before we can evaluate the pull request.

github-actions[bot] avatar Mar 24 '23 18:03 github-actions[bot]

This PR is stale because it has been open 180 days with no activity. Comment or remove the autoclose label in order to avoid having this PR closed.

github-actions[bot] avatar Oct 01 '23 01:10 github-actions[bot]