]> git.proxmox.com Git - mirror_frr.git/blob - eigrpd/eigrpd.h
Merge pull request #6377 from ton31337/fix/bgpd_statistics
[mirror_frr.git] / eigrpd / eigrpd.h
1 /*
2 * EIGRP main header.
3 * Copyright (C) 2013-2014
4 * Authors:
5 * Donnie Savage
6 * Jan Janovic
7 * Matej Perina
8 * Peter Orsag
9 * Peter Paluch
10 *
11 * This file is part of GNU Zebra.
12 *
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
16 * later version.
17 *
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.
22 *
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
26 */
27
28 #ifndef _ZEBRA_EIGRPD_H
29 #define _ZEBRA_EIGRPD_H
30
31 #include <zebra.h>
32
33 #include "filter.h"
34 #include "log.h"
35
36 /* Set EIGRP version is "classic" - wide metrics comes next */
37 #define EIGRP_MAJOR_VERSION 1
38 #define EIGRP_MINOR_VERSION 2
39
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;
45
46 /* Prototypes */
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 *);
54
55 /* eigrp_cli.c */
56 extern void eigrp_cli_show_header(struct vty *vty, struct lyd_node *dnode,
57 bool show_defaults);
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,
60 bool show_defaults);
61 extern void eigrp_cli_show_passive_interface(struct vty *vty,
62 struct lyd_node *dnode,
63 bool show_defaults);
64 extern void eigrp_cli_show_active_time(struct vty *vty, struct lyd_node *dnode,
65 bool show_defaults);
66 extern void eigrp_cli_show_variance(struct vty *vty, struct lyd_node *dnode,
67 bool show_defaults);
68 extern void eigrp_cli_show_maximum_paths(struct vty *vty,
69 struct lyd_node *dnode,
70 bool show_defaults);
71 extern void eigrp_cli_show_metrics(struct vty *vty, struct lyd_node *dnode,
72 bool show_defaults);
73 extern void eigrp_cli_show_network(struct vty *vty, struct lyd_node *dnode,
74 bool show_defaults);
75 extern void eigrp_cli_show_neighbor(struct vty *vty, struct lyd_node *dnode,
76 bool show_defaults);
77 extern void eigrp_cli_show_redistribute(struct vty *vty,
78 struct lyd_node *dnode,
79 bool show_defaults);
80 extern void eigrp_cli_show_delay(struct vty *vty, struct lyd_node *dnode,
81 bool show_defaults);
82 extern void eigrp_cli_show_bandwidth(struct vty *vty, struct lyd_node *dnode,
83 bool show_defaults);
84 extern void eigrp_cli_show_hello_interval(struct vty *vty,
85 struct lyd_node *dnode,
86 bool show_defaults);
87 extern void eigrp_cli_show_hold_time(struct vty *vty, struct lyd_node *dnode,
88 bool show_defaults);
89 extern void eigrp_cli_show_summarize_address(struct vty *vty,
90 struct lyd_node *dnode,
91 bool show_defaults);
92 extern void eigrp_cli_show_authentication(struct vty *vty,
93 struct lyd_node *dnode,
94 bool show_defaults);
95 extern void eigrp_cli_show_keychain(struct vty *vty, struct lyd_node *dnode,
96 bool show_defaults);
97 extern void eigrp_cli_init(void);
98
99 /* eigrp_northbound.c */
100 extern const struct frr_yang_module_info frr_eigrpd_info;
101
102 #endif /* _ZEBRA_EIGRPD_H */