Skip to content
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: Handle Graceful Restart capability using dynamic capabilities #14285

Conversation

ton31337
Copy link
Member

No description provided.

@frrbot frrbot bot added bgp documentation tests Topotests, make check, etc labels Aug 29, 2023
@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Aug 29, 2023

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

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

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 22.04 amd64 build: Failed (click for details) Ubuntu 22.04 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-13851/artifact/U22AMD64BUILD/config.log/config.log.gz

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

make[1]: Entering directory '/home/ci/cibuild.13851/frr-source'
bgpd/bgp_packet.c: In function bgp_dynamic_capability_graceful_restart:
bgpd/bgp_packet.c:2851:34: error: implicit conversion from safi_t to iana_safi_t [-Werror=enum-conversion]
 2851 |                         pkt_safi = graf.safi;
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10556: bgpd/bgp_packet.o] Error 1
/home/ci/cibuild.13851/frr-source/doc/user/isisd.rst:43: WARNING: duplicate clicmd description of net XX.XXXX. ... .XXX.XX, other instance in fabricd
/home/ci/cibuild.13851/frr-source/doc/user/isisd.rst:53: WARNING: duplicate clicmd description of domain-password [clear | md5] <password>, other instance in fabricd
/home/ci/cibuild.13851/frr-source/doc/user/isisd.rst:58: WARNING: duplicate clicmd description of attached-bit [receive ignore | send], other instance in fabricd

Ubuntu 22.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-13851/artifact/U22AMD64BUILD/config.status/config.status

Redhat 9 amd64 build: Failed (click for details) Redhat 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-13851/artifact/RH9BUILD/config.status/config.status

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

make[1]: Entering directory '/home/ci/cibuild.13851/frr-source'
bgpd/bgp_packet.c: In function bgp_dynamic_capability_graceful_restart:
bgpd/bgp_packet.c:2851:34: error: implicit conversion from safi_t to iana_safi_t [-Werror=enum-conversion]
 2851 |                         pkt_safi = graf.safi;
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10553: bgpd/bgp_packet.o] Error 1
/home/ci/cibuild.13851/frr-source/doc/user/isisd.rst:43: WARNING: duplicate clicmd description of net XX.XXXX. ... .XXX.XX, other instance in fabricd
/home/ci/cibuild.13851/frr-source/doc/user/isisd.rst:53: WARNING: duplicate clicmd description of domain-password [clear | md5] <password>, other instance in fabricd
/home/ci/cibuild.13851/frr-source/doc/user/isisd.rst:58: WARNING: duplicate clicmd description of attached-bit [receive ignore | send], other instance in fabricd

Redhat 9 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-13851/artifact/RH9BUILD/config.log/config.log.gz

FreeBSD 11 amd64 build: Failed (click for details) FreeBSD 11 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-13851/artifact/CI009BUILD/config.log/config.log.gz FreeBSD 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-13851/artifact/CI009BUILD/config.status/config.status

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

gmake[1]: Entering directory '/usr/home/ci/cibuild.13851/frr-source'
bgpd/bgp_packet.c: In function 'bgp_dynamic_capability_graceful_restart':
bgpd/bgp_packet.c:2851:13: error: implicit conversion from 'safi_t' to 'iana_safi_t' [-Werror=enum-conversion]
 2851 |    pkt_safi = graf.safi;
cc1: all warnings being treated as errors
gmake[1]: *** [Makefile:10555: bgpd/bgp_packet.o] Error 1
/usr/home/ci/cibuild.13851/frr-source/doc/user/isisd.rst:43: WARNING: duplicate clicmd description of net XX.XXXX. ... .XXX.XX, other instance in fabricd
/usr/home/ci/cibuild.13851/frr-source/doc/user/isisd.rst:53: WARNING: duplicate clicmd description of domain-password [clear | md5] <password>, other instance in fabricd
/usr/home/ci/cibuild.13851/frr-source/doc/user/isisd.rst:58: WARNING: duplicate clicmd description of attached-bit [receive ignore | send], other instance in fabricd
Debian 11 amd64 build: Failed (click for details) Debian 11 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-13851/artifact/DEB11AMD64/config.log/config.log.gz

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

