From b630f52986e6c276fccc12eab0d50399ff253a41 Mon Sep 17 00:00:00 2001 From: Stephen Worley Date: Thu, 17 Sep 2020 15:32:01 -0400 Subject: [PATCH] pbrd: add return val for pbr_send_pbr_map() Add a return val so caller can know if something was actually sent to zebra here. Some things need to be cleanued up by the caller if we arent getting a callback from zapi. Signed-off-by: Stephen Worley --- pbrd/pbr_zebra.c | 10 ++++++---- pbrd/pbr_zebra.h | 6 +++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/pbrd/pbr_zebra.c b/pbrd/pbr_zebra.c index 269bd6da8d..077cb9a691 100644 --- a/pbrd/pbr_zebra.c +++ b/pbrd/pbr_zebra.c @@ -549,8 +549,8 @@ static void pbr_encode_pbr_map_sequence(struct stream *s, stream_put(s, ifp->name, INTERFACE_NAMSIZ); } -void pbr_send_pbr_map(struct pbr_map_sequence *pbrms, - struct pbr_map_interface *pmi, bool install, bool changed) +int pbr_send_pbr_map(struct pbr_map_sequence *pbrms, + struct pbr_map_interface *pmi, bool install, bool changed) { struct pbr_map *pbrm = pbrms->parent; struct stream *s; @@ -569,10 +569,10 @@ void pbr_send_pbr_map(struct pbr_map_sequence *pbrms, * to delete just return. */ if (install && is_installed && !changed) - return; + return 1; if (!install && !is_installed) - return; + return 1; s = zclient->obuf; stream_reset(s); @@ -595,4 +595,6 @@ void pbr_send_pbr_map(struct pbr_map_sequence *pbrms, stream_putw_at(s, 0, stream_get_endp(s)); zclient_send_message(zclient); + + return 0; } diff --git a/pbrd/pbr_zebra.h b/pbrd/pbr_zebra.h index cc42e21abe..57c6f080c7 100644 --- a/pbrd/pbr_zebra.h +++ b/pbrd/pbr_zebra.h @@ -35,9 +35,9 @@ extern void route_delete(struct pbr_nexthop_group_cache *pnhgc, extern void pbr_send_rnh(struct nexthop *nhop, bool reg); -extern void pbr_send_pbr_map(struct pbr_map_sequence *pbrms, - struct pbr_map_interface *pmi, bool install, - bool changed); +extern int pbr_send_pbr_map(struct pbr_map_sequence *pbrms, + struct pbr_map_interface *pmi, bool install, + bool changed); extern struct pbr_interface *pbr_if_new(struct interface *ifp); -- 2.39.5