summaryrefslogtreecommitdiff
path: root/ospf6d/ospf6_lsa.h
diff options
context:
space:
mode:
Diffstat (limited to 'ospf6d/ospf6_lsa.h')
-rw-r--r--ospf6d/ospf6_lsa.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/ospf6d/ospf6_lsa.h b/ospf6d/ospf6_lsa.h
index 15b0d4ebbc..a8ed9132dd 100644
--- a/ospf6d/ospf6_lsa.h
+++ b/ospf6d/ospf6_lsa.h
@@ -28,6 +28,7 @@
#define OSPF6_LSA_DEBUG_ORIGINATE 0x02
#define OSPF6_LSA_DEBUG_EXAMIN 0x04
#define OSPF6_LSA_DEBUG_FLOOD 0x08
+#define OSPF6_LSA_DEBUG_AGGR 0x10
/* OSPF LSA Default metric values */
#define DEFAULT_DEFAULT_METRIC 20
@@ -51,6 +52,8 @@
(ospf6_lstype_debug(type) & OSPF6_LSA_DEBUG_EXAMIN)
#define IS_OSPF6_DEBUG_FLOOD_TYPE(type) \
(ospf6_lstype_debug(type) & OSPF6_LSA_DEBUG_FLOOD)
+#define IS_OSPF6_DEBUG_AGGR \
+ (ospf6_lstype_debug(OSPF6_LSTYPE_AS_EXTERNAL) & OSPF6_LSA_DEBUG_AGGR) \
/* LSA definition */
@@ -67,7 +70,8 @@
#define OSPF6_LSTYPE_TYPE_7 0x2007
#define OSPF6_LSTYPE_LINK 0x0008
#define OSPF6_LSTYPE_INTRA_PREFIX 0x2009
-#define OSPF6_LSTYPE_SIZE 0x000a
+#define OSPF6_LSTYPE_GRACE_LSA 0x000b
+#define OSPF6_LSTYPE_SIZE 0x000c
/* Masks for LS Type : RFC 2740 A.4.2.1 "LS type" */
#define OSPF6_LSTYPE_UBIT_MASK 0x8000
@@ -143,6 +147,9 @@ struct ospf6_lsa {
/* lsa instance */
struct ospf6_lsa_header *header;
+
+ /*For topo chg detection in HELPER role*/
+ bool tobe_acknowledged;
};
#define OSPF6_LSA_HEADERONLY 0x01
@@ -207,6 +214,14 @@ extern vector ospf6_lsa_handler_vector;
continue; \
}
+#define CHECK_LSA_TOPO_CHG_ELIGIBLE(type) \
+ ((type == OSPF6_LSTYPE_ROUTER) \
+ || (type == OSPF6_LSTYPE_NETWORK) \
+ || (type == OSPF6_LSTYPE_INTER_PREFIX) \
+ || (type == OSPF6_LSTYPE_INTER_ROUTER) \
+ || (type == OSPF6_LSTYPE_AS_EXTERNAL) \
+ || (type == OSPF6_LSTYPE_TYPE_7) \
+ || (type == OSPF6_LSTYPE_INTRA_PREFIX))
/* Function Prototypes */
extern const char *ospf6_lstype_name(uint16_t type);
@@ -263,4 +278,6 @@ extern void install_element_ospf6_debug_lsa(void);
extern void ospf6_lsa_age_set(struct ospf6_lsa *lsa);
extern void ospf6_flush_self_originated_lsas_now(struct ospf6 *ospf6);
extern struct ospf6 *ospf6_get_by_lsdb(struct ospf6_lsa *lsa);
+struct ospf6_lsa *ospf6_find_external_lsa(struct ospf6 *ospf6,
+ struct prefix *p);
#endif /* OSPF6_LSA_H */