summaryrefslogtreecommitdiff
path: root/ospf6d/ospf6_message.c
diff options
context:
space:
mode:
authorRenato Westphal <renato@opensourcerouting.org>2023-03-03 13:09:20 -0300
committerRenato Westphal <renato@opensourcerouting.org>2023-05-08 21:47:44 -0300
commit0c05ceae008182616af113cb97005801532c3988 (patch)
treed97c1469064c84386b596733de2573abb6f41f43 /ospf6d/ospf6_message.c
parentd8cf2fc52fbcd3f4ada3931574b54f197d59b520 (diff)
ospfd, ospf6d: introduce the "graceful-restart hello-delay" command
This command makes unplanned GR more reliable by manipulating the sending of Grace-LSAs and Hello packets for a certain amount of time, increasing the chance that the neighboring routers are aware of the ongoing graceful restart before resuming normal OSPF operation. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Diffstat (limited to 'ospf6d/ospf6_message.c')
-rw-r--r--ospf6d/ospf6_message.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ospf6d/ospf6_message.c b/ospf6d/ospf6_message.c
index 14b02dac79..032988a91f 100644
--- a/ospf6d/ospf6_message.c
+++ b/ospf6d/ospf6_message.c
@@ -2244,6 +2244,10 @@ void ospf6_hello_send(struct event *thread)
oi = (struct ospf6_interface *)EVENT_ARG(thread);
+ /* Check if the GR hello-delay is active. */
+ if (oi->gr.hello_delay.t_grace_send)
+ return;
+
if (oi->state <= OSPF6_INTERFACE_DOWN) {
if (IS_OSPF6_DEBUG_MESSAGE(OSPF6_MESSAGE_TYPE_HELLO, SEND_HDR))
zlog_debug("Unable to send Hello on down interface %s",