summaryrefslogtreecommitdiff
path: root/ospfd/ospf_api.h
diff options
context:
space:
mode:
authorChristian Hopps <chopps@labn.net>2022-06-22 18:10:13 -0400
committerChristian Hopps <chopps@labn.net>2022-06-23 05:01:40 -0400
commit44038c7ae3fbadb0164821c19c74acbc9e30b8a6 (patch)
tree1ea2d20c7da4e0b7c1984f61cbc1cc6698dc6f2f /ospfd/ospf_api.h
parent2d088d8d535de7ef084b4583cdfda4b48a324a62 (diff)
ospfd: add router id support to ospf api
Signed-off-by: Christian Hopps <chopps@labn.net>
Diffstat (limited to 'ospfd/ospf_api.h')
-rw-r--r--ospfd/ospf_api.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/ospfd/ospf_api.h b/ospfd/ospf_api.h
index 50b0c21c77..51c8c52ce5 100644
--- a/ospfd/ospf_api.h
+++ b/ospfd/ospf_api.h
@@ -1,6 +1,7 @@
/*
* API message handling module for OSPF daemon and client.
* Copyright (C) 2001, 2002 Ralph Keller
+ * Copyright (c) 2022, LabN Consulting, L.L.C.
*
* This file is part of GNU Zebra.
*
@@ -118,6 +119,7 @@ extern void msg_fifo_free(struct msg_fifo *fifo);
#define MSG_SYNC_REACHABLE 7
#define MSG_SYNC_ISM 8
#define MSG_SYNC_NSM 9
+#define MSG_SYNC_ROUTER_ID 19
/* Messages from OSPF daemon. */
#define MSG_REPLY 10
@@ -129,6 +131,7 @@ extern void msg_fifo_free(struct msg_fifo *fifo);
#define MSG_ISM_CHANGE 16
#define MSG_NSM_CHANGE 17
#define MSG_REACHABLE_CHANGE 18
+#define MSG_ROUTER_ID_CHANGE 20
struct msg_register_opaque_type {
uint8_t lsatype;
@@ -260,6 +263,10 @@ struct msg_reachable_change {
struct in_addr router_ids[]; /* add followed by remove */
};
+struct msg_router_id_change {
+ struct in_addr router_id; /* this systems router id */
+};
+
/* We make use of a union to define a structure that covers all
possible API messages. This allows us to find out how much memory
needs to be reserved for the largest API message. */
@@ -279,6 +286,7 @@ struct apimsg {
struct msg_nsm_change nsm_change;
struct msg_lsa_change_notify lsa_change_notify;
struct msg_reachable_change reachable_change;
+ struct msg_router_id_change router_id_change;
} u;
};
@@ -338,6 +346,9 @@ extern struct msg *new_msg_reachable_change(uint32_t seqnum, uint16_t nadd,
struct in_addr *add,
uint16_t nremove,
struct in_addr *remove);
+
+extern struct msg *new_msg_router_id_change(uint32_t seqnr,
+ struct in_addr router_id);
/* string printing functions */
extern const char *ospf_api_errname(int errcode);
extern const char *ospf_api_typename(int msgtype);