tests: There is no pytest.mark.zebraThere is no pytest.mark.zebra. As that all tests implicitly test
zebra at some level. So no need for one.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
lib: fix array-index logic in json lib moduleEnsure we don't decrement an array index if it's zero.
(Reported by coverity SA as CID 1668788)
Signed-off-by: Mark Stapp <mjs@cisco.com>
zebra: skip kernel provider work when skip_kernel is setskip_kernel was only applied in the netlink batch send path. As a result,
operations processed by dedicated handlers (e.g. IPTABLE, IPSET) were still
executed by the kernel provider even when a previous provider plugin
requested to skip kernel updates.
Handle skip_kernel early in kernel_dplane_process_func() so it applies to
all kernel provider operations, and remove the scattered checks from ...
yang: Imported module ietf-yang-types not used at frr-isisd.yangwarning: imported module "ietf-yang-types" not used
Signed-off-by: y-bharath14 <y.bharath@samsung.com>
tests: Fix weighted_ecmp, `show nexthop-group rib json` output has changedThis test now fails because of the change in the output of `show nexthop-group rib`.
Fix the test to the new format.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
isisd: fix method to access parent structureThe area pointer returned by current method may be wrong.
Use the lyd_parent() method call instead.
Fixes: 4aee03bfd576 ("isisd: add the 'redistribute table' internal support")
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
zebra: process_subq_early_route_delete() simplify else clauseThere is an explicit if (!same) ... if (same) conditional, which can be simplified to if-else
Signed-off-by: DrunkSkipper <a37206@gmail.com>
bgpd: Do not clear writes on keeper when transferring connectionWe are seeing this type of log message in BGP in a variety of tests:
2026/01/26 16:45:35.249566 BGP: [VRBDE-PTM0N][EC 33554454] 2.2.2.2 [FSM] Update packet received under status OpenConfirm for Outgoing
2026/01/26 16:45:35.249616 BGP: [PHZEJ-9MX8C][EC 33554455] bgp_process_packet: BGP UPDATE receipt failed for peer: 2.2.2.2(Outgoing)
Upon tracking this down, the peer( in this case 2.2.2.2 ) i...
github: Delete merged branchesTo avoid hundreds of old Mergify branches (backports) once they are merged.
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
zebra: remove unnecessary arg to rib_addnode/rib_linkThere is no need to use `bool process` arg, as there is only one invocation and it is set as `true`.
Signed-off-by: DrunkSkipper <a37206@gmail.com>
tests: new test for PIM filteringImplement tests for the new PIM join route-map filtering.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
doc: document new PIM filtering commandsDocument the command `join-filter route-map RMAP_NAME` for both PIM and
PIMv6.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
pimd,pim6d,yang: support filtering PIM joinsNew configuration for selecting a route map to filter PIM joins.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
lib: fix route map multicast interface outputMulticast interface doesn't belong to any IP type and the commands don't
have the IP specification either.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
tests: use munet provided `wait_for_match()` function- The previous `scan_for_match()` function used the timeout object incorrectly,
and the new version of munet exposed this. Just swap out the custom local
scanning function for the munet provided version.
Signed-off-by: Christian Hopps <chopps@labn.net>
tests: update munet to latest version 0.17.2**Infrastructure**
- Removed truncation of debug-level stdout/stderr in logging (better for
triaging issues)
**Timeout Class Improvements**
- Reversed `Timeout().__bool__()` logic - `True` now means expired, enabling
cleaner code: `while not timeout: ...`
**WatchLog Improvements**
- New synchronous `wait_for_match()` method
- Option to not update content during `snapshot()` calls
- `snapshot_...
mgmtd: fix xpath prefix matching problem- Restrict prefix matching to path segment boundaries ('/' and ':').
- We want want `/aa/bb` to match `/aa/bb/cc` but not `/aa/bbzzz/cc` as it was
doing previously.
- Also, during init-config don't call the generic function that scans through
all prefix maps to gather all clients to then check the result for the
initializing client presence. Instead just scan for the initializing client
and re...
mgmtd: lib: improve some mgmtd debug logs- add a couple debugs for notify_filters updates.
- improve debug on mgmt_be_interested_clients() from triaging experience.
Signed-off-by: Christian Hopps <chopps@labn.net>
lib: printfrr: add `d` (darr) option to %pSA (print string array)- Add a `d` option to allow passing a darr of strings so no array length is
required.
Signed-off-by: Christian Hopps <chopps@labn.net>
tests: mgmtd: fix a couple test issues- tests: remove erroneous trailing from sysctl command '\n'
- mgmtd: add missed cleanup in mgmtd test client
Signed-off-by: Christian Hopps <chopps@labn.net>
bgpd: handle changes to sender-aspath-loop-detectionWhen the config changes, the update-group needs to be adjusted.
The simplistic approach, e.g., resetting the peer, is taken for
this once-only event.
Signed-off-by: Enke Chen <enchen@paloaltonetworks.com>
bgpd: fix update-group issues with sender-aspath-loop-detectionWhen the config is enabled, the remote-as needs to be identical
for peers in an update-group as it impacts outbound updates.
Currently the remote-as is included in updgrp_hash_key_make(),
but it is missing in updgrp_hash_cmp().
As the config impacts outbound updates, we cannot mix peers with
the config and the ones without the config in an update-group.
Currently the flag PEER_FLAG_AS_LOOP_DET...
pimd: Fix race condition on transitioning to joinI'm seeing the test_pim_no_path_to_rp.py fail very rarely.
This test sets up both a S,G sender and a *,G receiver
on the same route. When certain conditions are hit pim
does not converge on the correct state.
Upon examination of the output we are seeing this race condition:
Working:
S,G stream seen
*,G igmp join seen
state transitions from NotJoined -> Joined
Not Working:
*,G igmp join se...