zebra: fix the access-vlan vni refcount on bridge flapThe issue is with receiving duplicate message which results in
increment of ref-count of the vni for the same (vlan,vni) mapping.
Moved the current check to catch duplicate messages before ref count
processing.
Signed-off-by: Ashwini Reddy <ashred@nvidia.com>
Signed-off-by: Rajasekar Raja <rajasekarr@nvidia.com>
lib, vtysh: Fix `log timestamp precision` to actually be carried throughThis commit fixes both:
a) When using the daemon cli: `--log file:XXX` the log timestamp precision
when changed on the cli was not respected.
b) When using `terminal monitor` in vtysh, the set log timestamp precision
was not being respected at all.
Modify both places to actually work with timestamp precision.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
zebra: EVPN check l3vni vxlan intf exist in rmac installIn event of Vxlan interface down, there is a possibility,
L3VNI is cleaned up and its associated routes are triggered
for cleanup, at the time of uninstall of RMAC, the L3VNI
associated vxlan_if is likely cleaned up.
Check the VxLAN interface existance before proceeding.
(zl3vni=zl3vni@entry=0x561983436860,
zrmac=zrmac@entry=0x561985002ba0)
at ../zebra/zebra_vxlan.c:1332
(v...
bgpd: Fix multipath decision when multipath is 1The current code when you set `maximum-paths 1` is doing
this when you take away a neighbor:
2026-01-15 16:06:14.194 [NTFY] bgpd: [M7Q4P-46WDR] vty[47]@(config-router)# neighbor 10.0.1.101 shutdown
2026-01-15 16:06:14.206 [DEBG] bgpd: [V64FH-G6883] 10.204.9.0/24 queued into sub-queue Other Route
2026-01-15 16:06:14.256 [DEBG] bgpd: [ZAPXS-9754G] 10.204.9.0/24 dequeued from sub-queue Other Rout...
tests: test PIM interface timers changesAdd topology to test that the correct interface timer was applied.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
tests: comment out debugs in bgp_batch_clearing topotestComment out debugs in the topotest configs, missed these
during review.
Signed-off-by: Mark Stapp <mjs@cisco.com>
zebra: Expand the EVPN help string in `debug zebra evpn..`The help string of `EVPN` was not really that helpful.
Let's make it more helpful.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
pimd: display configured timersDisplay the currently configured timers for join-prune interval, assert
interval and assert override interval.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
tests: Add a test_bgp_batch_clearingThis test creates two routers connected over ebgp.
r1 ---- r2
r2 is generating 100k static routes that overlap in various
ways. After the routes are received on r1, the r1-r2 interface
is shutdown and batch clearing is allowed to process the routes.
This test ensures that the batch clearing leaves no path_info's
in the bgp rib.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
bgpd: In batch clearing do not skip aroundThe batch clearing code is using a bgp_node_match in clearing_dest_helper
to grab the next node we want to work on. Unfortunately this is not necessarily
the node that was last used and it allows for skipping nodes and leaving
some of the path_info's to stick around. Modify the code to use bgp_node_get
and to not increment to the next one, since walk_batch_table_helper is
walking to the next ...
bgpd: On interface up/down events allow for more interfaces to be affectedCurrent code in BGP only examines the bnc->ifindex_ipv6_ll to decide if
evaluate_paths should be used. Let's broaden this scope a tiny bit
to allow for matches where the number of nexthops is 1 and the
nexthop->ifindex is the same as the interfaces ifindex for the
up/down event.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
bgpd: Improve warning message when the neighbor is not active for AFI/SAFIWhen we do something like:
$ show bgp neighbors eth1 received-routes
% No such neighbor or address family
And eth1 is not enabled under ipv6 address family, we have a not so useful
warning message.
Let the operator know which AFI/SAFI is not active for this neighbor.
r1# sh bgp neighbors r1-eth0 advertised-routes
% IPv6 Unicast is not enabled for this neighbor
r1#
Signed-off-by: Donatas Ab...
tests: add a retry timeout to verify_admin_distanceAdd a retry timeout to the verify_admin_distance helper; give
a little time for a config change to make its way through to
zebra.
Signed-off-by: Mark Stapp <mjs@cisco.com>
bgpd: fix compilation with lttng traceFix build with LTTng enabled by passing originator IP by pointer in the
EVPN MH tracepoint.
Fixes: a182fa677a28 ("bgpd: EVPNv6 MH lttng traces IPv6 vtep aware")
Signed-off-by: Maxime Leroy <maxime@leroys.fr>
ci: harden apt-get install for transient failuresThe existing retry logic only covered apt-get update but not the subsequent
install commands. When Ubuntu mirrors update packages, the cached index could
reference versions that no longer exist, so 404 errors during install.
This change wraps the entire apt-get update/upgrade/install sequence in the
retry loop so that a fresh package index is re-fetched on each retry attempt.
Signed-off-by: Vi...
ci: add LTTng tracepoint compilation checkLTTng is a high-performance tracing framework for Linux that FRR
supports via the --enable-lttng configure option. When enabled, FRR
compiles tracepoint definitions from headers like zebra_trace.h,
bgp_trace.h, and others. These tracepoint definitions use LTTng-UST
macros that are validated at compile time.
The current CI does not build with LTTng enabled, which means that
broken or missing tr...
topotests: append 'exit' after interface configLets not rely on the automatic behavior of exiting a node on unknown
command and instead use 'exit' explicitly.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>