1 // SPDX-License-Identifier: GPL-2.0-or-later
4 * Copyright (C) 2013-2014
13 #ifndef _ZEBRA_EIGRPD_H
14 #define _ZEBRA_EIGRPD_H
22 DECLARE_MGROUP(EIGRPD
);
24 /* Set EIGRP version is "classic" - wide metrics comes next */
25 #define EIGRP_MAJOR_VERSION 1
26 #define EIGRP_MINOR_VERSION 2
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 */
37 /* EIGRP thread master. */
38 struct event_loop
*master
;
40 /* Zebra interface list. */
43 /* EIGRP start time. */
46 /* Various EIGRP global configuration. */
49 #define EIGRP_MASTER_SHUTDOWN (1 << 0) /* deferred-shutdown */
52 /* Extern variables. */
53 extern struct zclient
*zclient
;
54 extern struct event_loop
*master
;
55 extern struct eigrp_master
*eigrp_om
;
56 extern struct zebra_privs_t eigrpd_privs
;
59 extern void eigrp_master_init(void);
60 extern void eigrp_terminate(void);
61 extern void eigrp_finish_final(struct eigrp
*eigrp
);
62 extern void eigrp_finish(struct eigrp
*eigrp
);
63 extern struct eigrp
*eigrp_get(uint16_t as
, vrf_id_t vrf_id
);
64 extern struct eigrp
*eigrp_lookup(vrf_id_t vrf_id
);
65 extern void eigrp_router_id_update(struct eigrp
*eigrp
);
67 #endif /* _ZEBRA_EIGRPD_H */