make[1]: Entering directory '/home/ci/cibuild.13851/frr-source'
bgpd/bgp_packet.c: In function bgp_dynamic_capability_graceful_restart:
bgpd/bgp_packet.c:2851:13: error: implicit conversion from safi_t to iana_safi_t [-Werror=enum-conversion]
 2851 |    pkt_safi = graf.safi;
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10556: bgpd/bgp_packet.o] Error 1
/home/ci/cibuild.13851/frr-source/doc/user/isisd.rst:43: WARNING: duplicate clicmd description of net XX.XXXX. ... .XXX.XX, other instance in fabricd
/home/ci/cibuild.13851/frr-source/doc/user/isisd.rst:53: WARNING: duplicate clicmd description of domain-password [clear | md5] <password>, other instance in fabricd
/home/ci/cibuild.13851/frr-source/doc/user/isisd.rst:58: WARNING: duplicate clicmd description of attached-bit [receive ignore | send], other instance in fabricd

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

OpenBSD 7 amd64 build: Failed (click for details) OpenBSD 7 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-13851/artifact/CI011BUILD/config.log/config.log.gz OpenBSD 7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-13851/artifact/CI011BUILD/config.status/config.status

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

gmake  all-am
gmake[1]: Entering directory '/home/ci/cibuild.13851/frr-source'
bgpd/bgp_packet.c:2851:20: error: implicit conversion from enumeration type 'safi_t' to different enumeration type 'iana_safi_t' [-Werror,-Wenum-conversion]
1 error generated.
gmake[1]: *** [Makefile:10555: bgpd/bgp_packet.o] Error 1
/home/ci/cibuild.13851/frr-source/doc/user/isisd.rst:43: WARNING: duplicate clicmd description of net XX.XXXX. ... .XXX.XX, other instance in fabricd
/home/ci/cibuild.13851/frr-source/doc/user/isisd.rst:53: WARNING: duplicate clicmd description of domain-password [clear | md5] <password>, other instance in fabricd
/home/ci/cibuild.13851/frr-source/doc/user/isisd.rst:58: WARNING: duplicate clicmd description of attached-bit [receive ignore | send], other instance in fabricd
/home/ci/cibuild.13851/frr-source/doc/user/isisd.rst:67: WARNING: duplicate clicmd description of log-adjacency-changes, other instance in fabricd
Successful on other platforms/tests
  • Debian 9 amd64 build
  • Ubuntu 18.04 ppc64le build
  • Ubuntu 20.04 amd64 build
  • FreeBSD 12 amd64 build
  • Ubuntu 18.04 arm8 build
  • Ubuntu 18.04 arm7 build
  • Debian 10 amd64 build
  • Ubuntu 18.04 amd64 build
  • Ubuntu 18.04 i386 build
  • CentOS 7 amd64 build
  • Redhat 8 amd64 build

Copy link
Member

@riw777 riw777 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good, waiting on ci and such

@riw777
Copy link
Member

riw777 commented Aug 29, 2023

compile filed on ubuntu 22, trying again
ci:rerun

@ton31337 ton31337 force-pushed the feature/graceful_restart_dynamic_capability branch from 38b3218 to efadb08 Compare August 29, 2023 12:33
@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Aug 29, 2023

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

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

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 22.04 amd64 build: Failed (click for details) Ubuntu 22.04 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-13854/artifact/U22AMD64BUILD/config.log/config.log.gz

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

make[1]: Entering directory '/home/ci/cibuild.13854/frr-source'
bgpd/bgp_packet.c: In function bgp_dynamic_capability_graceful_restart:
bgpd/bgp_packet.c:2851:34: error: implicit conversion from safi_t to iana_safi_t [-Werror=enum-conversion]
 2851 |                         pkt_safi = graf.safi;
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10556: bgpd/bgp_packet.o] Error 1
/home/ci/cibuild.13854/frr-source/doc/user/isisd.rst:43: WARNING: duplicate clicmd description of net XX.XXXX. ... .XXX.XX, other instance in fabricd
/home/ci/cibuild.13854/frr-source/doc/user/isisd.rst:53: WARNING: duplicate clicmd description of domain-password [clear | md5] <password>, other instance in fabricd
/home/ci/cibuild.13854/frr-source/doc/user/isisd.rst:58: WARNING: duplicate clicmd description of attached-bit [receive ignore | send], other instance in fabricd

Ubuntu 22.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-13854/artifact/U22AMD64BUILD/config.status/config.status

FreeBSD 11 amd64 build: Failed (click for details) FreeBSD 11 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-13854/artifact/CI009BUILD/config.log/config.log.gz FreeBSD 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-13854/artifact/CI009BUILD/config.status/config.status

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

gmake[1]: Entering directory '/usr/home/ci/cibuild.13854/frr-source'
bgpd/bgp_packet.c: In function 'bgp_dynamic_capability_graceful_restart':
bgpd/bgp_packet.c:2851:13: error: implicit conversion from 'safi_t' to 'iana_safi_t' [-Werror=enum-conversion]
 2851 |    pkt_safi = graf.safi;
