Improve hello interval overwriting
authorHenning Rogge <henning.rogge@fkie.fraunhofer.de>
Wed, 23 May 2018 14:42:51 +0000 (16:42 +0200)
committerHenning Rogge <henning.rogge@fkie.fraunhofer.de>
Wed, 23 May 2018 14:42:51 +0000 (16:42 +0200)
include/oonf/nhdp/nhdp/nhdp_interfaces.h
src/nhdp/nhdp/nhdp.c
src/nhdp/nhdp/nhdp_interfaces.c

index a79d6ff..2253d7b 100644 (file)
@@ -79,6 +79,9 @@ struct nhdp_interface {
   struct os_interface_listener os_if_listener;
 
   /*! interval between two hellos sent through this interface */
+  uint64_t hello_interval;
+
+  /*! 'corrected' hello interval */
   uint64_t refresh_interval;
 
   /*! interval until a hello is considered lost */
index 4f13ab5..dd1609e 100644 (file)
@@ -122,7 +122,7 @@ static struct cfg_schema_entry _interface_entries[] = {
   CFG_MAP_CLOCK_MIN(
     nhdp_interface, validity_time, "hello_validity", "20.0", "Validity time for NHDP Hello Messages", 100),
   CFG_MAP_CLOCK_MIN(
-    nhdp_interface, refresh_interval, "hello_interval", "2.0", "Time interval between two NHDP Hello Messages", 100),
+    nhdp_interface, hello_interval, "hello_interval", "2.0", "Time interval between two NHDP Hello Messages", 100),
 };
 
 static struct cfg_schema_section _interface_section = {
index cb59fcc..cec2415 100644 (file)
@@ -324,7 +324,7 @@ nhdp_interface_apply_settings(struct nhdp_interface *interf) {
   /* calculate interval and validity time */
   itime = interf->overwrite_hello_interval;
   if (!itime) {
-    itime = interf->refresh_interval;
+    itime = interf->hello_interval;
   }
   vtime = interf->overwrite_hello_validity;
   if (!vtime) {
@@ -334,6 +334,8 @@ nhdp_interface_apply_settings(struct nhdp_interface *interf) {
   /* reset hello generation frequency */
   oonf_timer_set(&interf->_hello_timer, itime);
 
+  interf->refresh_interval = itime;
+
   /* just copy validity_time for now */
   interf->h_hold_time = vtime;
   interf->l_hold_time = vtime;