]> git.proxmox.com Git - mirror_frr.git/blobdiff - sharpd/sharp_zebra.c
Merge pull request #5374 from opensourcerouting/snap-vrrpd-7.2
[mirror_frr.git] / sharpd / sharp_zebra.c
index f1e83628c2ee5876eccb17fc1804f6ab281108d7..6263f429ea989a1ebb8354a609772e457c0d358f 100644 (file)
@@ -58,8 +58,7 @@ static struct interface *zebra_interface_if_lookup(struct stream *s)
 }
 
 /* Inteface addition message from zebra. */
-static int interface_add(int command, struct zclient *zclient,
-                        zebra_size_t length, vrf_id_t vrf_id)
+static int interface_add(ZAPI_CALLBACK_ARGS)
 {
        struct interface *ifp;
 
@@ -71,8 +70,7 @@ static int interface_add(int command, struct zclient *zclient,
        return 0;
 }
 
-static int interface_delete(int command, struct zclient *zclient,
-                           zebra_size_t length, vrf_id_t vrf_id)
+static int interface_delete(ZAPI_CALLBACK_ARGS)
 {
        struct interface *ifp;
        struct stream *s;
@@ -90,21 +88,19 @@ static int interface_delete(int command, struct zclient *zclient,
        return 0;
 }
 
-static int interface_address_add(int command, struct zclient *zclient,
-                                zebra_size_t length, vrf_id_t vrf_id)
+static int interface_address_add(ZAPI_CALLBACK_ARGS)
 {
 
-       zebra_interface_address_read(command, zclient->ibuf, vrf_id);
+       zebra_interface_address_read(cmd, zclient->ibuf, vrf_id);
 
        return 0;
 }
 
-static int interface_address_delete(int command, struct zclient *zclient,
-                                   zebra_size_t length, vrf_id_t vrf_id)
+static int interface_address_delete(ZAPI_CALLBACK_ARGS)
 {
        struct connected *c;
 
-       c = zebra_interface_address_read(command, zclient->ibuf, vrf_id);
+       c = zebra_interface_address_read(cmd, zclient->ibuf, vrf_id);
 
        if (!c)
                return 0;
@@ -113,8 +109,7 @@ static int interface_address_delete(int command, struct zclient *zclient,
        return 0;
 }
 
-static int interface_state_up(int command, struct zclient *zclient,
-                             zebra_size_t length, vrf_id_t vrf_id)
+static int interface_state_up(ZAPI_CALLBACK_ARGS)
 {
 
        zebra_interface_if_lookup(zclient->ibuf);
@@ -122,8 +117,7 @@ static int interface_state_up(int command, struct zclient *zclient,
        return 0;
 }
 
-static int interface_state_down(int command, struct zclient *zclient,
-                               zebra_size_t length, vrf_id_t vrf_id)
+static int interface_state_down(ZAPI_CALLBACK_ARGS)
 {
 
        zebra_interface_state_read(zclient->ibuf, vrf_id);
@@ -194,7 +188,7 @@ static void handle_repeated(bool installed)
                                           sg.r.inst, sg.r.total_routes);
        }
 
-       if (installed) {
+       if (!installed) {
                sg.r.installed_routes = 0;
                sharp_install_routes_helper(&p, sg.r.vrf_id, sg.r.inst,
                                            &sg.r.nhop_group,
@@ -202,8 +196,7 @@ static void handle_repeated(bool installed)
        }
 }
 
-static int route_notify_owner(int command, struct zclient *zclient,
-                             zebra_size_t length, vrf_id_t vrf_id)
+static int route_notify_owner(ZAPI_CALLBACK_ARGS)
 {
        struct timeval r;
        struct prefix p;
@@ -219,8 +212,8 @@ static int route_notify_owner(int command, struct zclient *zclient,
                if (sg.r.total_routes == sg.r.installed_routes) {
                        monotime(&sg.r.t_end);
                        timersub(&sg.r.t_end, &sg.r.t_start, &r);
-                       zlog_debug("Installed All Items %ld.%ld", r.tv_sec,
-                                  r.tv_usec);
+                       zlog_debug("Installed All Items %jd.%ld",
+                                  (intmax_t)r.tv_sec, (long)r.tv_usec);
                        handle_repeated(true);
                }
                break;
@@ -235,8 +228,8 @@ static int route_notify_owner(int command, struct zclient *zclient,
                if (sg.r.total_routes == sg.r.removed_routes) {
                        monotime(&sg.r.t_end);
                        timersub(&sg.r.t_end, &sg.r.t_start, &r);
-                       zlog_debug("Removed all Items %ld.%ld", r.tv_sec,
-                                  r.tv_usec);
+                       zlog_debug("Removed all Items %jd.%ld",
+                                  (intmax_t)r.tv_sec, (long)r.tv_usec);
                        handle_repeated(false);
                }
                break;
@@ -345,8 +338,7 @@ void sharp_zebra_nexthop_watch(struct prefix *p, vrf_id_t vrf_id, bool import,
                          __PRETTY_FUNCTION__);
 }
 
-static int sharp_nexthop_update(int command, struct zclient *zclient,
-                               zebra_size_t length, vrf_id_t vrf_id)
+static int sharp_nexthop_update(ZAPI_CALLBACK_ARGS)
 {
        struct sharp_nh_tracker *nht;
        struct zapi_route nhr;