]> git.proxmox.com Git - mirror_frr.git/blobdiff - isisd/isis_zebra.c
Merge pull request #5625 from qlyoung/fix-zapi-ipset-name-nullterm
[mirror_frr.git] / isisd / isis_zebra.c
index ea4622db3140014592c49ef479a7b0fea7e88f74..630264768f5ab79431749ca2c652664d9cedf9ba 100644 (file)
@@ -72,64 +72,6 @@ static int isis_router_id_update_zebra(ZAPI_CALLBACK_ARGS)
        return 0;
 }
 
-static int isis_zebra_if_del(ZAPI_CALLBACK_ARGS)
-{
-       struct interface *ifp;
-       struct stream *s;
-
-       s = zclient->ibuf;
-       ifp = zebra_interface_state_read(s, vrf_id);
-
-       if (!ifp)
-               return 0;
-
-       if (if_is_operative(ifp))
-               zlog_warn("Zebra: got delete of %s, but interface is still up",
-                         ifp->name);
-
-       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
-          in case there is configuration info attached to it. */
-       if_delete_retain(ifp);
-
-       if_set_index(ifp, IFINDEX_INTERNAL);
-
-       return 0;
-}
-
-static int isis_zebra_if_state_up(ZAPI_CALLBACK_ARGS)
-{
-       struct interface *ifp;
-
-       ifp = zebra_interface_state_read(zclient->ibuf, vrf_id);
-
-       if (ifp == NULL)
-               return 0;
-
-       isis_csm_state_change(IF_UP_FROM_Z, circuit_scan_by_ifp(ifp), ifp);
-
-       return 0;
-}
-
-static int isis_zebra_if_state_down(ZAPI_CALLBACK_ARGS)
-{
-       struct interface *ifp;
-       struct isis_circuit *circuit;
-
-       ifp = zebra_interface_state_read(zclient->ibuf, vrf_id);
-
-       if (ifp == NULL)
-               return 0;
-
-       circuit = isis_csm_state_change(IF_DOWN_FROM_Z,
-                                       circuit_scan_by_ifp(ifp), ifp);
-       if (circuit)
-               SET_FLAG(circuit->flags, ISIS_CIRCUIT_FLAPPED_AFTER_SPF);
-
-       return 0;
-}
-
 static int isis_zebra_if_address_add(ZAPI_CALLBACK_ARGS)
 {
        struct connected *c;
@@ -186,7 +128,7 @@ static int isis_zebra_if_address_del(ZAPI_CALLBACK_ARGS)
 
        if (if_is_operative(ifp))
                isis_circuit_del_addr(circuit_scan_by_ifp(ifp), c);
-       connected_free(c);
+       connected_free(&c);
 
        return 0;
 }
@@ -242,7 +184,7 @@ void isis_zebra_route_add_route(struct prefix *prefix,
                        break;
                api_nh = &api.nexthops[count];
                if (fabricd)
-                       api_nh->onlink = true;
+                       SET_FLAG(api_nh->flags, ZAPI_NEXTHOP_FLAG_ONLINK);
                api_nh->vrf_id = VRF_DEFAULT;
 
                switch (nexthop->family) {
@@ -371,9 +313,6 @@ void isis_zebra_init(struct thread_master *master)
        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_delete = isis_zebra_if_del;
-       zclient->interface_up = isis_zebra_if_state_up;
-       zclient->interface_down = isis_zebra_if_state_down;
        zclient->interface_address_add = isis_zebra_if_address_add;
        zclient->interface_address_delete = isis_zebra_if_address_del;
        zclient->interface_link_params = isis_zebra_link_params;