diff options
Diffstat (limited to 'isisd/isis_adjacency.h')
| -rw-r--r-- | isisd/isis_adjacency.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/isisd/isis_adjacency.h b/isisd/isis_adjacency.h index 98bb9838fa..2c3bd19af8 100644 --- a/isisd/isis_adjacency.h +++ b/isisd/isis_adjacency.h @@ -25,6 +25,8 @@ #ifndef _ZEBRA_ISIS_ADJACENCY_H #define _ZEBRA_ISIS_ADJACENCY_H +#include "isisd/isis_tlvs.h" + enum isis_adj_usage { ISIS_ADJ_NONE, ISIS_ADJ_LEVEL1, @@ -91,6 +93,8 @@ struct isis_adjacency { u_int16_t hold_time; /* entryRemainingTime */ u_int32_t last_upd; u_int32_t last_flap; /* last time the adj flapped */ + enum isis_threeway_state threeway_state; + uint32_t ext_circuit_id; int flaps; /* number of adjacency flaps */ struct thread *t_expire; /* expire after hold_time */ struct isis_circuit *circuit; /* back pointer */ @@ -98,12 +102,17 @@ struct isis_adjacency { unsigned int mt_count; /* Number of entries in mt_set */ }; +struct isis_threeway_adj; + struct isis_adjacency *isis_adj_lookup(const u_char *sysid, struct list *adjdb); struct isis_adjacency *isis_adj_lookup_snpa(const u_char *ssnpa, struct list *adjdb); struct isis_adjacency *isis_new_adj(const u_char *id, const u_char *snpa, int level, struct isis_circuit *circuit); void isis_delete_adj(void *adj); +void isis_adj_process_threeway(struct isis_adjacency *adj, + struct isis_threeway_adj *tw_adj, + enum isis_adj_usage adj_usage); void isis_adj_state_change(struct isis_adjacency *adj, enum isis_adj_state state, const char *reason); void isis_adj_print(struct isis_adjacency *adj); |
