Fixes for MPR plugin
authorHenning Rogge <henning.rogge@fkie.fraunhofer.de>
Mon, 8 May 2017 06:50:31 +0000 (08:50 +0200)
committerHenning Rogge <henning.rogge@fkie.fraunhofer.de>
Mon, 8 May 2017 06:50:31 +0000 (08:50 +0200)
src-plugins/nhdp/mpr/mpr.c
src-plugins/nhdp/mpr/neighbor-graph-flooding.c
src-plugins/nhdp/mpr/neighbor-graph-routing.c
src-plugins/nhdp/mpr/neighbor-graph.c

index 2d6e283..e18960a 100644 (file)
@@ -152,9 +152,8 @@ _update_nhdp_routing(struct nhdp_domain *domain, struct neighbor_graph *graph) {
     current_mpr_node = avl_find_element(&graph->set_mpr,
         &lnk->neigh->originator,
         current_mpr_node, _avl_node);
-    if (current_mpr_node != NULL) {
-      neighbordata->neigh_is_mpr = true;
-    }
+
+    neighbordata->neigh_is_mpr = current_mpr_node != NULL;
   }
 }
 
@@ -171,9 +170,8 @@ _update_nhdp_flooding(struct neighbor_graph *graph) {
     current_mpr_node = avl_find_element(&graph->set_mpr,
         &current_link->neigh->originator,
         current_mpr_node, _avl_node);
-    if (current_mpr_node != NULL) {
-      current_link->neigh_is_flooding_mpr = true;
-    }
+
+    current_link->neigh_is_flooding_mpr = current_mpr_node != NULL;
   }
 }
 
index 48af112..b9c7c19 100644 (file)
@@ -103,12 +103,9 @@ _is_reachable_link_tuple(const struct nhdp_domain *domain,
   struct nhdp_link_domaindata *linkdata;
 
   linkdata = nhdp_domain_get_linkdata(domain, lnk);
-  if (lnk->local_if == current_interface
+  return lnk->local_if == current_interface
       && linkdata->metric.out <= RFC7181_METRIC_MAX
-      && lnk->status == NHDP_LINK_SYMMETRIC) {
-    return true;
-  }
-  return false;
+      && lnk->status == NHDP_LINK_SYMMETRIC;
 }
 
 /**
@@ -121,11 +118,8 @@ _is_reachable_link_tuple(const struct nhdp_domain *domain,
 static bool
 _is_allowed_link_tuple(const struct nhdp_domain *domain,
     struct nhdp_interface *current_interface, struct nhdp_link *lnk) {
-  if (_is_reachable_link_tuple(domain, current_interface, lnk)
-      && lnk->flooding_willingness > RFC7181_WILLINGNESS_NEVER) {
-    return true;
-  }
-  return false;
+  return _is_reachable_link_tuple(domain, current_interface, lnk)
+      && lnk->flooding_willingness > RFC7181_WILLINGNESS_NEVER;
 }
 
 static bool
@@ -134,11 +128,8 @@ _is_allowed_2hop_tuple(const struct nhdp_domain *domain,
   struct nhdp_l2hop_domaindata *twohopdata;
 
   twohopdata = nhdp_domain_get_l2hopdata(domain, two_hop);
-  if (two_hop->link->local_if == current_interface
-      && twohopdata->metric.out <= RFC7181_METRIC_MAX) {
-    return true;
-  }
-  return false;
+  return two_hop->link->local_if == current_interface
+      && twohopdata->metric.out <= RFC7181_METRIC_MAX;
 }
 
 static uint32_t
index e3b41e8..dcbb4bc 100644 (file)
@@ -97,11 +97,8 @@ _is_reachable_neighbor_tuple(const struct nhdp_domain *domain, struct nhdp_neigh
   struct nhdp_neighbor_domaindata *neighbordata;
   neighbordata = nhdp_domain_get_neighbordata(domain, neigh);
 
-  if (neighbordata->metric.in <= RFC7181_METRIC_MAX
-      && neigh->symmetric > 0) {
-    return true;
-  }
-  return false;
+  return neighbordata->metric.in <= RFC7181_METRIC_MAX
+      && neigh->symmetric > 0;
 }
 
 /**
@@ -113,12 +110,11 @@ _is_reachable_neighbor_tuple(const struct nhdp_domain *domain, struct nhdp_neigh
 static bool
 _is_allowed_neighbor_tuple(const struct nhdp_domain *domain,
     struct nhdp_neighbor *neigh) {
-  if (_is_reachable_neighbor_tuple(domain, neigh)) {
-    // FIXME Willingness handling appears to be broken; routing willingness is always 0
-    //      && neigh->_domaindata[0].willingness > RFC5444_WILLINGNESS_NEVER) {
-    return true;
-  }
-  return false;
+  struct nhdp_neighbor_domaindata *neighbordata;
+
+  neighbordata = nhdp_domain_get_neighbordata(domain, neigh);
+  return _is_reachable_neighbor_tuple(domain, neigh)
+      && neighbordata->willingness > RFC7181_WILLINGNESS_NEVER;
 }
 
 static bool
@@ -132,10 +128,7 @@ static bool
 _is_allowed_2hop_tuple(const struct nhdp_domain *domain, struct nhdp_l2hop *two_hop) {
   struct nhdp_l2hop_domaindata *neighdata;
   neighdata = nhdp_domain_get_l2hopdata(domain, two_hop);
-  if (neighdata->metric.in <= RFC7181_METRIC_MAX) {
-    return true;
-  }
-  return false;
+  return neighdata->metric.in <= RFC7181_METRIC_MAX;
 }
 
 /**
index 62bc283..77c378a 100644 (file)
@@ -171,10 +171,7 @@ mpr_is_mpr(struct neighbor_graph *graph, struct netaddr *addr) {
 
   tmp_mpr_node = avl_find_element(&graph->set_mpr,
       addr, tmp_mpr_node, _avl_node);
-  if (tmp_mpr_node != NULL) {
-    return true;
-  }
-  return false;
+  return tmp_mpr_node != NULL;
 }
 
 uint32_t
@@ -212,7 +209,7 @@ mpr_calculate_minimal_d_z_y(const struct nhdp_domain *domain,
                min_d_z_y);
   }
   else {
-    OONF_DEBUG(LOG_MPR, "minimal d_z_y(%s) = infinte",
+    OONF_DEBUG(LOG_MPR, "minimal d_z_y(%s) = infinite",
                netaddr_to_string(&nbuf1, &y->addr));
   }
 #endif