summaryrefslogtreecommitdiffstats
path: root/eigrpd/eigrp_structs.h
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2017-10-03 01:50:39 +0200
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-10-03 03:24:59 +0200
commitb748db674ab6838f31c47f394350ab850ba22748 (patch)
treed05a3a9a41969022fab410fd7c6108033906a1fc /eigrpd/eigrp_structs.h
parenteigrpd: Start fixing eigrp_interface (diff)
downloadfrr-b748db674ab6838f31c47f394350ab850ba22748.tar.xz
frr-b748db674ab6838f31c47f394350ab850ba22748.zip
eigrpd: Remove ei mapping to connected routes
We need one struct eigrp_interface per ifp structure not a ifp->info structure with a ei per connected. Some minor code cleanup as well with macros and their weird usage. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'eigrpd/eigrp_structs.h')
-rw-r--r--eigrpd/eigrp_structs.h35
1 files changed, 13 insertions, 22 deletions
diff --git a/eigrpd/eigrp_structs.h b/eigrpd/eigrp_structs.h
index 71761391a..4441f5d00 100644
--- a/eigrpd/eigrp_structs.h
+++ b/eigrpd/eigrp_structs.h
@@ -137,22 +137,17 @@ struct eigrp {
DECLARE_QOBJ_TYPE(eigrp)
struct eigrp_if_params {
- DECLARE_IF_PARAM(u_char, passive_interface); /* EIGRP Interface is
- passive: no sending or
- receiving (no need to
- join multicast groups)
- */
- DECLARE_IF_PARAM(u_int32_t, v_hello); /* Hello Interval */
- DECLARE_IF_PARAM(u_int16_t, v_wait); /* Router Hold Time Interval */
- DECLARE_IF_PARAM(u_char, type); /* type of interface */
- DECLARE_IF_PARAM(u_int32_t, bandwidth);
- DECLARE_IF_PARAM(u_int32_t, delay);
- DECLARE_IF_PARAM(u_char, reliability);
- DECLARE_IF_PARAM(u_char, load);
-
- DECLARE_IF_PARAM(char *,
- auth_keychain); /* Associated keychain with interface*/
- DECLARE_IF_PARAM(int, auth_type); /* EIGRP authentication type */
+ u_char passive_interface;
+ u_int32_t v_hello;
+ u_int16_t v_wait;
+ u_char type; /* type of interface */
+ u_int32_t bandwidth;
+ u_int32_t delay;
+ u_char reliability;
+ u_char load;
+
+ char *auth_keychain; /* Associated keychain with interface*/
+ int auth_type; /* EIGRP authentication type */
};
enum { MEMBER_ALLROUTERS = 0,
@@ -161,12 +156,10 @@ enum { MEMBER_ALLROUTERS = 0,
/*EIGRP interface structure*/
struct eigrp_interface {
- struct eigrp_if_params *def_params;
- struct route_table *eparams;
- struct route_table *eifs;
+ struct eigrp_if_params params;
/*multicast group refcnts */
- unsigned int membership_counts[MEMBER_MAX];
+ bool member_allrouters;
/* This interface's parent eigrp instance. */
struct eigrp *eigrp;
@@ -179,8 +172,6 @@ struct eigrp_interface {
/* To which multicast groups do we currently belong? */
- /* Configured varables. */
- struct eigrp_if_params *params;
u_char multicast_memberships;