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...
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>
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>
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...
bgpd: EVPNv6 MH init using macroBased on review comment
https://github.com/FRRouting/frr/pull/20116#discussion_r2662909105
using macro to initilaize.
Signed-off-by: Chirag Shah <chirag@nvidia.com>
bgpd: EVPNv6 MH utility api to parse pi to vtepcreate a common utility api to extract vtep_ip
from the route's path info.
Signed-off-by: Chirag Shah <chirag@nvidia.com>
bgpd: EVPNv6 MH sync v6 vtep nhgIn case of IPv6 VTEP, use v6 nhg for both
IPv4 and IPv6 EVPN imported routes in tenant VRF.
This allows the IPv4 and IPv6 host routes to pick up
IPv6 NHG.
With this change symmetric routing for IPv4/IPv6
host routes would work once imported into
tenant vrf using the IPv6 nexthop group.
Signed-off-by: Chirag Shah <chirag@nvidia.com>
tests: EVPNv6 MH v6 vtep aware check ip addr after cfgRouter instance to provide a knob to skip
flushing all interface ips when router instance
is created.
Check bgp peer state and underlay network
right after torm-11 configured using
frr-reload script.
Signed-off-by: Chirag Shah <chirag@nvidia.com>
tests: EVPNv6 MH use linux cmds for intf addrWhen configuring interface ip from frr.conf using
frr-reload there is a timing involved bgp is not
receiving fast enough either ipv4 or ipv6 address,
which leads to an issue where ipv4 route over ipv6
bgp peer, uses the v4 mapped v6 address and route
becomes unreachable at the remote bgp peer end.
To fix the timing configure ip address using
linux iproute2 commands.
Signed-off-by: Chirag Shah...
tests: EVPNv6 MH load torm11 cfg using frr-reloadOn torm-11 load the frr.conf using frr-reload script.
For this pass to topogen a flag to skip loading
vtysh -f frr.conf file for a given DUT based on the flag.
Signed-off-by: Chirag Shah <chirag@nvidia.com>
tests: EVPNv6 MH v6 vtep aware BGP num testThis test is converted to from bgp_evpn_mh
to use `service integrated-vtysh-config` along
with BGP numbered underlay fabric with IPv6 VTEP.
IPv6 VTEP address, BGP GUA address
IPv4: 10.0.0.x/32 and related underlay prefixes are from 10.0.0.0/8,
which is RFC 1918 private space and appropriate for internal tests.
IPv6: all the 2001:db8:... prefixes are from 2001:db8::/32, the RFC 3849
documentati...