]>
git.proxmox.com Git - mirror_frr.git/blob - isisd/isis_zebra.h
2 * IS-IS Rout(e)ing protocol - isis_zebra.h
4 * Copyright (C) 2001,2002 Sampo Saaristo
5 * Tampere University of Technology
6 * Institute of Communications Engineering
8 * This program is free software; you can redistribute it and/or modify it
9 * under the terms of the GNU General Public Licenseas published by the Free
10 * Software Foundation; either version 2 of the License, or (at your option)
13 * This program is distributed in the hope that it will be useful,but WITHOUT
14 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
18 * You should have received a copy of the GNU General Public License along
19 * with this program; see the file COPYING; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 #ifndef _ZEBRA_ISIS_ZEBRA_H
23 #define _ZEBRA_ISIS_ZEBRA_H
27 extern struct zclient
*zclient
;
36 void isis_zebra_init(struct thread_master
*master
, int instance
);
37 void isis_zebra_stop(void);
39 struct isis_route_info
;
42 void isis_zebra_route_add_route(struct isis
*isis
,
43 struct prefix
*prefix
,
44 struct prefix_ipv6
*src_p
,
45 struct isis_route_info
*route_info
);
46 void isis_zebra_route_del_route(struct isis
*isis
,
47 struct prefix
*prefix
,
48 struct prefix_ipv6
*src_p
,
49 struct isis_route_info
*route_info
);
50 void isis_zebra_prefix_sid_install(struct isis_area
*area
,
51 struct prefix
*prefix
,
52 struct isis_route_info
*rinfo
,
53 struct isis_sr_psid_info
*psid
);
54 void isis_zebra_prefix_sid_uninstall(struct isis_area
*area
,
55 struct prefix
*prefix
,
56 struct isis_route_info
*rinfo
,
57 struct isis_sr_psid_info
*psid
);
58 void isis_zebra_send_adjacency_sid(int cmd
, const struct sr_adjacency
*sra
);
59 int isis_distribute_list_update(int routetype
);
60 void isis_zebra_redistribute_set(afi_t afi
, int type
);
61 void isis_zebra_redistribute_unset(afi_t afi
, int type
);
62 int isis_zebra_rlfa_register(struct isis_spftree
*spftree
, struct rlfa
*rlfa
);
63 void isis_zebra_rlfa_unregister_all(struct isis_spftree
*spftree
);
64 bool isis_zebra_label_manager_ready(void);
65 int isis_zebra_label_manager_connect(void);
66 int isis_zebra_request_label_range(uint32_t base
, uint32_t chunk_size
);
67 int isis_zebra_release_label_range(uint32_t start
, uint32_t end
);
68 void isis_zebra_vrf_register(struct isis
*isis
);
69 void isis_zebra_vrf_deregister(struct isis
*isis
);
71 #endif /* _ZEBRA_ISIS_ZEBRA_H */