]> git.puffer.fish Git - mirror/frr.git/commitdiff
eigrpd: Move `struct eigrp_master` to eigrpd.h
authorDonnie Savage <diivious@hotmail.com>
Fri, 11 Dec 2020 20:16:58 +0000 (15:16 -0500)
committerDonald Sharp <sharpd@nvidia.com>
Tue, 12 Jan 2021 12:43:32 +0000 (07:43 -0500)
The `struct eigrp_master` data structure belongs in the
eigrpd.h file.  Move it over, in addition start forward
thinking about the different TLV versions so we can
track them better in the future.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Signed-off-by: Donnie Savage <diivious@hotmail.com>
eigrpd/eigrp_structs.h
eigrpd/eigrpd.h

index 82bddaaae3bbd5dbe51ecb6f857776278b5e48a3..3ac6d0261f0ba4f0238a4883185da09a6edc398b 100644 (file)
 #include "eigrpd/eigrp_const.h"
 #include "eigrpd/eigrp_macros.h"
 
-/* EIGRP master for system wide configuration and variables. */
-struct eigrp_master {
-       /* EIGRP instance. */
-       struct list *eigrp;
-
-       /* EIGRP thread master. */
-       struct thread_master *master;
-
-       /* Zebra interface list. */
-       struct list *iflist;
-
-       /* EIGRP start time. */
-       time_t start_time;
-
-       /* Various EIGRP global configuration. */
-       uint8_t options;
-
-#define EIGRP_MASTER_SHUTDOWN (1 << 0) /* deferred-shutdown */
-};
-
 struct eigrp_metrics {
        uint32_t delay;
        uint32_t bandwidth;
index 6b4d45d1fc271e45a15ac83b8c60b5a56582651e..bcf7c4eb2bf220820f60441894ba547f90cb7eab 100644 (file)
 #define EIGRP_MAJOR_VERSION     1
 #define EIGRP_MINOR_VERSION    2
 
+#define EIGRP_TLV_32B_VERSION 1 /* Original 32bit scaled metrics */
+#define EIGRP_TLV_64B_VERSION 2 /* Current 64bit 'wide' metrics */
+#define EIGRP_TLV_MTR_VERSION 3 /* MTR TLVs with 32bit metric *Not Supported */
+#define EIGRP_TLV_SAF_VERSION 4 /* SAF TLVs with 64bit metric *Not Supported */
+
+struct eigrp_master {
+       /* EIGRP instance. */
+       struct list *eigrp;
+
+       /* EIGRP thread master. */
+       struct thread_master *master;
+
+       /* Zebra interface list. */
+       struct list *iflist;
+
+       /* EIGRP start time. */
+       time_t start_time;
+
+       /* Various EIGRP global configuration. */
+       uint8_t options;
+
+#define EIGRP_MASTER_SHUTDOWN (1 << 0) /* deferred-shutdown */
+};
+
 /* Extern variables. */
 extern struct zclient *zclient;
 extern struct thread_master *master;
@@ -46,11 +70,11 @@ extern struct zebra_privs_t eigrpd_privs;
 /* Prototypes */
 extern void eigrp_master_init(void);
 extern void eigrp_terminate(void);
-extern void eigrp_finish_final(struct eigrp *);
-extern void eigrp_finish(struct eigrp *);
+extern void eigrp_finish_final(struct eigrp *eigrp);
+extern void eigrp_finish(struct eigrp *eigrp);
 extern struct eigrp *eigrp_get(uint16_t as, vrf_id_t vrf_id);
 extern struct eigrp *eigrp_lookup(vrf_id_t vrf_id);
-extern void eigrp_router_id_update(struct eigrp *);
+extern void eigrp_router_id_update(struct eigrp *eigrp);
 
 /* eigrp_cli.c */
 extern void eigrp_cli_show_header(struct vty *vty, struct lyd_node *dnode,