Fix MTR update callbacks v0.14.0
authorHenning Rogge <henning.rogge@fkie.fraunhofer.de>
Mon, 8 May 2017 08:18:58 +0000 (10:18 +0200)
committerHenning Rogge <henning.rogge@fkie.fraunhofer.de>
Mon, 8 May 2017 08:18:58 +0000 (10:18 +0200)
src-plugins/nhdp/nhdp/nhdp_domain.c
src-plugins/olsrv2/olsrv2/olsrv2_routing.c

index 86e41f0..3476e84 100644 (file)
@@ -507,6 +507,7 @@ _recalculate_metrics(struct nhdp_domain *domain, struct nhdp_neighbor *neigh, bo
     list_for_each_element(&_domain_list, domain, _node) {
       changed_metric |= _recalculate_metrics(domain, neigh, false);
     }
+    domain = NULL;
   }
   else if (!neigh) {
     list_for_each_element(nhdp_db_get_neigh_list(), neigh, _global_node) {
index 210195e..925375c 100644 (file)
@@ -464,6 +464,13 @@ olsrv2_routing_get_filter_list(void) {
  */
 static void
 _cb_mpr_update(struct nhdp_domain *domain) {
+  if (!domain) {
+    list_for_each_element(nhdp_domain_get_list(), domain, _node) {
+      _cb_mpr_update(domain);
+    }
+    return;
+  }
+
   OONF_INFO(LOG_OLSRV2, "MPR update for domain %u", domain->index);
 
   _update_ansn = true;
@@ -477,6 +484,13 @@ _cb_mpr_update(struct nhdp_domain *domain) {
  */
 static void
 _cb_metric_update(struct nhdp_domain *domain) {
+  if (!domain) {
+    list_for_each_element(nhdp_domain_get_list(), domain, _node) {
+      _cb_metric_update(domain);
+    }
+    return;
+  }
+
   OONF_INFO(LOG_OLSRV2, "Metric update for domain %u", domain->index);
 
   _update_ansn = true;