-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bgpd: do not send keepalives when KA timer is 0 #4985
bgpd: do not send keepalives when KA timer is 0 #4985
Conversation
This comment has been minimized.
This comment has been minimized.
I'd like to see a PR for 7.2 as well please |
This comment has been minimized.
This comment has been minimized.
6fd5af6
to
85cb0af
Compare
RFC4271 specifies behavior when the hold timer is sent to zero - we should not send keepalives or run a hold timer. But FRR, and other vendors, allow the keepalive timer to be set to zero with a nonzero hold timer. In this case we were sending keepalives constantly and maxing out a pthread to do so. Instead behave similarly to other vendors and do not send keepalives. Unsure what the utility of this is, but blasting keepalives is definitely the wrong thing to do. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
85cb0af
to
bfc18a0
Compare
Continuous Integration Result: FAILEDSee below for issues. This is a comment from an automated CI system. Get source / Pull Request: SuccessfulBuilding Stage: FailedUbuntu 16.04 i386 build: Failed (click for details)Ubuntu 16.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-8914/artifact/U1604I386/config.status/config.statusMake failed for Ubuntu 16.04 i386 build:
Fedora 29 amd64 build: Failed (click for details)Fedora 29 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-8914/artifact/F29BUILD/config.status/config.statusMake failed for Fedora 29 amd64 build:
Debian 10 amd64 build: Failed (click for details)Debian 10 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-8914/artifact/DEB10BUILD/config.status/config.statusMake failed for Debian 10 amd64 build:
Ubuntu 18.04 amd64 build: Failed (click for details)Ubuntu 18.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-8914/artifact/U1804AMD64/config.status/config.statusMake failed for Ubuntu 18.04 amd64 build:
FreeBSD 12 amd64 build: Failed (click for details)FreeBSD 12 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-8914/artifact/FBSD12AMD64/config.status/config.statusMake failed for FreeBSD 12 amd64 build:
CentOS 7 amd64 build: Failed (click for details)CentOS 7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-8914/artifact/CI005BUILD/config.status/config.statusMake failed for CentOS 7 amd64 build:
Ubuntu 14.04 amd64 build: Failed (click for details)Ubuntu 14.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-8914/artifact/CI001BUILD/config.status/config.statusMake failed for Ubuntu 14.04 amd64 build:
Debian 8 amd64 build: Failed (click for details)Debian 8 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-8914/artifact/CI008BLD/config.status/config.statusMake failed for Debian 8 amd64 build:
Ubuntu 18.04 ppc64le build: Failed (click for details)Ubuntu 18.04 ppc64le build: config.log output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-8914/artifact/U1804PPC64LEBUILD/config.log/ Ubuntu 18.04 ppc64le build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-8914/artifact/U1804PPC64LEBUILD/config.status/config.statusMake failed for Ubuntu 18.04 ppc64le build:
OpenBSD 6 amd64 build: Failed (click for details)OpenBSD 6 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-8914/artifact/CI011BUILD/config.status/config.statusMake failed for OpenBSD 6 amd64 build:
Debian 9 amd64 build: Failed (click for details)Debian 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-8914/artifact/CI021BUILD/config.status/config.statusMake failed for Debian 9 amd64 build:
NetBSD 7 amd64 build: Failed (click for details)NetBSD 7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-8914/artifact/CI012BUILD/config.status/config.statusMake failed for NetBSD 7 amd64 build:
FreeBSD 11 amd64 build: Failed (click for details)FreeBSD 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-8914/artifact/CI009BUILD/config.status/config.statusMake failed for FreeBSD 11 amd64 build:
Ubuntu 16.04 amd64 build: Failed (click for details)Ubuntu 16.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-8914/artifact/CI014BUILD/config.status/config.statusMake failed for Ubuntu 16.04 amd64 build:
NetBSD 6 amd64 build: Failed (click for details)NetBSD 6 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-8914/artifact/CI007BUILD/config.status/config.statusMake failed for NetBSD 6 amd64 build:
Successful on other platforms
|
💚 Basic BGPD CI results: SUCCESS, 0 tests failedResults table
For details, please contact louberger |
Continuous Integration Result: FAILEDSee below for issues. This is a comment from an automated CI system. Get source / Pull Request: SuccessfulBuilding Stage: SuccessfulBasic Tests: FailedTopotest tests on Ubuntu 16.04 i386: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOI386-8915/test Topology Tests failed for Topotest tests on Ubuntu 16.04 i386:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-8915/artifact/TOPOI386/ErrorLog/log_topotests.txt Successful on other platforms
Topology Tests memory analysis: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-8915/artifact/TOPOI386/MemoryLeaks/CLANG Static Analyzer Summary
No Changes in Static Analysis warnings compared to base1 Static Analyzer issues remaining.See details at |
ci:rerun |
Continuous Integration Result: SUCCESSFULCongratulations, this patch passed basic tests Tested-by: NetDEF / OpenSourceRouting.org CI System CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-8928/ This is a comment from an automated CI system. CLANG Static Analyzer Summary
No Changes in Static Analysis warnings compared to base1 Static Analyzer issues remaining.See details at |
RFC4271 specifies behavior when the hold timer is sent to zero - we
should not send keepalives or run a hold timer. But FRR, and other
vendors, allow the keepalive timer to be set to zero with a nonzero hold
timer. In this case we were sending keepalives constantly and maxing out
a pthread to do so. Instead behave similarly to other vendors and do not
send keepalives.
Unsure what the utility of this is, but blasting keepalives is
definitely the wrong thing to do.
Signed-off-by: Quentin Young qlyoung@cumulusnetworks.com