zebra: fix bridge VLAN bitmap leakFree the newly allocated VLAN bitmap and restore the old one when
no bridge VLAN info is available.
ASAN Leak:
==315014==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 516 byte(s) in 1 object(s) allocated from:
#0 0xffffa65af5f4 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
#1 0xffffa617f040 in qcalloc lib/memory.c:111
#2 0xaaaad9...
tests: cover EVPN MH config without bridgeAdd a topotest that detaches a bond from the bridge, applies ES config,
and verifies zebra stays healthy.
Signed-off-by: Rajasekar Raja <rajasekarr@nvidia.com>
zebra: Fix early route processing cleanup when kernel routes are cleaned upCurrently when FRR receives a kernel route notification it cleans the route
up from the early route meta Queue. This is presenting some problems when
the same route happens to be in the early route metaQueue multiple times
for different vrf's and safi's. Tighten up the search to only look
for the afi/safi and vrf id for the route in question to not cause
it to remove the wrong route.
This pr...
tests: update datastore notify test to verify VRF changes- also modify the mgmt_testc client. We need to improve this further
to load whatever modules are needed by the user provided paths to listen for.
Signed-off-by: Christian Hopps <chopps@labn.net>
lib: drop yang state cache and just let notif know of changed paths- use new path "printf" variants for nb_notif_add() nb_notif_delete() functions.
Signed-off-by: Christian Hopps <chopps@labn.net>
lib: check vrf active state as a flag not with == VRF_ACTIVEUpdate one test to explicitly configure the vrf in FRR so that the
VRF_CONFIGURED flag gets set and exposes the bug and verifies the fix.
Signed-off-by: Christian Hopps <chopps@labn.net>
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: Fix for zebra crash on es config, bond unlinked to bridgeChanges:
- check for zif->brslave_info.br_if, before access
- If ES config is pushed when bond is not associated with bridge
throw warning in zebra_evpn_es_setup_evis, when bond gets linked
process zebra_evpn_es_setup_evis and send update to bgp.
BT:
==268631==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000050 (pc 0xaaaac9734754 bp 0xffffe9ae0370 sp 0xffffe9ae00b0 T0)
==26863...
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>