]> git.proxmox.com Git - mirror_frr.git/blobdiff - isisd/isis_zebra.c
isisd: implemented the 'sequence-number-skipped' notification
[mirror_frr.git] / isisd / isis_zebra.c
index 9bc0f2ef350f674a896e0a87d802713c2802d615..101bd57cc932f0049b7b462141d56510a57e1cc6 100644 (file)
@@ -87,12 +87,6 @@ static int isis_zebra_if_add(int command, struct zclient *zclient,
 
        ifp = zebra_interface_add_read(zclient->ibuf, vrf_id);
 
-       if (isis->debugs & DEBUG_ZEBRA)
-               zlog_debug(
-                       "Zebra I/F add: %s index %d flags %ld metric %d mtu %d",
-                       ifp->name, ifp->ifindex, (long)ifp->flags, ifp->metric,
-                       ifp->mtu);
-
        if (if_is_operative(ifp))
                isis_csm_state_change(IF_UP_FROM_Z, circuit_scan_by_ifp(ifp),
                                      ifp);
@@ -116,12 +110,6 @@ static int isis_zebra_if_del(int command, struct zclient *zclient,
                zlog_warn("Zebra: got delete of %s, but interface is still up",
                          ifp->name);
 
-       if (isis->debugs & DEBUG_ZEBRA)
-               zlog_debug(
-                       "Zebra I/F delete: %s index %d flags %ld metric %d mtu %d",
-                       ifp->name, ifp->ifindex, (long)ifp->flags, ifp->metric,
-                       ifp->mtu);
-
        isis_csm_state_change(IF_DOWN_FROM_Z, circuit_scan_by_ifp(ifp), ifp);
 
        /* Cannot call if_delete because we should retain the pseudo interface
@@ -261,8 +249,10 @@ static void isis_zebra_route_add_route(struct prefix *prefix,
                return;
 
        memset(&api, 0, sizeof(api));
+       if (fabricd)
+               api.flags |= ZEBRA_FLAG_ONLINK;
        api.vrf_id = VRF_DEFAULT;
-       api.type = ZEBRA_ROUTE_ISIS;
+       api.type = PROTO_TYPE;
        api.safi = SAFI_UNICAST;
        api.prefix = *prefix;
        if (src_p && src_p->prefixlen) {
@@ -337,7 +327,7 @@ static void isis_zebra_route_del_route(struct prefix *prefix,
 
        memset(&api, 0, sizeof(api));
        api.vrf_id = VRF_DEFAULT;
-       api.type = ZEBRA_ROUTE_ISIS;
+       api.type = PROTO_TYPE;
        api.safi = SAFI_UNICAST;
        api.prefix = *prefix;
        if (src_p && src_p->prefixlen) {
@@ -378,7 +368,7 @@ static int isis_zebra_read(int command, struct zclient *zclient,
         */
        if (api.prefix.prefixlen == 0
            && api.src_prefix.prefixlen == 0
-           && api.type == ZEBRA_ROUTE_ISIS) {
+           && api.type == PROTO_TYPE) {
                command = ZEBRA_REDISTRIBUTE_ROUTE_DEL;
        }
 
@@ -423,8 +413,8 @@ static void isis_zebra_connected(struct zclient *zclient)
 
 void isis_zebra_init(struct thread_master *master)
 {
-       zclient = zclient_new_notify(master, &zclient_options_default);
-       zclient_init(zclient, ZEBRA_ROUTE_ISIS, 0, &isisd_privs);
+       zclient = zclient_new(master, &zclient_options_default);
+       zclient_init(zclient, PROTO_TYPE, 0, &isisd_privs);
        zclient->zebra_connected = isis_zebra_connected;
        zclient->router_id_update = isis_router_id_update_zebra;
        zclient->interface_add = isis_zebra_if_add;