summaryrefslogtreecommitdiff
path: root/sharpd/sharp_zebra.c
diff options
context:
space:
mode:
Diffstat (limited to 'sharpd/sharp_zebra.c')
-rw-r--r--sharpd/sharp_zebra.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/sharpd/sharp_zebra.c b/sharpd/sharp_zebra.c
index 1048436b43..4447b69bf6 100644
--- a/sharpd/sharp_zebra.c
+++ b/sharpd/sharp_zebra.c
@@ -618,18 +618,19 @@ void nhg_del(uint32_t id)
zclient_nhg_send(zclient, ZEBRA_NHG_DEL, &api_nhg);
}
-void sharp_zebra_nexthop_watch(struct prefix *p, vrf_id_t vrf_id, bool import,
- bool watch, bool connected)
+void sharp_zebra_nexthop_watch(struct prefix *p, vrf_id_t vrf_id, bool import, bool watch,
+ bool connected, bool mrib)
{
- int command;
+ int command = ZEBRA_NEXTHOP_REGISTER;
+ safi_t safi = mrib ? SAFI_MULTICAST : SAFI_UNICAST;
command = ZEBRA_NEXTHOP_REGISTER;
if (!watch)
command = ZEBRA_NEXTHOP_UNREGISTER;
- if (zclient_send_rnh(zclient, command, p, SAFI_UNICAST, connected,
- false, vrf_id) == ZCLIENT_SEND_FAILURE)
+ if (zclient_send_rnh(zclient, command, p, safi, connected, false, vrf_id) ==
+ ZCLIENT_SEND_FAILURE)
zlog_warn("%s: Failure to send nexthop to zebra", __func__);
}