3 * Copyright (C) 2013-2014
11 * This file is part of GNU Zebra.
13 * GNU Zebra is free software; you can redistribute it and/or modify it
14 * under the terms of the GNU General Public License as published by the
15 * Free Software Foundation; either version 2, or (at your option) any
18 * GNU Zebra is distributed in the hope that it will be useful, but
19 * WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 * General Public License for more details.
23 * You should have received a copy of the GNU General Public License along
24 * with this program; see the file COPYING; if not, write to the Free Software
25 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 #ifndef _ZEBRA_EIGRPD_H
29 #define _ZEBRA_EIGRPD_H
36 /* Set EIGRP version is "classic" - wide metrics comes next */
37 #define EIGRP_MAJOR_VERSION 1
38 #define EIGRP_MINOR_VERSION 2
40 /* Extern variables. */
41 extern struct zclient
*zclient
;
42 extern struct thread_master
*master
;
43 extern struct eigrp_master
*eigrp_om
;
44 extern struct zebra_privs_t eigrpd_privs
;
47 extern void eigrp_master_init(void);
48 extern void eigrp_terminate(void);
49 extern void eigrp_finish_final(struct eigrp
*);
50 extern void eigrp_finish(struct eigrp
*);
51 extern struct eigrp
*eigrp_get(uint16_t as
, vrf_id_t vrf_id
);
52 extern struct eigrp
*eigrp_lookup(vrf_id_t vrf_id
);
53 extern void eigrp_router_id_update(struct eigrp
*);
56 extern void eigrp_cli_show_header(struct vty
*vty
, struct lyd_node
*dnode
,
58 extern void eigrp_cli_show_end_header(struct vty
*vty
, struct lyd_node
*dnode
);
59 extern void eigrp_cli_show_router_id(struct vty
*vty
, struct lyd_node
*dnode
,
61 extern void eigrp_cli_show_passive_interface(struct vty
*vty
,
62 struct lyd_node
*dnode
,
64 extern void eigrp_cli_show_active_time(struct vty
*vty
, struct lyd_node
*dnode
,
66 extern void eigrp_cli_show_variance(struct vty
*vty
, struct lyd_node
*dnode
,
68 extern void eigrp_cli_show_maximum_paths(struct vty
*vty
,
69 struct lyd_node
*dnode
,
71 extern void eigrp_cli_show_metrics(struct vty
*vty
, struct lyd_node
*dnode
,
73 extern void eigrp_cli_show_network(struct vty
*vty
, struct lyd_node
*dnode
,
75 extern void eigrp_cli_show_neighbor(struct vty
*vty
, struct lyd_node
*dnode
,
77 extern void eigrp_cli_show_redistribute(struct vty
*vty
,
78 struct lyd_node
*dnode
,
80 extern void eigrp_cli_show_delay(struct vty
*vty
, struct lyd_node
*dnode
,
82 extern void eigrp_cli_show_bandwidth(struct vty
*vty
, struct lyd_node
*dnode
,
84 extern void eigrp_cli_show_hello_interval(struct vty
*vty
,
85 struct lyd_node
*dnode
,
87 extern void eigrp_cli_show_hold_time(struct vty
*vty
, struct lyd_node
*dnode
,
89 extern void eigrp_cli_show_summarize_address(struct vty
*vty
,
90 struct lyd_node
*dnode
,
92 extern void eigrp_cli_show_authentication(struct vty
*vty
,
93 struct lyd_node
*dnode
,
95 extern void eigrp_cli_show_keychain(struct vty
*vty
, struct lyd_node
*dnode
,
97 extern void eigrp_cli_init(void);
99 /* eigrp_northbound.c */
100 extern const struct frr_yang_module_info frr_eigrpd_info
;
102 #endif /* _ZEBRA_EIGRPD_H */