zebra: Updation of ifp->flagsAs a part of PR:20181 , ifp->flags updation is changed.
Do not set ifp->flags before the if_is_no_ptm_operative(ifp) check.
That check must run on the previous interface state so we take the
correct branch; we then set ifp->flags in each branch. Updating flags
before the check would branch on the new state and break if_down/if_up
transition logic.
Signed-off-by: harini <hnattamaisub@nvidia.com>
Merge pull request #20618 from opensourcerouting/fix/bgp_show_advertised_routes_addpathbgpd: Show all advertised paths including non-best paths only if addpath is enabled
zebra: shorten label for RNH mem typeSimplify the label for the per-client RNH mem type to make
the show output more natural.
Signed-off-by: Mark Stapp <mjs@cisco.com>
sharpd: Add a `sharp install stop` to stop repeated runningIf you have a large number of routes being repeatedly installed/removed,
add a `sharp install stop` command. This allows for the stopping of the loop.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
sharpd: Add table_id to installation/removal of routes.Wanted the ability to push routes into a random table for
some testing that I want to do. Just add the ability to allow this.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
bgpd: EVPN MH fix unimport ES route on vtep changeIn EVPN MH deployment, when a VTEP-IP address changed at the sender VTEP,
the remote VTEP sees a stale VTEP-IP entry in ES to VTEP-IP mapping.
RCA:
Handling for nexthop change for evpn es (Type-1) route is missing on receiver side.
On changing the VTEP IP on local node, the EAD (Type-1)
route's BGP update contains new originator VTEP-IP as nexthop.
The new BGP update message treated as update...
bgpd: fix md5 password unset on dynamic nbrWhen a password is applied on peer-group associated to
dynamic neighbor listen range.
1) Per peer (/32) MD5 entry is set on the listen socket for
each group member
/* Attempt to install password on socket. */
if (!BGP_CONNECTION_SU_UNSPEC(member->connection) &&
bgp_md5_set(member->connection) < 0)
ret = BGP_ERR_TCPSIG_FAILED;
2) Per dynamic listen range prefix (/24)...
bgpd: fix batch clearing resume to use correct lookup APIsThe batch clearing code was using bgp_node_get() to locate the
outer/inner route node when resuming a RIB walk. This caused two
problems:
1. Double-walking: bgp_node_get() returns the same node that was
already processed in the previous iteration. During GR processing,
the second visit to an already-stale path takes the else branch in
clearing_clear_one_pi() and deletes the route from...
lib: use MTYPEs for northbound in several placesStop using MTYPE_TMP in several places, use NB-specific
MTYPEs for visibility.
Signed-off-by: Mark Stapp <mjs@cisco.com>
tests: Add a new test that shows non-route-replace semanticsAdd a test that shows that 2 default routes are properly handled
and the old semantics of route replace still work(this old semantics
is tested a bajillion times as well, but explicitly calling it out).
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
zebra: Allow zebra to respect non-replace flag for routes received from kernelCurrently if an operator has default routes being distributed via v6 RA's
into the linux kernel, Zebra is not able to properly handle the situation:
default via fe80::7c92:44ff:fe39:278e dev r2-eth0 proto ra metric 1024 expires 1797sec hoplimit 64 pref medium
default via fe80::8414:b1ff:fe2b:8ba1 dev r2-eth1 proto ra metric 1024 expires 1797sec hoplimit 64 pref medium
root@r2:/tmp/topotests/ip...
zebra: Add replace semantics into route dplane ctxThe Linux kernel will send routes to FRR with either
REPLACE semantics or not. If not we must be able
to properly handle this situation, so add this handling
to zebra_dplane.c
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
tests: Simple test that shows nhg received from kernel are respected.Create a test that shows when receiving nhg's from the kernel and routes
using those nhg's that they are handled correctly in zebra.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
zebra: Notice that the nexthop group came from the kernelFRR is currently receiving routes from the kernel that have nexthop groups
but is ignoring those nexthop groups and is creating new ones that do
not actually match what is in the kernel. Modify the code such that
we track the kernel `found` nexthop groups and we allow routes received
from the kernel that use those nhg's actually have the right values.
Signed-off-by: Donald Sharp <sharpd@nvidi...
zebra: Pass correct NHG id throughThe decoding of the netlink message into a dplane ctx is storing the
nhg id not the nhe_id. Let's actually retrieve the right value.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
bgpd: add a counter for received duplicate updatesThis would make is easier to monitor duplicate updates, and also
to write topotests.
Signed-off-by: Enke Chen <enchen@paloaltonetworks.com>