]> git.proxmox.com Git - mirror_frr.git/blame - eigrpd/eigrpd.h
eigrpd: Add `router eigrp AS [vrf NAME]` and various stuff
[mirror_frr.git] / eigrpd / eigrpd.h
CommitLineData
7f57883e
DS
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 *
896014f4
DL
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
7f57883e
DS
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. */
41extern struct zclient *zclient;
42extern struct thread_master *master;
43extern struct eigrp_master *eigrp_om;
f77519c8 44extern struct zebra_privs_t eigrpd_privs;
7f57883e
DS
45
46/* Prototypes */
d62a17ae 47extern void eigrp_master_init(void);
48extern void eigrp_terminate(void);
49extern void eigrp_finish_final(struct eigrp *);
50extern void eigrp_finish(struct eigrp *);
e9449961
DS
51extern struct eigrp *eigrp_get(uint16_t as, vrf_id_t vrf_id);
52extern struct eigrp *eigrp_lookup(vrf_id_t vrf_id);
d62a17ae 53extern void eigrp_router_id_update(struct eigrp *);
7f57883e 54
f25c244b
RZ
55/* eigrp_cli.c */
56extern void eigrp_cli_show_header(struct vty *vty, struct lyd_node *dnode,
57 bool show_defaults);
58extern void eigrp_cli_show_end_header(struct vty *vty, struct lyd_node *dnode);
59extern void eigrp_cli_show_router_id(struct vty *vty, struct lyd_node *dnode,
60 bool show_defaults);
61extern void eigrp_cli_show_passive_interface(struct vty *vty,
62 struct lyd_node *dnode,
63 bool show_defaults);
64extern void eigrp_cli_show_active_time(struct vty *vty, struct lyd_node *dnode,
65 bool show_defaults);
66extern void eigrp_cli_show_variance(struct vty *vty, struct lyd_node *dnode,
67 bool show_defaults);
68extern void eigrp_cli_show_maximum_paths(struct vty *vty,
69 struct lyd_node *dnode,
70 bool show_defaults);
71extern void eigrp_cli_show_metrics(struct vty *vty, struct lyd_node *dnode,
72 bool show_defaults);
73extern void eigrp_cli_show_network(struct vty *vty, struct lyd_node *dnode,
74 bool show_defaults);
75extern void eigrp_cli_show_neighbor(struct vty *vty, struct lyd_node *dnode,
76 bool show_defaults);
77extern void eigrp_cli_show_redistribute(struct vty *vty,
78 struct lyd_node *dnode,
79 bool show_defaults);
80extern void eigrp_cli_show_delay(struct vty *vty, struct lyd_node *dnode,
81 bool show_defaults);
82extern void eigrp_cli_show_bandwidth(struct vty *vty, struct lyd_node *dnode,
83 bool show_defaults);
84extern void eigrp_cli_show_hello_interval(struct vty *vty,
85 struct lyd_node *dnode,
86 bool show_defaults);
87extern void eigrp_cli_show_hold_time(struct vty *vty, struct lyd_node *dnode,
88 bool show_defaults);
89extern void eigrp_cli_show_summarize_address(struct vty *vty,
90 struct lyd_node *dnode,
91 bool show_defaults);
92extern void eigrp_cli_show_authentication(struct vty *vty,
93 struct lyd_node *dnode,
94 bool show_defaults);
95extern void eigrp_cli_show_keychain(struct vty *vty, struct lyd_node *dnode,
96 bool show_defaults);
97extern void eigrp_cli_init(void);
98
99/* eigrp_northbound.c */
100extern const struct frr_yang_module_info frr_eigrpd_info;
101
7f57883e 102#endif /* _ZEBRA_EIGRPD_H */