FRR Mirror
  1. FRR Mirror

FRR

Public
AuthorCommitMessageCommit dateIssues
David LamparterGitHubDavid Lamparter
b2c7b09b3e9MMerge pull request #22023 from donaldsharp/pidof_problemtests: Use `show module` to get bgp's pid
Mark StappGitHubMark Stapp
c9a58cf02feMMerge pull request #22011 from Jafaral/github-ci-failureci: fail topotest step when parallel run lacks JUnit failures
Donald SharpGitHubDonald Sharp
d54640783a3MMerge pull request #22007 from Jafaral/topotest-cleanuptopotests: fix parallel run hangs (mutini teardown, ExaBGP FIFO, Docker hosts)
Donald SharpDonald Sharp
00f27e3fe5atests: Use `show module` to get bgp's pidThe topotest is using `pidof bgpd` which is ok when you run a test by itself, but when you are running the topotests in parallel, this is a bit of a problem. Fix. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Russ WhiteGitHubRuss White
dae210a3a77MMerge pull request #21678 from pguibert6WIND/ci_bfd_authenticationBFD authentication support
Donatas AbraitisGitHubDonatas Abraitis
18549aae8aaMMerge pull request #21948 from cscarpitta/fix_locator_delete_bgp_srv6_grtbgpd: Fix missing SRv6 unicast SID cleanup on locator delete
Jafar Al-GharaibehJafar Al-Gharaibeh
5ae060e6a90ci: fail topotest step when parallel run lacks JUnit failuresWhen the parallel pytest run exits non-zero but analyze.py finds no failures in topotests.xml, fail the step instead of treating it as a pass. Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
Jafar Al-GharaibehGitHubJafar Al-Gharaibeh
0039249ede0MMerge pull request #21982 from donaldsharp/problems_in_topotestsbgpd: fix AS-path routemap corruption and stale multipath on bestpath, fix tests
Jafar Al-GharaibehJafar Al-Gharaibeh
197630dae84topotests: avoid hang opening ExaBGP peer FIFOsBlocking open() on per-peer FIFOs waits for exa_readpipe.py, which only starts after ExaBGP finishes slow hostname lookups under parallel runs. Use non-blocking open with retries and add peer names to /etc/hosts in the Docker entrypoint so Rocky/container runs do not stall indefinitely. Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
Jafar Al-GharaibehJafar Al-Gharaibeh
388f5d658c8topotests: reap mutini children during munet and xdist teardownParallel pytest-xdist runs could hang at session end when workers left mutini namespace processes as unreaped zombies. cleanup_pid() sent SIGKILL without waitpid(), and session cleanup only ran on the controller. Reap PIDs after SIGKILL, sweep zombies after async_cleanup_proc(), run cleanup_current() on every worker, and waitpid in stop_topology(). Signed-off-by: Jafar Al-Gharaibeh <jafar@atc...
Philippe GuibertPhilippe Guibert
5132f9d69d5bfdd, doc, topotests: add support for meticulous algorithmAdd configuration command to enable authentication meticulous algorithm. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Philippe GuibertPhilippe Guibert
c3a928527b9bfdd: add authentication cleartext and sha1 errorsAdd rx authentication errors related to cleartext and sha1 password cases. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Dmytro ShytyiPhilippe GuibertDmytro Shytyi
ffa8b65899ctopotests: add bfd authentication testEstablish BFD sessions between 2 peers, and test the simple and sha1 authentication mechanisms. Check also the configuration changes, ensure that the BFD behaves like the RFC. Signed-off-by: Dmytro Shytyi <dmytro.shytyi@6wind.com> Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Philippe GuibertPhilippe Guibert
16393e523e5topotests: apply pyblack to lib/topogen.pyApply pyblack to lib/topogen.py Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Dmytro ShytyiPhilippe GuibertDmytro Shytyi
f2b02b02be9doc: add bfd authenticationProvide BFD keychain based authentication overview and configuration examples. Signed-off-by: Dmytro Shytyi <dmytro.shytyi@6wind.com> Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Dmytro ShytyiPhilippe GuibertDmytro Shytyi
0e1db85a51bbfdd: add sha1 support for bfd authenticationAdd SHA1 support for BFD keychain based authentication: - send sha1 authentication packet - receive and check sha1 authentication packet Signed-off-by: Dmytro Shytyi <dmytro.shytyi@6wind.com> Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Dmytro ShytyiPhilippe GuibertDmytro Shytyi
2aa08b1ec9cbfdd: add authentication display in peers and profilesThe `__diplay_peer` and `__display_peer_json` function is modified to check if authentication is enabled for a session. If it is, a new "authentication" JSON object is added to the output. The 'show bfd profile' command is also appended with the same information. > # show running-config > key chain KC1 > key 0 > key-string mysecret > exit > exit > bfd > profile test > authentication key...
Philippe GuibertPhilippe Guibert
eeef6e5ea70bfdd: add bfd_process_keychain_updateRegister and implement bfd_process_keychain_update hook. This hook updates bfdd states on keychain changes. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Dmytro ShytyiPhilippe GuibertDmytro Shytyi
61cc79e8b43bfdd: add bfd_process_keychain_removeRegister and implement bfd_process_keychain_remove hook. This hook updates bfdd states on keychain changes. Take into account the precendence config on peer config instead of profile configuration. Signed-off-by: Dmytro Shytyi <dmytro.shytyi@6wind.com> Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Dmytro ShytyiPhilippe GuibertDmytro Shytyi
d3d8bec082ebfdd: add keychain new sessionWhen creating a new BFD session, the authentication key chain name from the peer configuration (`bpc`) was not being applied to the session's internal peer profile. This change ensures that if an authentication key chain is specified in the peer configuration, its name is copied to the BFD session's peer profile, allowing authentication to be correctly set up for the session. Signed-...
Dmytro ShytyiPhilippe GuibertDmytro Shytyi
71ac9ef60a6bfdd: apply keychain to profile and session in bfd.c`bfd_session_apply` function now introduces a clear and centralized logic for determining and applying authentication settings to a BFD session. Previously, the application of authentication settings from different configuration sources (peer-specific vs. named profiles) was not explicitly handled. This change establishes a clear order of precedence to resolve potential conflicts and en...
Dmytro ShytyiPhilippe GuibertDmytro Shytyi
28ddfe7fe8dbfdd, yang: northbound sessions sbfd,(single,multi)-hop keychainThis commit introduces the necessary YANG data model structures to support BFD session authentication. Add the northbound CLI that goes with the change. Signed-off-by: Dmytro Shytyi <dmytro.shytyi@6wind.com> Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Dmytro ShytyiPhilippe GuibertDmytro Shytyi
888377bee33bfdd: rework ptm_bfd_snd()Use a pointer instead of the direct memory variable to fill in the bfd packet options. This change is needed before next commit. Signed-off-by: Dmytro Shytyi <dmytro.shytyi@6wind.com> Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Philippe GuibertPhilippe Guibert
a87f1ec63e8bfdd: add bfd_keychain_key_find_active() apiThis API is a wrapper of key_find_active(). It returns the first available valid key from the passed key chain name. This function takes into considerations constraints from BFD authentication: - the check on the passphrase length is done for clear text method - the non presence of a key-string is an invalid situation Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Dmytro ShytyiPhilippe GuibertDmytro Shytyi
7b677b8edf2yang, bfdd: northbound add peer auth modify,destroyThis commit introduces the foundational support for configuring BFD peer authentication. It adds the necessary CLI commands and northbound (NB) YANG callbacks to manage authentication settings for BFD peers. Key changes include: CLI Implementation: A new command [no] authentication key-chain <name> is added under the BFD peer configuration context, and the BFD template co...
Dmytro ShytyiPhilippe GuibertDmytro Shytyi
b1eb138c8e3bfdd: add bfd_auth_type_get_description() functionThis function will help display the authentication type selected. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Dmytro ShytyiPhilippe GuibertDmytro Shytyi
50552043597bfdd, lib: add cleartext type to keychainAdd cleartext definitions in bfdd, and lib keychain. This cleartext password keychain based password can be used in BFD. Signed-off-by: Dmytro Shytyi <dmytro.shytyi@6wind.com> Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Dmytro ShytyiPhilippe GuibertDmytro Shytyi
40ef679c347bfdd: add map_keychain_algo_to_bfd_auth_typeThis commit introduces a helper function, map_keychain_algo_to_bfd_auth_type, to translate keychain hash algorithms into their corresponding BFD authentication types. This function is necessary to integrate BFD authentication with a centralized keychain configuration. It decouples the BFD session setup from the specifics of the keychain implementation. The mapping supports: Simple P...
Dmytro ShytyiPhilippe GuibertDmytro Shytyi
165cca8560dbfdd, lib: dplane fill session with keychain_key_findThis commit enables the propagation of BFD simple password authentication settings, including those derived from a keychain, to the data plane. The data plane message for BFD sessions only supports "None" or "Simple Password" authentication types. Previously, authentication configuration was not passed, effectively disabling offloaded authentication. This change introduces the followin...
Dmytro ShytyiPhilippe GuibertDmytro Shytyi
126ac9e1a48bfdd: enable configuration of keychain in bfddkeychain is now registered to bfdd daemon. Signed-off-by: Dmytro Shytyi <dmytro.shytyi@6wind.com> Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Dmytro ShytyiPhilippe GuibertDmytro Shytyi
16855661f81bfdd: add keychain-related fields to bfd,lib structuresThis commit introduces support for BFD (Bidirectional Forwarding Detection) authentication as defined in RFC 5880. This feature enhances security by allowing BFD peers to authenticate control packets before processing them. Key changes include: Authentication Configuration: Added new structures (auth_config) to the global, profile, and peer configurations to enable and define...
Dmytro ShytyiPhilippe GuibertDmytro Shytyi
453a8063531lib: add keychain_(create,delete)This commit updates the northbound callback functions for keychain and key creation to associate the newly created C-structs with their corresponding data nodes in the running configuration. By calling `nb_running_set_entry()`, we establish a direct link from the configuration data to the live, operational objects. This allows other subsystems to retrieve the `struct keychain` or `stru...
Dmytro ShytyiPhilippe GuibertDmytro Shytyi
54d583660c0lib: add keychain_removed hookThis commit introduces a mechanism to notify daemons when a keychain is deleted. Signed-off-by: Dmytro Shytyi <dmytro.shytyi@6wind.com> Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Dmytro ShytyiPhilippe GuibertDmytro Shytyi
4030b66fd26lib: add keychain_updated hookThis patch created a keychain update hook function call. The key changes are: - **lib:** A new `keychain_updated` hook is introduced. This hook is triggered by the northbound interface whenever a keychain's configuration is created, modified, or deleted. Signed-off-by: Dmytro Shytyi <dmytro.shytyi@6wind.com> Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Dmytro ShytyiPhilippe GuibertDmytro Shytyi
d1a18a3d132lib: add null authenticationThis commit introduces support for a "null" password type in the keychain configuration. This allows for storing unencrypted, plain-text passwords. The command-line interface has been updated to include "null" as a valid cryptographic algorithm option. Additionally, this commit fixes a bug in the algorithm name matching logic. The previous check for "md5" was too broad and has been co...
Philippe GuibertPhilippe Guibert
d627cb0ab09bfdd: move bfd packet size used in code in a single placeUse a define to host BFD packet size used in bfd code. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
hariniDonald Sharpharini
f0b655641bdtests: bgp_conditional_advertisement_track_peer: extend convergence waitIssue: bgp_conditional_advertisement_track_peer.test_bgp_conditional_advertisement_track_peer test_bgp_conditional_advertisement_track_peer failing intermittently. AssertionError: R1 SHOULD receive 172.16.255.2/32 from R2 assert Generated JSON diff error report: > $->routes: expected has key '172.16.255.2/32' which is not present in output E AssertionError: R1 SHOULD receive 172.16.255.2/3...
hariniDonald Sharpharini
cf7311e2058bgpd: do not flag old best as multipath when it is also the new bestIssue: Recent PR's face inconsistent CI failures in "bgp_soo.test_bgp_soo test_bgp_soo_ipv4_advertised_routes_brief_json" Assert: $->advertisedRoutes->192.168.2.0/24->multiPathCount: output has element with value '3' but in expected it has value '2' Issue is present in bgp code, the test just exposes it inconsistently. Commit 7ca3e9676f ("bgpd: fix incorrect BGP_PATH_MULTIPATH flag on invali...
Donald SharpGitHubDonald Sharp
12e2cdb62a4MMerge pull request #21999 from opensourcerouting/format-fixes-20260519bgpd: random format string fixes
Carmine ScarpittaGitHubCarmine Scarpitta
c67ceb83845MMerge pull request #21868 from jamestiotio/masterlib, zebra: bound SRv6 locator name length in ZAPI
Mark StappGitHubMark Stapp
e5fc9943e4bMMerge pull request #20318 from maxime-leroy/zebra_vrf_id_cleanupzebra: clean up VRF handling by using dataplane provided vrf_id
Russ WhiteGitHubRuss White
678b38cafb9MMerge pull request #21974 from mjstapp/fix_bgp_rfapi_getl2obgpd: validate rfapi subtlv before accessing data octets
Russ WhiteGitHubRuss White
a00967e8060MMerge pull request #21928 from jeremie6wind/masterospf6d: only allow positive time strings
Russ WhiteGitHubRuss White
a632da12fd8MMerge pull request #21784 from nabahr/ospf_qnbrospfd: quick neighbor feature with BFD
Russ WhiteGitHubRuss White
eb5a242203dMMerge pull request #20378 from hedrok/20355-fix-frr-reload-no-interfacetools: Revert 'no interface' when no configuration for interface left
James Raphael TiovalenJames Raphael Tiovalen
7d3ddde127clib, zebra: bound SRv6 locator name length in ZAPIzread_srv6_manager_get_srv6_sid() and zread_srv6_manager_get_locator() read a uint16_t length from the ZAPI stream and pass it directly to STREAM_GET() to copy into a 256-byte stack buffer (SRV6_LOCNAME_SIZE), without bounding the length first. STREAM_GET() only validates the source side of the read; the destination is a raw memcpy. A malformed ZAPI message with len >= SRV6_LOCNAME_SIZE writes ...
Russ WhiteGitHubRuss White
084eb5787c4MMerge pull request #21823 from selva-nexthop/selva.21822-GRbgpd: Fix GR helper retaining stale routes after Hard Reset
Russ WhiteGitHubRuss White
c18dcb32d3cMMerge pull request #21981 from opensourcerouting/fix/bgp_security_bugsbgpd: Check boundaries when parsing NHC and Prefix SID attributes
David LamparterDavid Lamparter
034b9dd1ae3tests: fix one more format warningTests weren't using the frr-format plugin before. One more warning to address. Signed-off-by: David 'equinox' Lamparter <equinox@opensourcerouting.org>
David LamparterDavid Lamparter
806582596f3bgpd: clang-format for previous commitLeft separate because that makes the previous commit easier to read. Signed-off-by: David 'equinox' Lamparter <equinox@opensourcerouting.org>