cc1: all warnings being treated as errors
gmake[1]: *** [Makefile:10555: bgpd/bgp_packet.o] Error 1
/usr/home/ci/cibuild.13854/frr-source/doc/user/isisd.rst:43: WARNING: duplicate clicmd description of net XX.XXXX. ... .XXX.XX, other instance in fabricd
/usr/home/ci/cibuild.13854/frr-source/doc/user/isisd.rst:53: WARNING: duplicate clicmd description of domain-password [clear | md5] <password>, other instance in fabricd
/usr/home/ci/cibuild.13854/frr-source/doc/user/isisd.rst:58: WARNING: duplicate clicmd description of attached-bit [receive ignore | send], other instance in fabricd
Redhat 9 amd64 build: Failed (click for details) Redhat 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-13854/artifact/RH9BUILD/config.status/config.status

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

make[1]: Entering directory '/home/ci/cibuild.13854/frr-source'
bgpd/bgp_packet.c: In function bgp_dynamic_capability_graceful_restart:
bgpd/bgp_packet.c:2851:34: error: implicit conversion from safi_t to iana_safi_t [-Werror=enum-conversion]
 2851 |                         pkt_safi = graf.safi;
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10553: bgpd/bgp_packet.o] Error 1
/home/ci/cibuild.13854/frr-source/doc/user/isisd.rst:43: WARNING: duplicate clicmd description of net XX.XXXX. ... .XXX.XX, other instance in fabricd
/home/ci/cibuild.13854/frr-source/doc/user/isisd.rst:53: WARNING: duplicate clicmd description of domain-password [clear | md5] <password>, other instance in fabricd
/home/ci/cibuild.13854/frr-source/doc/user/isisd.rst:58: WARNING: duplicate clicmd description of attached-bit [receive ignore | send], other instance in fabricd

Redhat 9 amd64 build: Unknown Log <config.log.gz>
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-13854/artifact/RH9BUILD/config.log/config.log.gz

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

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

make[1]: Entering directory '/home/ci/cibuild.13854/frr-source'
bgpd/bgp_packet.c: In function bgp_dynamic_capability_graceful_restart:
bgpd/bgp_packet.c:2851:13: error: implicit conversion from safi_t to iana_safi_t [-Werror=enum-conversion]
 2851 |    pkt_safi = graf.safi;
cc1: all warnings being treated as errors
make[1]: *** [Makefile:10556: bgpd/bgp_packet.o] Error 1
/home/ci/cibuild.13854/frr-source/doc/user/isisd.rst:43: WARNING: duplicate clicmd description of net XX.XXXX. ... .XXX.XX, other instance in fabricd
/home/ci/cibuild.13854/frr-source/doc/user/isisd.rst:53: WARNING: duplicate clicmd description of domain-password [clear | md5] <password>, other instance in fabricd
/home/ci/cibuild.13854/frr-source/doc/user/isisd.rst:58: WARNING: duplicate clicmd description of attached-bit [receive ignore | send], other instance in fabricd

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

OpenBSD 7 amd64 build: Failed (click for details) OpenBSD 7 amd64 build: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-13854/artifact/CI011BUILD/config.log/config.log.gz OpenBSD 7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-PULLREQ2-13854/artifact/CI011BUILD/config.status/config.status

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

gmake  all-am
gmake[1]: Entering directory '/home/ci/cibuild.13854/frr-source'
bgpd/bgp_packet.c:2851:20: error: implicit conversion from enumeration type 'safi_t' to different enumeration type 'iana_safi_t' [-Werror,-Wenum-conversion]
1 error generated.
gmake[1]: *** [Makefile:10555: bgpd/bgp_packet.o] Error 1
/home/ci/cibuild.13854/frr-source/doc/user/isisd.rst:43: WARNING: duplicate clicmd description of net XX.XXXX. ... .XXX.XX, other instance in fabricd
/home/ci/cibuild.13854/frr-source/doc/user/isisd.rst:53: WARNING: duplicate clicmd description of domain-password [clear | md5] <password>, other instance in fabricd
/home/ci/cibuild.13854/frr-source/doc/user/isisd.rst:58: WARNING: duplicate clicmd description of attached-bit [receive ignore | send], other instance in fabricd
/home/ci/cibuild.13854/frr-source/doc/user/isisd.rst:67: WARNING: duplicate clicmd description of log-adjacency-changes, other instance in fabricd
Successful on other platforms/tests
  • Ubuntu 20.04 amd64 build
  • Debian 9 amd64 build
  • Ubuntu 18.04 arm8 build
  • Ubuntu 18.04 ppc64le build
  • Debian 10 amd64 build
  • Ubuntu 18.04 arm7 build
  • CentOS 7 amd64 build
  • Ubuntu 18.04 amd64 build
  • FreeBSD 12 amd64 build
  • Redhat 8 amd64 build
  • Ubuntu 18.04 i386 build

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Aug 29, 2023

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

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

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: Incomplete

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

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

Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 9
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-13857/artifact/TOPO9U18AMD64/TopotestLogs/log_topotests.txt
Topotests Ubuntu 18.04 amd64 part 9: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-13857/artifact/TOPO9U18AMD64/TopotestDetails/

