]> git.proxmox.com Git - mirror_frr.git/blob - eigrpd/eigrp_interface.h
Merge pull request #12798 from donaldsharp/rib_match_multicast
[mirror_frr.git] / eigrpd / eigrp_interface.h
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3 * EIGRP Interface Functions.
4 * Copyright (C) 2013-2016
5 * Authors:
6 * Donnie Savage
7 * Jan Janovic
8 * Matej Perina
9 * Peter Orsag
10 * Peter Paluch
11 * Frantisek Gazo
12 * Tomas Hvorkovy
13 * Martin Kontsek
14 * Lukas Koribsky
15 */
16
17 #ifndef _ZEBRA_EIGRP_INTERFACE_H_
18 #define _ZEBRA_EIGRP_INTERFACE_H_
19
20 /*Prototypes*/
21 extern void eigrp_if_init(void);
22 extern int eigrp_if_new_hook(struct interface *);
23 extern int eigrp_if_delete_hook(struct interface *);
24
25 extern bool eigrp_if_is_passive(struct eigrp_interface *ei);
26 extern void eigrp_del_if_params(struct eigrp_if_params *);
27 extern struct eigrp_interface *eigrp_if_new(struct eigrp *, struct interface *,
28 struct prefix *);
29 extern int eigrp_if_up(struct eigrp_interface *);
30 extern void eigrp_if_stream_set(struct eigrp_interface *);
31 extern void eigrp_if_set_multicast(struct eigrp_interface *);
32 extern uint8_t eigrp_default_iftype(struct interface *);
33 extern void eigrp_if_free(struct eigrp_interface *, int);
34 extern int eigrp_if_down(struct eigrp_interface *);
35 extern void eigrp_if_stream_unset(struct eigrp_interface *);
36
37 extern struct eigrp_interface *eigrp_if_lookup_by_local_addr(struct eigrp *,
38 struct interface *,
39 struct in_addr);
40 extern struct eigrp_interface *eigrp_if_lookup_by_name(struct eigrp *,
41 const char *);
42
43 /* Simulate down/up on the interface. */
44 extern void eigrp_if_reset(struct interface *);
45
46 #endif /* ZEBRA_EIGRP_INTERFACE_H_ */