gateway: merge the olsr_get_ipv{4,6}_inet_gateway functions
authorFerry Huberts <ferry.huberts@pelagic.nl>
Wed, 29 Aug 2012 09:52:52 +0000 (11:52 +0200)
committerFerry Huberts <ferry.huberts@pelagic.nl>
Wed, 10 Oct 2012 08:04:19 +0000 (10:04 +0200)
Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
lib/jsoninfo/src/olsrd_jsoninfo.c
lib/pud/src/uplinkGateway.c
lib/txtinfo/src/olsrd_txtinfo.c
src/gateway.c
src/gateway.h
src/gateway_default_handler.c

index 9a6fe45..5a4fe4c 100644 (file)
@@ -771,14 +771,14 @@ ipc_print_gateways(struct autobuf *abuf)
       continue;
     }
 
-    if (gw == olsr_get_ipv4_inet_gateway()) {
+    if (gw == olsr_get_inet_gateway(false)) {
       v4 = autoV4 ? "auto" : "s";
     } else if (gw->ipv4 && (olsr_cnf->ip_version == AF_INET || olsr_cnf->use_niit)
                && (olsr_cnf->smart_gw_allow_nat || !gw->ipv4nat)) {
       v4 = "u";
     }
 
-    if (gw == olsr_get_ipv6_inet_gateway()) {
+    if (gw == olsr_get_inet_gateway(true)) {
       v6 = autoV6 ? "auto" : "s";
     } else if (gw->ipv6 && olsr_cnf->ip_version == AF_INET6) {
       v6 = "u";
index 4a3296b..608072c 100644 (file)
@@ -60,7 +60,7 @@ void getBestUplinkGateway(union olsr_ip_addr * bestGateway) {
                        continue;
                }
 
-               if (gw == olsr_get_ipv4_inet_gateway()) {
+               if (gw == olsr_get_inet_gateway(false)) {
                        eval4 = true;
                } else if (gw->ipv4
                                && (olsr_cnf->ip_version == AF_INET || olsr_cnf->use_niit)
@@ -68,7 +68,7 @@ void getBestUplinkGateway(union olsr_ip_addr * bestGateway) {
                        eval4 = true;
                }
 
-               if (gw == olsr_get_ipv6_inet_gateway()) {
+               if (gw == olsr_get_inet_gateway(true)) {
                        eval6 = true;
                } else if (gw->ipv6 && olsr_cnf->ip_version == AF_INET6) {
                        eval6 = true;
index 04ecbba..438b0fa 100644 (file)
@@ -579,7 +579,7 @@ ipc_print_gateway(struct autobuf *abuf)
       continue;
     }
 
-    if (gw == olsr_get_ipv4_inet_gateway()) {
+    if (gw == olsr_get_inet_gateway(false)) {
       v4 = autoV4 ? 'a' : 's';
     }
     else if (gw->ipv4 && (olsr_cnf->ip_version == AF_INET || olsr_cnf->use_niit)
@@ -587,7 +587,7 @@ ipc_print_gateway(struct autobuf *abuf)
       v4 = 'u';
     }
 
-    if (gw == olsr_get_ipv6_inet_gateway()) {
+    if (gw == olsr_get_inet_gateway(true)) {
       v6 = autoV6 ? 'a' : 's';
     }
     else if (gw->ipv6 && olsr_cnf->ip_version == AF_INET6) {
index 751f518..99c191f 100644 (file)
@@ -537,19 +537,17 @@ bool olsr_set_inet_gateway(union olsr_ip_addr *originator, bool ipv4, bool ipv6)
 }
 
 /**
+ * @param if set to true then the IPv6 gateway is returned, otherwise the IPv4
+ * gateway is returned
  * @return a pointer to the gateway_entry of the current ipv4 internet gw or
  * NULL if not set.
  */
-struct gateway_entry *olsr_get_ipv4_inet_gateway(void) {
-  return current_ipv4_gw;
-}
+struct gateway_entry *olsr_get_inet_gateway(bool ipv6) {
+       if (ipv6) {
+               return current_ipv6_gw;
+       }
 
-/**
- * @return a pointer to the gateway_entry of the current ipv4 internet gw or
- * NULL if not set.
- */
-struct gateway_entry *olsr_get_ipv6_inet_gateway(void) {
-  return current_ipv6_gw;
+       return current_ipv4_gw;
 }
 
 #endif /* __linux__ */
index d6de40c..0ddaa6f 100644 (file)
@@ -160,7 +160,6 @@ void olsr_trigger_gatewayloss_check(void);
  */
 
 bool olsr_set_inet_gateway(union olsr_ip_addr *originator, bool ipv4, bool ipv6);
-struct gateway_entry *olsr_get_ipv4_inet_gateway(void);
-struct gateway_entry *olsr_get_ipv6_inet_gateway(void);
+struct gateway_entry *olsr_get_inet_gateway(bool ipv6);
 
 #endif /* GATEWAY_H_ */
index 3692a6f..62e0d77 100644 (file)
@@ -170,7 +170,7 @@ static void gw_default_choose_gateway(void) {
   if (olsr_cnf->smart_gw_thresh) {
     /* determine the path cost thresholds */
 
-    gw = olsr_get_ipv4_inet_gateway();
+    gw = olsr_get_inet_gateway(false);
     if (gw) {
       tc = olsr_lookup_tc_entry(&gw->originator);
       if (tc) {
@@ -179,7 +179,7 @@ static void gw_default_choose_gateway(void) {
         eval_cost_ipv4_threshold = true;
       }
     }
-    gw = olsr_get_ipv6_inet_gateway();
+    gw = olsr_get_inet_gateway(true);
     if (gw) {
       tc = olsr_lookup_tc_entry(&gw->originator);
       if (tc) {
@@ -362,9 +362,9 @@ static void gw_default_choosegw_handler(bool ipv4, bool ipv6) {
  * @param gw the gateway entry
  */
 static void gw_default_update_handler(struct gateway_entry *gw) {
-  bool v4changed = gw && (gw == olsr_get_ipv4_inet_gateway())
+  bool v4changed = gw && (gw == olsr_get_inet_gateway(false))
       && (!gw->ipv4 || (gw->ipv4nat && !olsr_cnf->smart_gw_allow_nat));
-  bool v6changed = gw && (gw == olsr_get_ipv6_inet_gateway()) && !gw->ipv6;
+  bool v6changed = gw && (gw == olsr_get_inet_gateway(true)) && !gw->ipv6;
 
   if (v4changed || v6changed) {
     gw_default_lookup_gateway(v4changed, v6changed);
@@ -377,8 +377,8 @@ static void gw_default_update_handler(struct gateway_entry *gw) {
  * @param gw the gateway entry
  */
 static void gw_default_delete_handler(struct gateway_entry *gw) {
-  bool isv4 = gw && (gw == olsr_get_ipv4_inet_gateway());
-  bool isv6 = gw && (gw == olsr_get_ipv6_inet_gateway());
+  bool isv4 = gw && (gw == olsr_get_inet_gateway(false));
+  bool isv6 = gw && (gw == olsr_get_inet_gateway(true));
 
   if (isv4 || isv6) {
     gw_default_lookup_gateway(isv4, isv6);