Cleanups and stuff
authorAndreas Tonnesen <andreto@olsr.org>
Wed, 1 Dec 2004 18:16:46 +0000 (18:16 +0000)
committerAndreas Tonnesen <andreto@olsr.org>
Wed, 1 Dec 2004 18:16:46 +0000 (18:16 +0000)
lib/dyn_gw/Makefile
lib/dyn_gw/README_DYN_GW
lib/dyn_gw/src/olsrd_dyn_gw.c
lib/dyn_gw/src/olsrd_plugin.c
lib/dyn_gw/src/olsrd_plugin.h

index 39c6106..a32af8a 100644 (file)
@@ -1,6 +1,6 @@
 
 CC ?= gcc
-NAME ?= olsrd_dyn_gw.so.0.2
+NAME ?= olsrd_dyn_gw.so.0.3
 LIBDIR ?= $(INSTALL_PREFIX)/usr/lib
 # -fPIC creates position independent code
 MYFLAGS ?= -Wall -fPIC -g # Uncomment -g for debugging
index f3df465..62a8d10 100644 (file)
@@ -16,6 +16,27 @@ TO BE UPDATED....
 
 30.03.2004
 
+HOW TO USE
+
+Add an entry like this to your olsrd configuration file:
+
+LoadPlugin "olsrd_dyn_gw.so.0.3"
+{
+    # how often to look for a inet gw, in seconds
+    # defaults to 5 secs, if commented out
+    PlParam     "Interval"   "40"
+    
+    # if one or more IPv4 addresses are given, do a ping on these in
+    # descending order to validate that there is not only an entry in
+    # routing table, but also a real internet connection. If any of
+    # these addresses could be pinged successfully, the test was
+    # succesful, i.e. if the ping on the 1st address was successful,the
+    # 2nd won't be pinged
+    PlParam     "Ping"       "141.1.1.1"
+    PlParam     "Ping"       "194.25.2.129"
+}
+
+
 ABOUT
 
 Plugin is IPv4 only and it only runs on Linux with the libpthread
index 435bc5f..5d70ed1 100644 (file)
@@ -37,7 +37,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: olsrd_dyn_gw.c,v 1.8 2004/12/01 07:32:44 kattemat Exp $
+ * $Id: olsrd_dyn_gw.c,v 1.9 2004/12/01 18:16:46 kattemat Exp $
  */
 
 /*
@@ -97,6 +97,11 @@ struct ping_list *
 add_to_ping_list(char *ping_address, struct ping_list *the_ping_list)
 {
   struct ping_list *new = (struct ping_list *) malloc(sizeof(struct ping_list));
+  if(new == NULL)
+    {
+      fprintf(stderr, "DYN GW: Out of memory!\n");
+      exit(0);
+    }
   new->ping_address = strdup(ping_address);
   new->next = the_ping_list;
   return new;
index 3fe6a7b..1a77f4b 100644 (file)
@@ -37,7 +37,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: olsrd_plugin.c,v 1.9 2004/11/30 16:52:15 kattemat Exp $
+ * $Id: olsrd_plugin.c,v 1.10 2004/12/01 18:16:46 kattemat Exp $
  */
 
 #include "olsrd_plugin.h"
@@ -182,15 +182,6 @@ fetch_olsrd_data()
     retval = 0;
   }
 
-  /* Olsr malloc wrapper */
-  if(!olsr_plugin_io(GETF__OLSR_MALLOC, 
-                    &olsr_malloc, 
-                    sizeof(olsr_malloc)))
-  {
-    olsr_malloc = NULL;
-    retval = 0;
-  }
-
   /* Scheduler event registration */
   if(!olsr_plugin_io(GETF__OLSR_REGISTER_SCHEDULER_EVENT, 
                     &olsr_register_scheduler_event, 
index 724785f..02cd28c 100644 (file)
@@ -37,7 +37,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: olsrd_plugin.h,v 1.7 2004/11/30 16:52:15 kattemat Exp $
+ * $Id: olsrd_plugin.h,v 1.8 2004/12/01 18:16:46 kattemat Exp $
  */
 
 #ifndef _OLSRD_PLUGIN_DEFS
 
 #include "olsr_plugin_io.h"
 
-/* Use this as PARSER_TYPE to receive ALL messages! */
-#define PROMISCUOUS 0xffffffff
-
-
-/*****************************************************************************
- *                               Plugin data                                 *
- *                       ALTER THIS TO YOUR OWN NEED                         *
- *****************************************************************************/
 
 #define PLUGIN_NAME    "OLSRD dynamic gateway plugin"
-#define PLUGIN_VERSION "0.2"
-#define PLUGIN_AUTHOR   "Andreas T√łnnesen"
+#define PLUGIN_VERSION "0.3"
+#define PLUGIN_AUTHOR   "Various artists"
 #define MOD_DESC PLUGIN_NAME " " PLUGIN_VERSION " by " PLUGIN_AUTHOR
 #define PLUGIN_INTERFACE_VERSION 2
 
@@ -107,19 +99,6 @@ union hna_netmask
   olsr_u16_t v6;
 };
 
-/***************************************************************************
- *                 Functions provided by uolsrd_plugin.c                   *
- *                  Similar to their siblings in olsrd                     *
- ***************************************************************************/
-
-char ipv6_buf[100]; /* buffer for IPv6 inet_htop */
-
-/* All these could optionally be fetched from olsrd */
-
-char *
-olsr_ip_to_string(union olsr_ip_addr *);
-
-
 
 /****************************************************************************
  *                Function pointers to functions in olsrd                   *
@@ -135,9 +114,6 @@ int (*olsr_register_scheduler_event)(void (*)(void), void*, float, float, olsr_u
 /* olsrd printf wrapper */
 int (*olsr_printf)(int, char *, ...);
 
-/* olsrd malloc wrapper */
-void *(*olsr_malloc)(size_t, const char *);
-
 /* Add hna net IPv4 */
 void (*add_local_hna4_entry)(union olsr_ip_addr *, union hna_netmask *);