]> git.proxmox.com Git - mirror_frr.git/blame - eigrpd/eigrpd.h
Merge pull request #12798 from donaldsharp/rib_match_multicast
[mirror_frr.git] / eigrpd / eigrpd.h
CommitLineData
acddc0ed 1// SPDX-License-Identifier: GPL-2.0-or-later
7f57883e
DS
2/*
3 * EIGRP main header.
4 * Copyright (C) 2013-2014
5 * Authors:
6 * Donnie Savage
7 * Jan Janovic
8 * Matej Perina
9 * Peter Orsag
10 * Peter Paluch
7f57883e
DS
11 */
12
13#ifndef _ZEBRA_EIGRPD_H
14#define _ZEBRA_EIGRPD_H
15
16#include <zebra.h>
17
18#include "filter.h"
19#include "log.h"
b4216e2c
DL
20#include "memory.h"
21
22DECLARE_MGROUP(EIGRPD);
7f57883e
DS
23
24/* Set EIGRP version is "classic" - wide metrics comes next */
25#define EIGRP_MAJOR_VERSION 1
26#define EIGRP_MINOR_VERSION 2
27
f9db3455
DS
28#define EIGRP_TLV_32B_VERSION 1 /* Original 32bit scaled metrics */
29#define EIGRP_TLV_64B_VERSION 2 /* Current 64bit 'wide' metrics */
30#define EIGRP_TLV_MTR_VERSION 3 /* MTR TLVs with 32bit metric *Not Supported */
31#define EIGRP_TLV_SAF_VERSION 4 /* SAF TLVs with 64bit metric *Not Supported */
32
33struct eigrp_master {
34 /* EIGRP instance. */
35 struct list *eigrp;
36
37 /* EIGRP thread master. */
38 struct thread_master *master;
39
40 /* Zebra interface list. */
41 struct list *iflist;
42
43 /* EIGRP start time. */
44 time_t start_time;
45
46 /* Various EIGRP global configuration. */
47 uint8_t options;
48
49#define EIGRP_MASTER_SHUTDOWN (1 << 0) /* deferred-shutdown */
50};
51
7f57883e
DS
52/* Extern variables. */
53extern struct zclient *zclient;
54extern struct thread_master *master;
55extern struct eigrp_master *eigrp_om;
f77519c8 56extern struct zebra_privs_t eigrpd_privs;
7f57883e
DS
57
58/* Prototypes */
d62a17ae 59extern void eigrp_master_init(void);
60extern void eigrp_terminate(void);
f9db3455
DS
61extern void eigrp_finish_final(struct eigrp *eigrp);
62extern void eigrp_finish(struct eigrp *eigrp);
e9449961
DS
63extern struct eigrp *eigrp_get(uint16_t as, vrf_id_t vrf_id);
64extern struct eigrp *eigrp_lookup(vrf_id_t vrf_id);
f9db3455 65extern void eigrp_router_id_update(struct eigrp *eigrp);
7f57883e
DS
66
67#endif /* _ZEBRA_EIGRPD_H */