Commit 4431cab1fc for frr

commit 4431cab1fc216c1260e7c5c7b8072b88a4bd2944
Author: Jafar Al-Gharaibeh <jafar@atcorp.com>
Date:   Fri Oct 2 14:28:13 2026 -0500

    staticd: register as a BFD client when zebra connects

    static_bfd_initialize() sends ZEBRA_BFD_CLIENT_REGISTER before the zebra
    connection exists, so it is dropped. Send it from zebra_connected() so
    shutdown does not log "failed to find process pid registration".

    Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>

diff --git a/staticd/static_zebra.c b/staticd/static_zebra.c
index 87efc92fea..70bb91da62 100644
--- a/staticd/static_zebra.c
+++ b/staticd/static_zebra.c
@@ -33,6 +33,7 @@
 #include "zclient.h"
 #include "static_srv6.h"
 #include "lib_errors.h"
+#include "bfd.h"

 DEFINE_MTYPE_STATIC(STATIC, STATIC_NHT_DATA, "Static Nexthop tracking data");
 PREDECL_HASH(static_nht_hash);
@@ -178,6 +179,16 @@ static void zebra_connected(struct zclient *zclient)
 {
 	struct vrf *vrf;

+	/*
+	 * Send the BFD client registration, as the other BFD-integrated
+	 * daemons do. The one sent from static_bfd_initialize() happens
+	 * before the zebra connection is up and never reaches zebra, so
+	 * without any BFD-tracked route zebra has no registration for us
+	 * and logs "failed to find process pid registration" when we
+	 * disconnect.
+	 */
+	bfd_client_sendmsg(zclient, ZEBRA_BFD_CLIENT_REGISTER, VRF_DEFAULT);
+
 	zebra_route_notify_send(ZEBRA_ROUTE_NOTIFY_REQUEST, zclient, true);
 	zclient_send_reg_requests(zclient, VRF_DEFAULT);