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
37 DECLARE_MGROUP(EIGRPD
);
39 /* Set EIGRP version is "classic" - wide metrics comes next */
40 #define EIGRP_MAJOR_VERSION 1
41 #define EIGRP_MINOR_VERSION 2
43 #define EIGRP_TLV_32B_VERSION 1 /* Original 32bit scaled metrics */
44 #define EIGRP_TLV_64B_VERSION 2 /* Current 64bit 'wide' metrics */
45 #define EIGRP_TLV_MTR_VERSION 3 /* MTR TLVs with 32bit metric *Not Supported */
46 #define EIGRP_TLV_SAF_VERSION 4 /* SAF TLVs with 64bit metric *Not Supported */
52 /* EIGRP thread master. */
53 struct thread_master
*master
;
55 /* Zebra interface list. */
58 /* EIGRP start time. */
61 /* Various EIGRP global configuration. */
64 #define EIGRP_MASTER_SHUTDOWN (1 << 0) /* deferred-shutdown */
67 /* Extern variables. */
68 extern struct zclient
*zclient
;
69 extern struct thread_master
*master
;
70 extern struct eigrp_master
*eigrp_om
;
71 extern struct zebra_privs_t eigrpd_privs
;
74 extern void eigrp_master_init(void);
75 extern void eigrp_terminate(void);
76 extern void eigrp_finish_final(struct eigrp
*eigrp
);
77 extern void eigrp_finish(struct eigrp
*eigrp
);
78 extern struct eigrp
*eigrp_get(uint16_t as
, vrf_id_t vrf_id
);
79 extern struct eigrp
*eigrp_lookup(vrf_id_t vrf_id
);
80 extern void eigrp_router_id_update(struct eigrp
*eigrp
);
82 #endif /* _ZEBRA_EIGRPD_H */