Addresssanitizer topotests part 4: Incomplete (check logs for details)
Topotests Ubuntu 18.04 arm8 part 9: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 9: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-13857/artifact/TOPO9U18ARM8/TopotestDetails/ Topotests Ubuntu 18.04 arm8 part 9: No useful log found
Successful on other platforms/tests
  • Addresssanitizer topotests part 8
  • Topotests debian 10 amd64 part 2
  • Topotests Ubuntu 18.04 i386 part 9
  • Static analyzer (clang)
  • Addresssanitizer topotests part 6
  • Topotests Ubuntu 18.04 i386 part 5
  • Topotests Ubuntu 18.04 amd64 part 1
  • Topotests Ubuntu 18.04 i386 part 0
  • Ubuntu 20.04 deb pkg check
  • Ubuntu 18.04 deb pkg check
  • Topotests debian 10 amd64 part 1
  • Topotests Ubuntu 18.04 amd64 part 8
  • Topotests debian 10 amd64 part 7
  • Topotests Ubuntu 18.04 arm8 part 0
  • Topotests Ubuntu 18.04 arm8 part 5
  • Topotests Ubuntu 18.04 arm8 part 6
  • Addresssanitizer topotests part 0
  • Topotests debian 10 amd64 part 6
  • Topotests Ubuntu 18.04 arm8 part 1
  • Topotests debian 10 amd64 part 3
  • Topotests Ubuntu 18.04 amd64 part 6
  • Debian 9 deb pkg check
  • Topotests debian 10 amd64 part 5
  • Addresssanitizer topotests part 1
  • Topotests Ubuntu 18.04 arm8 part 3
  • Topotests Ubuntu 18.04 i386 part 4
  • Topotests debian 10 amd64 part 4
  • Topotests debian 10 amd64 part 9
  • Topotests Ubuntu 18.04 arm8 part 8
  • Addresssanitizer topotests part 7
  • Topotests Ubuntu 18.04 amd64 part 3
  • Topotests Ubuntu 18.04 i386 part 7
  • Topotests Ubuntu 18.04 i386 part 2
  • Topotests Ubuntu 18.04 amd64 part 2
  • Addresssanitizer topotests part 5
  • Topotests Ubuntu 18.04 i386 part 1
  • Topotests Ubuntu 18.04 i386 part 6
  • Topotests Ubuntu 18.04 i386 part 8
  • Topotests Ubuntu 18.04 amd64 part 0
  • Topotests debian 10 amd64 part 8
  • Topotests Ubuntu 18.04 arm8 part 4
  • Debian 10 deb pkg check
  • Addresssanitizer topotests part 2
  • Topotests Ubuntu 18.04 amd64 part 7
  • Topotests Ubuntu 18.04 amd64 part 5
  • Topotests debian 10 amd64 part 0
  • Addresssanitizer topotests part 3
  • Topotests Ubuntu 18.04 arm8 part 2
  • Topotests Ubuntu 18.04 arm8 part 7
  • Topotests Ubuntu 18.04 i386 part 3
  • CentOS 7 rpm pkg check
  • Topotests Ubuntu 18.04 amd64 part 4
  • Addresssanitizer topotests part 9

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Aug 29, 2023

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-13857/

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.

Copy link
Member

@donaldsharp donaldsharp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like you to take another look at the decoding of the packet. I am concerned about a cou8ple of the spots

return BGP_Stop;
}

