FRR Mirror
  1. FRR Mirror

FRR

Public
AuthorCommitMessageCommit dateIssues
Mark StappGitHubMark Stapp
72bf3af11cbMMerge pull request #20139 from hedrok/bgp-multiple-labels-send-and-refactorlib, bgpd: Move BGP-specific funcs out of lib and refactor
Donald SharpGitHubDonald Sharp
6648e4a4eabMMerge pull request #20216 from mjstapp/epoll_update_devlib: event scheduling lib changes
Donald SharpGitHubDonald Sharp
d787d67b091MMerge pull request #20183 from opensourcerouting/fix/bgp_software_version_capability_length_check_v2bgpd: Software version old/new encoding
Donald SharpGitHubDonald Sharp
5217b10c533MMerge pull request #20208 from LabNConsulting/chopps/rpc-restconf-formatHandle RESTCONF RPC/Action input format
Mark StappMark Stapp
460c09f5a1dlib: in event lib replace array of regular fds with listReplace the fixed-size array of regular file fds with a list. This simplifies the management of the fds, and avoids some potentially costly searching and memmove'ing. Signed-off-by: Mark Stapp <mjs@cisco.com>
Donatas AbraitisGitHubDonatas Abraitis
b6583616d50MMerge pull request #20180 from raja-rajasekar/rajasekarr/ipv6_guabgpd: Fix link-local NH assignment on GUA deletion
Donald SharpGitHubDonald Sharp
262f5961c3fMMerge pull request #20209 from LabNConsulting/chopps/coverity-fixesAddress some new coverity issues
Igor RyzhovGitHubIgor Ryzhov
fc31cac07d9MMerge pull request #20207 from LabNConsulting/chopps/docker-libyang3docker: build/install latest libyang3 in ubuntu test container
Christian HoppsChristian Hopps
50a4e6080f7tests: unit-test: add rpc to test modulePreviously was only testing an action. Add RPC w/o args and w/ args to unit tests. Signed-off-by: Christian Hopps <chopps@labn.net>
Christian HoppsChristian Hopps
85ed129192fmgmtd: fix coverity #1667683Coverity traces the free into txn_req_free() but fails to also understand the TAILQ_REMOVE() in that function, so it thinks we are freeing the same `tqh_first` element over and over again. :( Signed-off-by: Christian Hopps <chopps@labn.net>
Christian HoppsChristian Hopps
4b69dbbf833lib: fix coverity #1644729Check the `transaction->config` non-NULL prior to passing `transaction` to `nb_db_transaction_save()` as it assumes `config` is non-NULL. Signed-off-by: Christian Hopps <chopps@labn.net>
Christian HoppsChristian Hopps
d7cc191bc10lib: fix coverity #1641463Use asserts and casts to inform SA to clear warning. Document valid return values as well. Signed-off-by: Christian Hopps <chopps@labn.net>
Christian HoppsChristian Hopps
abc53463f44lib: fix coverity #1644356Value must never be NULL, don't check for it after we assumed it earlier. Signed-off-by: Christian Hopps <chopps@labn.net>
Christian HoppsChristian Hopps
53785db3efflib: fix coverity #1644724, #1644725, #1644726, #1644727, #1644728Modify zlog_priority_str() to handle all invalid input (negative too). Signed-off-by: Christian Hopps <chopps@labn.net>
Christian HoppsChristian Hopps
1d144f39301mgmtd: fix coverity #1667704Was calling strerror() with negative errno value. It's always just none or -EBUSY so just elide this altogether. Signed-off-by: Christian Hopps <chopps@labn.net>
Christian HoppsChristian Hopps
bf88d97aef9mgmtd: add restconf flag to RPC APIsFor RPCs, RESTCONF uses a different input/output data format. This needs to be flagged when calling libyang functions etc, so pass a restconf bool around to identify when this is the case. Signed-off-by: Christian Hopps <chopps@labn.net>
Christian HoppsChristian Hopps
d6d4ad7f88elib: add support for handling RESTCONF RPC/Action input formatSigned-off-by: Christian Hopps <chopps@labn.net>
Christian HoppsChristian Hopps
c928dce4f47mgmtd: handle exact flag for ietf-library querySigned-off-by: Christian Hopps <chopps@labn.net>
Christian HoppsChristian Hopps
a2d88516505docker: build/install latest libyang3 in ubuntu test container- The upstream has moved to version 4. Let's update to the latest V3 for now. Signed-off-by: Christian Hopps <chopps@labn.net>
Mark StappMark Stapp
ff05cdcc153lib,bgpd,pathd: move frrevent internals into event moduleMove the core frrevent structs out of the public header file and into the event lib module. Add a couple of accessor or helper functions for internal fields; replace direct use of the structs' fields with the new helper functions. Signed-off-by: Mark Stapp <mjs@cisco.com>
Jafar Al-GharaibehGitHubJafar Al-Gharaibeh
a7bab38bae1MMerge pull request #20176 from soumyar-roy/soumya/v4_v6_mappedlib: print ipv4 mapped ipv6 address in mixed notation
Jafar Al-GharaibehGitHubJafar Al-Gharaibeh
21395b7d643MMerge pull request #20189 from mjstapp/hash_lib_cleanuplib,bgpd,zebra: add a more efficient hash cleanup api
Jafar Al-GharaibehGitHubJafar Al-Gharaibeh
267bd596cbeMMerge pull request #20197 from soumyar-roy/soumya/route_leakbgpd: fix peer type for route-map during VRF route leaking
Jafar Al-GharaibehGitHubJafar Al-Gharaibeh
5f99fdb8a59MMerge pull request #20113 from raja-rajasekar/rajasekarr/ospf_mtu_msmtchospfd: Fix ospf mtu-ignore json show command
Jafar Al-GharaibehGitHubJafar Al-Gharaibeh
bc428f77925MMerge pull request #20195 from hedrok/19506-fix-coverity-issue-take-2bgpd: Fix Coverity issue after 19506
Jafar Al-GharaibehGitHubJafar Al-Gharaibeh
3810e304f20MMerge pull request #20088 from LabNConsulting/chopps/mtmgd-big-cleanupSimplify and cleanup mgmtd
Soumya RoySoumya Roy
0f2ffae373abgpd: fix peer type for route-map during VRF route leakingUse the original route's peer instead of peer_self when applying route-maps in VRF-to-VRF leaking. This preserves the original peer type (e.g., BGP_PEER_EBGP) so that route-map commands like 'set as-path exclude' work correctly. Previously, info.peer was always set to peer_self which has BGP_PEER_UNSPECIFIED, causing peer-type dependent route-map commands to be skipped. Signed-off-by: Soumya ...
Soumya RoySoumya Roy
2d1e0103a0ftest: Add test for vrf route leak with AS path strippingAdd test to verify route leaking with AS path manipulation using 'set as-path exclude'. Signed-off-by: Soumya Roy <souroy@nvidia.com>
Kyrylo YatsenkoKyrylo Yatsenko
a61f70726d4bgpd: Fix Coverity issue after 19506In bgp_label.c I've set label_pnt to &label after maximum number of array elements were written. For simplicity there was still label_pnt++, so Coverity didn't like incrementing pointer to local variable. I refactored `bgp_nlri_get_labels` not to use such code: added index variable for array, in each iteration label_pnt is set either to i-th element of array or to &label. It is never used as p...
Donatas AbraitisDonatas Abraitis
5f87de063debgpd: Check length for dynamic capability (software version new encoding)If an old encoding is used, we should check len + 1 (1 byte is for the extra length field), while using the new encoding, it's not needed, because this is already in hdr->length (capability's length). Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisGitHubDonatas Abraitis
364078937c1MMerge pull request #20193 from raja-rajasekar/rajasekarr/tracesbgpd: [TP] Add BGP FSM and session tracing with conditional fsm_event
Mark StappMark Stapp
d1de282d34ddoc: add dev doc for _pop_all hash apiAdd doc for the hash-cleanup _pop_all api. Signed-off-by: Mark Stapp <mjs@cisco.com>
Christian HoppsChristian Hopps
d241d414ea0mgmtd: fixes post reorganization- Need to consider req_id 0 from client commit reply. - Also need to decide to free init and rollback txn earlier to avoid after free access. - Placate clang SA NULL ptr deref. The code is fine as the only way clients get's set with an ID bit is from earlier which did the darr_ensure_i() but clang can't follow that far enough back, so we do another darr_ensure_i() which is close to free...
Christian HoppsChristian Hopps
47f5704bc2amgmtd: reorganize and cleanup the codeTXN: Organize the code into separate functional sections. Move config txn code into it's own file (`mgmt_txn_cfg.c`). While it has been simplified (5 states to 3, ...), it's still worth sitting alone which really helps comprehension. Normalize naming e.g., `mgmt_txn_` and `txn_` for non-config global and static items, `mgmt_txn_cfg_` and `txn_cfg_` for config global and static it...
Christian HoppsChristian Hopps
91f71c916d1mgmtd: txn: remove copies of globals and simplify init/cleanupSigned-off-by: Christian Hopps <chopps@labn.net>
Christian HoppsChristian Hopps
ec273b53c82mgmtd: move mgmt vty code out of share lib and into mgmtdMgmtd hooks into the normal (legacy) vty code to send CLI changes to itself using the mgmtd front-end API. These changes are passed downstream to the daemons). This code was embedded in lib/vty.c and so it was uselessly included in every daemon (and made the vty code harder to understand). Move the mgmtd vty code out of lib/vty.c and into mgmtd proper. Similarly handled is the inline northbou...
Christian HoppsChristian Hopps
db9dc758c3amgmtd: backend cleanup, remove locks and unused functions- Remove unused ref-counting (lock/unlock) nothing even holds these ref-counts except the object itself. - Remove lookup by name, nothing uses it. - Remove search for old adapter connection just use the id-indexed array. - Switch to queue.h Signed-off-by: Christian Hopps <chopps@labn.net>
Christian HoppsChristian Hopps
a9d106ce9dfmgmtd: remove unneeded lock/unlock (ref-count) on front-end adaptersFE client adapters have a list of sessions. If the adapter is deleted the sessions are deleted. If a session is deleted it is removed from the adapter list. That's it, there's no reason for ref-counting here so get rid of it. Switch to queue.h Signed-off-by: Christian Hopps <chopps@labn.net>
Christian HoppsChristian Hopps
0c0a438ef4amgmtd: front-end locking and candidate restore cleanup- Add TXN locks for config txn's. Previously only the session held the locks on the candidate and running DS's. This means the DS's could be unlocked (e.g., on a session disconnect) while in the middle of a config change (e.g., sending to backends) which then later would have mgmtd copying candidate over running w/o any locks (or worse with something else holding locks). - Harden the DS locks ...
Christian HoppsChristian Hopps
51351b8e231mgmtd: rename MGMT_TXN_LOCK to TXN_INCREFThe LOCK naming for the ref counting on txn's was confusing given mgmtd also managing locks on datastores. Change to INCREF and DECREF. Signed-off-by: Christian Hopps <chopps@labn.net>
Christian HoppsChristian Hopps
5357a1befebmgmtd: standardize the clients sent and clients wait logic- make rpc and get-data the same as config for checking on replies from backend clients (unset waiting-for bits vs setting received-reply bits). Signed-off-by: Christian Hopps <chopps@labn.net>
Christian HoppsChristian Hopps
fc7fc581e2amgmtd: txn: refactor txn req structsPreviously we had all the txn-request specific data included in the generic txn_req structure using a union which required they all be defined before the common txn_req struct. We want to split the config out into a different file and so it makes sense to not have to define all the type-specific request data before the common txn_req data. Instead use the standard approach of using a common h...
Christian HoppsChristian Hopps
b7e995f72a1mgmtd: simplify the config code/state machineSimplify the configuration commit process. - Remove an explicit TXN create and delete handshake with the backend daemons. Now we just pass a txn-id when we send the config -- the backends can create there own txn tracker with the given config -- and then we send either "apply" or "delete" (abort) with that txn-id. The backend will cleanup it's txn state then. So instead of 4 exchanges (create...
Christian HoppsChristian Hopps
9c0a02d5988lib: adapt mgmtd backend client code to simplification changesThe new API removes explicit TXN creation message. Config transactions are now created when the CFG_REQ message is received if it succeeds. TXNs are implicitly deleted after processing a CFG_APPLY message. TXN delete is still used to abort the CFG_REQ changes if they should not be applied. So changes are successful path is: 1) mgmtd: sends CFG_REQ with txn-id and changes to client 2a) clie...
Mark StappGitHubMark Stapp
403727709d8MMerge pull request #20192 from hnattamaisub/revert_assertzebra: Crash within bgp_evpn_vxlan_svd_topo1 test
Donald SharpGitHubDonald Sharp
78bbceb4035MMerge pull request #20191 from diego-lopez8/bfd-doc-detect-multiplier-updatedoc: correct bfd detect-multiplier behavior
Rajasekar RajaRajasekar Raja
47bf3035ba8bgpd: Add BGP FSM and session tracing with conditional fsm_eventAdd comprehensive tracing for BGP peer events including - session state changes, - connection attempts, and - FSM transitions. Only trace FSM events when state actually changes to avoid redundancy. Signed-off-by: Rajasekar Raja <rajasekarr@nvidia.com>
hariniharini
94064568a1fzebra: Crash within bgp_evpn_vxlan_svd_topo1 testDescription: Assert in zebra_vxlan_if_vni_find causes this crash. Reverting assert. Issues: 20188 Signed-off-by: harini <hnattamaisub@nvidia.com>
diego-lopez8diego-lopez8
8e78c287c0cdoc: correct bfd detect-multiplier behaviorSigned-off-by: diego-lopez8 <troy@troys.network>
Rajasekar RajaRajasekar Raja
e1f56720e08topotests: Fix test to expect link-local NH after GUA removalUpdate test_configure_gua_on_unnumbered_intf to expect link-local nexthop (fe80::) instead of buggy IPv4-mapped address (::ffff:) when GUA is removed from unnumbered interface. Signed-off-by: Rajasekar Raja <rajasekarr@nvidia.com>