]>
git.proxmox.com Git - mirror_frr.git/blob - isisd/isis_zebra.h
1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * IS-IS Rout(e)ing protocol - isis_zebra.h
5 * Copyright (C) 2001,2002 Sampo Saaristo
6 * Tampere University of Technology
7 * Institute of Communications Engineering
9 #ifndef _ZEBRA_ISIS_ZEBRA_H
10 #define _ZEBRA_ISIS_ZEBRA_H
14 extern struct zclient
*zclient
;
23 void isis_zebra_init(struct thread_master
*master
, int instance
);
24 void isis_zebra_stop(void);
26 struct isis_route_info
;
29 void isis_zebra_route_add_route(struct isis
*isis
,
30 struct prefix
*prefix
,
31 struct prefix_ipv6
*src_p
,
32 struct isis_route_info
*route_info
);
33 void isis_zebra_route_del_route(struct isis
*isis
,
34 struct prefix
*prefix
,
35 struct prefix_ipv6
*src_p
,
36 struct isis_route_info
*route_info
);
37 void isis_zebra_prefix_sid_install(struct isis_area
*area
,
38 struct prefix
*prefix
,
39 struct isis_route_info
*rinfo
,
40 struct isis_sr_psid_info
*psid
);
41 void isis_zebra_prefix_sid_uninstall(struct isis_area
*area
,
42 struct prefix
*prefix
,
43 struct isis_route_info
*rinfo
,
44 struct isis_sr_psid_info
*psid
);
45 void isis_zebra_send_adjacency_sid(int cmd
, const struct sr_adjacency
*sra
);
46 int isis_distribute_list_update(int routetype
);
47 void isis_zebra_redistribute_set(afi_t afi
, int type
, vrf_id_t vrf_id
);
48 void isis_zebra_redistribute_unset(afi_t afi
, int type
, vrf_id_t vrf_id
);
49 int isis_zebra_rlfa_register(struct isis_spftree
*spftree
, struct rlfa
*rlfa
);
50 void isis_zebra_rlfa_unregister_all(struct isis_spftree
*spftree
);
51 bool isis_zebra_label_manager_ready(void);
52 int isis_zebra_label_manager_connect(void);
53 int isis_zebra_request_label_range(uint32_t base
, uint32_t chunk_size
);
54 int isis_zebra_release_label_range(uint32_t start
, uint32_t end
);
55 void isis_zebra_vrf_register(struct isis
*isis
);
56 void isis_zebra_vrf_deregister(struct isis
*isis
);
57 int isis_zebra_ls_register(bool up
);
59 #endif /* _ZEBRA_ISIS_ZEBRA_H */