bgp_dynamic_capability_graceful_restart(pnt, action,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't we need to pass in length? What happens if the length specified is a multiple of 4 but the buffer size is not congruent with the length?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AFAIU, the length is already checked above in bgp_capability_msg_parse():

hdr = (struct capability_header *)(pnt + 1);

We pass hdr to bgp_dynamic_capability_graceful_restart(), which checks against hrd->length (the actual size of the capability).

Graceful-Restart restart time is exchanged using OPEN messages. In order to
reduce restart time before doing an actual graceful restart, it might be useful
to increase the time, but this is not possible without resetting the session.

With this change, it's possible to send dynamic capability with a new value, and
GR will respect a new reset time value.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
… cap

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
restart-time and/or notification support.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
…r GR cap

Just a safety check to avoid out of bound reading.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Just to be consistent with other zlog_ stuff for dynamic capabilities.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
@ton31337 ton31337 force-pushed the feature/graceful_restart_dynamic_capability branch from efadb08 to 14e3452 Compare August 30, 2023 14:34
@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Aug 30, 2023

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

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

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: Incomplete

Addresssanitizer topotests part 4: Incomplete (check logs for details)
Topotests Ubuntu 18.04 amd64 part 8: Failed (click for details)

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

Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 8
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-13887/artifact/TOPO8U18ARM64/TopotestLogs/log_topotests.txt
Topotests Ubuntu 18.04 amd64 part 8: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-13887/artifact/TOPO8U18ARM64/TopotestDetails/

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

@ton31337 ton31337 requested a review from donaldsharp August 30, 2023 17:55
@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Aug 30, 2023

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

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

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: Incomplete

Addresssanitizer topotests part 4: Incomplete (check logs for details)
Successful on other platforms/tests
  • Topotests Ubuntu 18.04 arm8 part 6
  • Topotests Ubuntu 18.04 amd64 part 0
  • Addresssanitizer topotests part 3
  • Topotests Ubuntu 18.04 arm8 part 1
  • Topotests debian 10 amd64 part 6
  • Addresssanitizer topotests part 2
  • Topotests Ubuntu 18.04 amd64 part 7
  • Topotests debian 10 amd64 part 5
  • Topotests Ubuntu 18.04 arm8 part 2
  • CentOS 7 rpm pkg check
  • Topotests Ubuntu 18.04 amd64 part 4
  • Addresssanitizer topotests part 9
  • Topotests Ubuntu 18.04 amd64 part 3
  • Addresssanitizer topotests part 8
  • Topotests Ubuntu 18.04 i386 part 7
  • Topotests Ubuntu 18.04 i386 part 2
  • Topotests Ubuntu 18.04 arm8 part 8
  • Topotests Ubuntu 18.04 i386 part 5
  • Topotests Ubuntu 18.04 i386 part 0
  • Topotests Ubuntu 18.04 amd64 part 1
  • Addresssanitizer topotests part 6
  • Ubuntu 18.04 deb pkg check
  • Topotests debian 10 amd64 part 7
  • Topotests Ubuntu 18.04 i386 part 3
  • Topotests Ubuntu 18.04 amd64 part 2
  • Topotests Ubuntu 18.04 i386 part 8
  • Addresssanitizer topotests part 0
  • Topotests debian 10 amd64 part 8
  • Debian 10 deb pkg check
  • Topotests Ubuntu 18.04 amd64 part 6
  • Topotests debian 10 amd64 part 3
  • Topotests Ubuntu 18.04 arm8 part 4
  • Topotests Ubuntu 18.04 arm8 part 9
  • Topotests Ubuntu 18.04 arm8 part 3
  • Debian 9 deb pkg check
  • Topotests debian 10 amd64 part 9
  • Addresssanitizer topotests part 1
  • Topotests Ubuntu 18.04 i386 part 4
  • Topotests debian 10 amd64 part 4
  • Topotests Ubuntu 18.04 arm8 part 0
  • Topotests Ubuntu 18.04 amd64 part 9
  • Topotests Ubuntu 18.04 i386 part 9
  • Topotests Ubuntu 18.04 arm8 part 7
  • Topotests debian 10 amd64 part 2
  • Topotests Ubuntu 18.04 amd64 part 8
  • Static analyzer (clang)
  • Addresssanitizer topotests part 7
  • Topotests debian 10 amd64 part 0
  • Topotests Ubuntu 18.04 amd64 part 5
  • Ubuntu 20.04 deb pkg check
  • Topotests debian 10 amd64 part 1
  • Topotests Ubuntu 18.04 i386 part 1
  • Addresssanitizer topotests part 5
  • Topotests Ubuntu 18.04 i386 part 6
  • Topotests Ubuntu 18.04 arm8 part 5

@NetDEF-CI
Copy link
Collaborator

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-13887/

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.

@riw777 riw777 merged commit 92515dc into FRRouting:master Sep 5, 2023
@ton31337 ton31337 deleted the feature/graceful_restart_dynamic_capability branch September 5, 2023 13:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants