Various code cleanups
authorAndreas Tonnesen <andreto@olsr.org>
Tue, 2 Nov 2004 21:14:12 +0000 (21:14 +0000)
committerAndreas Tonnesen <andreto@olsr.org>
Tue, 2 Nov 2004 21:14:12 +0000 (21:14 +0000)
src/defs.h
src/interfaces.c
src/interfaces.h
src/linux/ifnet.c
src/linux/kernel_routes.c
src/main.c
src/main.h [deleted file]
src/routing_table.h
src/socket_parser.c

index 7ef28d7..9e67c7b 100644 (file)
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: defs.h,v 1.18 2004/11/01 20:13:27 kattemat Exp $
+ * $Id: defs.h,v 1.19 2004/11/02 21:14:10 kattemat Exp $
  *
  */
 
 #ifndef _OLSR_DEFS
 #define _OLSR_DEFS
 
-
+/* Common includes */
 #include <sys/time.h>
-#include <net/route.h>
-
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <unistd.h>
 #include <errno.h>
-#include <time.h>
 
 #define UP             1
 #define DOWN           0
@@ -51,6 +47,9 @@
 #define VERSION "0.4.8-pre"
 #define SOFTWARE_VERSION "olsr.org - " VERSION
 
+#define OLSRD_CONF_FILE_NAME "olsrd.conf"
+#define OLSRD_GLOBAL_CONF_FILE "/etc/" OLSRD_CONF_FILE_NAME
+
 #define        HOPCNT_MAX              16      /* maximum hops number */
 #define        MAXMESSAGESIZE          1500    /* max broadcast size */
 #define UDP_IP_HDRSIZE          28
@@ -134,11 +133,10 @@ struct timeval fwdtimer[MAX_IFS]; /* forwarding timer */
 
 extern struct timeval hold_time_fwd;
 
-extern struct sockaddr_in6 null_addr6;
-
+struct sockaddr_in6 null_addr6;      /* Address used as Originator Address IPv6 */
 
-extern int del_gws;
-extern int minsize;
+int del_gws;
+int minsize;
 
 
 extern struct ip_tunnel_parm ipt;
index 9b6c862..12d965f 100644 (file)
@@ -19,7 +19,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: interfaces.c,v 1.10 2004/11/01 20:13:27 kattemat Exp $
+ * $Id: interfaces.c,v 1.11 2004/11/02 21:14:12 kattemat Exp $
  *
  */
 
@@ -27,7 +27,6 @@
 #include "interfaces.h"
 #include "ifnet.h"
 #include "scheduler.h"
-#include "main.h"
 
 /**
  *Do initialization of various data needed for
index ff9ffa3..3f1722a 100644 (file)
@@ -20,7 +20,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: interfaces.h,v 1.10 2004/10/19 19:23:00 kattemat Exp $
+ * $Id: interfaces.h,v 1.11 2004/11/02 21:14:12 kattemat Exp $
  *
  */
 
@@ -115,11 +115,8 @@ struct ifchgf *ifchgf_list;
 #define IFCHG_IF_UPDATE        3
 
 /* Variables needed to set up new sockets */
-extern int precedence;
-extern int tos_bits;
 extern int bufspace;
 
-
 /* The interface linked-list */
 struct interface *ifnet;
 
index 6a99f3a..4dd535a 100644 (file)
@@ -20,7 +20,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: ifnet.c,v 1.15 2004/11/01 20:04:12 tlopatic Exp $
+ * $Id: ifnet.c,v 1.16 2004/11/02 21:14:12 kattemat Exp $
  *
  */
 
 #define SIOCGIWSENS    0x8B09          /* get sensitivity (dBm) */
 
 
-#include "../interfaces.h"
-#include "../ifnet.h"
-#include "../defs.h"
-#include "../net_os.h"
-#include "../socket_parser.h"
-#include "../parser.h"
-#include "../scheduler.h"
-#include "../generate_msg.h"
-#include "../mantissa.h"
+#include "interfaces.h"
+#include "ifnet.h"
+#include "defs.h"
+#include "net_os.h"
+#include "socket_parser.h"
+#include "parser.h"
+#include "scheduler.h"
+#include "generate_msg.h"
+#include "mantissa.h"
 #include <signal.h>
 #include <net/if.h>
 #include <net/if_arp.h>
+#include <netinet/ip.h>
 #include <asm/types.h>
 #include <arpa/inet.h>
 #include <netdb.h>
-
+#include <unistd.h>
 
 static int bufspace = 127*1024;        /* max. input buffer size to request */
 
@@ -509,6 +510,8 @@ chk_if_up(struct olsr_if *iface, int debuglvl)
   struct ifreq ifr;
   union olsr_ip_addr null_addr;
   struct ifchgf *tmp_ifchgf_list;
+  int precedence = IPTOS_PREC(olsr_cnf->tos);
+  int tos_bits = IPTOS_TOS(olsr_cnf->tos);
 
   memset(&ifr, 0, sizeof(struct ifreq));
   strncpy(ifr.ifr_name, iface->name, IFNAMSIZ);
index 0723e8a..e794b87 100644 (file)
@@ -19,7 +19,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: kernel_routes.c,v 1.8 2004/10/19 20:03:15 kattemat Exp $
+ * $Id: kernel_routes.c,v 1.9 2004/11/02 21:14:12 kattemat Exp $
  *
  */
 
@@ -29,6 +29,7 @@
 #include "../olsr.h"
 #include <net/if.h>
 #include <sys/ioctl.h>
+#include <unistd.h>
 
 /**
  *Insert a route in the kernel routing table
index 2a82e35..e0ef6b5 100644 (file)
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: main.c,v 1.20 2004/11/01 20:13:27 kattemat Exp $
+ * $Id: main.c,v 1.21 2004/11/02 21:14:12 kattemat Exp $
  *
  */
 
+#include <unistd.h>
+#include <signal.h>
+#include <sys/stat.h>
 
-#include "main.h"
+#include "defs.h"
 #include "interfaces.h"
-#include "mantissa.h"
 #include "local_hna_set.h"
-#include "olsr.h"
 #include "scheduler.h"
 #include "parser.h"
 #include "generate_msg.h"
@@ -50,7 +51,7 @@ void ListInterfaces(void);
 #endif
 
 /*
- * Begin: Local function prototypes
+ * Local function prototypes
  */
 
 static void
@@ -62,10 +63,17 @@ set_default_values(void);
 static int
 set_default_ifcnfs(struct olsr_if *, struct if_config_options *);
 
+static void
+olsr_shutdown(int);
+
 /*
- * End: Local function prototypes
+ * Local variable declarations 
  */
 
+extern pthread_mutex_t mutex;
+pthread_t main_thread;
+
+
 /**
  * Main entrypoint
  */
@@ -162,7 +170,7 @@ main(int argc, char *argv[])
 
   if ((argc > 1) && (strcmp(argv[1], "-f") == 0)) 
     {
-      argv++, argc--;
+      argv++; argc--;
       if(argc == 1)
        {
          fprintf(stderr, "You must provide a filename when using the -f switch!\n");
@@ -176,18 +184,19 @@ main(int argc, char *argv[])
        }
                 
       strncpy(conf_file_name, argv[1], FILENAME_MAX);
-      argv++, argc--;
+      argv++; argc--;
 
     }
 
   /*
    * set up configuration prior to processing commandline options
    */
-
-  get_config(conf_file_name);
-  default_ifcnf = get_default_if_config();
-  
-  if(default_ifcnf == NULL)
+  if((olsr_cnf = olsrd_parse_cnf(conf_file_name)) == NULL)
+    {
+      printf("Using default config values(no configfile)\n");
+      olsr_cnf = olsrd_get_default_cnf();
+    }
+  if((default_ifcnf = get_default_if_config()) == NULL)
     {
       fprintf(stderr, "No default ifconfig found!\n");
       exit(EXIT_FAILURE);
@@ -197,7 +206,7 @@ main(int argc, char *argv[])
    * Process olsrd options.
    */
   
-  argv++, argc--;
+  argv++; argc--;
   while (argc > 0 && **argv == '-')
     {
 #ifdef WIN32
@@ -214,7 +223,7 @@ main(int argc, char *argv[])
       /*
        *Configfilename
        */
-      if (strcmp(*argv, "-f") == 0) 
+      if(strcmp(*argv, "-f") == 0) 
        {
          fprintf(stderr, "Configfilename must ALWAYS be first argument!\n\n");
          olsr_exit(__func__, EXIT_FAILURE);
@@ -223,59 +232,59 @@ main(int argc, char *argv[])
       /*
        *Use IP version 6
        */
-      if (strcmp(*argv, "-ipv6") == 0) 
+      if(strcmp(*argv, "-ipv6") == 0) 
        {
          olsr_cnf->ip_version = AF_INET6;
-         argv++, argc--;
+         argv++; argc--;
          continue;
        }
 
       /*
        *Broadcast address
        */
-      if (strcmp(*argv, "-bcast") == 0) 
+      if(strcmp(*argv, "-bcast") == 0) 
        {
-         argv++, argc--;
-         if(argc == 0)
+         argv++; argc--;
+         if(!argc)
            {
              fprintf(stderr, "You must provide a broadcastaddr when using the -bcast switch!\n");
              olsr_exit(__func__, EXIT_FAILURE);
            }
-
          if (inet_aton(*argv, &in) == 0)
            {
              printf("Invalid broadcast address! %s\nSkipping it!\n", *argv);
              continue;
            }
-                
-         memcpy(&default_ifcnf->ipv4_broadcast.v4, &in.s_addr, sizeof(olsr_u32_t));
-
-
+         memcpy(&default_ifcnf->ipv4_broadcast.v4, &in.s_addr, sizeof(olsr_u32_t));  
          continue;
        }
-
+      
       /*
        * Enable additional debugging information to be logged.
        */
       if (strcmp(*argv, "-d") == 0) 
        {
-         argv++, argc--;
+         argv++; argc--;
          sscanf(*argv,"%d", &olsr_cnf->debug_level);
-         argv++, argc--;
+         argv++; argc--;
          continue;
        }
 
-
-
                
       /*
        * Interfaces to be used by olsrd.
        */
       if (strcmp(*argv, "-i") == 0) 
        {
-         argv++, argc--;
+         argv++; argc--;
+         if(!argc || (*argv[0] == '-'))
+           {
+             fprintf(stderr, "You must provide an interface label!\n");
+             olsr_exit(__func__, EXIT_FAILURE);
+           }
+
          queue_if(*argv);
-         argv++, argc--;
+         argv++; argc--;
 
          while((argc) && (**argv != '-'))
            {
@@ -291,10 +300,10 @@ main(int argc, char *argv[])
        */
       if (strcmp(*argv, "-hint") == 0) 
        {
-         argv++, argc--;
+         argv++; argc--;
          sscanf(*argv,"%f", &default_ifcnf->hello_params.emission_interval);
           default_ifcnf->hello_params.validity_time = default_ifcnf->hello_params.emission_interval * 3;
-         argv++, argc--;
+         argv++; argc--;
          continue;
        }
 
@@ -304,10 +313,10 @@ main(int argc, char *argv[])
        */
       if (strcmp(*argv, "-hnaint") == 0) 
        {
-         argv++, argc--;
+         argv++; argc--;
          sscanf(*argv,"%f", &default_ifcnf->hna_params.emission_interval);
           default_ifcnf->hna_params.validity_time = default_ifcnf->hna_params.emission_interval * 3;
-         argv++, argc--;
+         argv++; argc--;
          continue;
        }
 
@@ -317,10 +326,10 @@ main(int argc, char *argv[])
        */
       if (strcmp(*argv, "-midint") == 0) 
        {
-         argv++, argc--;
+         argv++; argc--;
          sscanf(*argv,"%f", &default_ifcnf->mid_params.emission_interval);
           default_ifcnf->mid_params.validity_time = default_ifcnf->mid_params.emission_interval * 3;
-         argv++, argc--;
+         argv++; argc--;
          continue;
        }
 
@@ -330,10 +339,10 @@ main(int argc, char *argv[])
        */
       if (strcmp(*argv, "-tcint") == 0) 
        {
-         argv++, argc--;
+         argv++; argc--;
          sscanf(*argv,"%f", &default_ifcnf->tc_params.emission_interval);
           default_ifcnf->tc_params.validity_time = default_ifcnf->tc_params.emission_interval * 3;
-         argv++, argc--;
+         argv++; argc--;
          continue;
        }
 
@@ -343,9 +352,9 @@ main(int argc, char *argv[])
        */
       if (strcmp(*argv, "-tos") == 0) 
        {
-         argv++, argc--;
+         argv++; argc--;
          sscanf(*argv,"%d",(int *)&olsr_cnf->tos);
-         argv++, argc--;
+         argv++; argc--;
          continue;
        }
 
@@ -355,9 +364,9 @@ main(int argc, char *argv[])
        */
       if (strcmp(*argv, "-T") == 0) 
        {
-         argv++, argc--;
+         argv++; argc--;
          sscanf(*argv,"%f",&olsr_cnf->pollrate);
-         argv++, argc--;
+         argv++; argc--;
          continue;
        }
 
@@ -367,7 +376,7 @@ main(int argc, char *argv[])
        */
       if (strcmp(*argv, "-dispin") == 0) 
        {
-         argv++, argc--;
+         argv++; argc--;
          disp_pack_in = 1;
          continue;
        }
@@ -377,7 +386,7 @@ main(int argc, char *argv[])
        */
       if (strcmp(*argv, "-dispout") == 0) 
        {
-         argv++, argc--;
+         argv++; argc--;
          disp_pack_out = 1;
          continue;
        }
@@ -388,7 +397,7 @@ main(int argc, char *argv[])
        */
       if (strcmp(*argv, "-ipc") == 0) 
        {
-         argv++, argc--;
+         argv++; argc--;
          olsr_cnf->open_ipc = 1;
          continue;
        }
@@ -399,7 +408,7 @@ main(int argc, char *argv[])
        */
       if (strcmp(*argv, "-llinfo") == 0) 
        {
-         argv++, argc--;
+         argv++; argc--;
          llinfo = 1;
          continue;
        }
@@ -409,7 +418,7 @@ main(int argc, char *argv[])
        */
       if (strcmp(*argv, "-tnl") == 0) 
        {
-         argv++, argc--;
+         argv++; argc--;
          use_tunnel = 1;
 
          continue;
@@ -420,7 +429,7 @@ main(int argc, char *argv[])
        */
       if (strcmp(*argv, "-multi") == 0) 
        {
-         argv++, argc--;
+         argv++; argc--;
          if(inet_pton(AF_INET6, *argv, &in6) < 0)
            {
              fprintf(stderr, "Failed converting IP address %s\n", *argv);
@@ -429,7 +438,7 @@ main(int argc, char *argv[])
 
          memcpy(&default_ifcnf->ipv6_multi_glbl, &in6, sizeof(struct in6_addr));
 
-         argv++, argc--;
+         argv++; argc--;
 
          continue;
        }
@@ -440,7 +449,7 @@ main(int argc, char *argv[])
        */
       if (strcmp(*argv, "-delgw") == 0) 
        {
-         argv++, argc--;
+         argv++; argc--;
          del_gws = 1;
          continue;
        }
@@ -481,12 +490,6 @@ main(int argc, char *argv[])
       olsr_exit(__func__, 0);
     }
 
-
-  /* Type of service */
-  precedence = IPTOS_PREC(olsr_cnf->tos);
-  tos_bits = IPTOS_TOS(olsr_cnf->tos);
-
-
   /*
    *enable ip forwarding on host
    */
@@ -504,21 +507,12 @@ main(int argc, char *argv[])
   /* Initialize dynamic willingness calculation */
   olsr_init_willingness();
 
-  /* printout settings */
-  olsr_printf(1, "\npolling interval = %0.2f \ntos setting = %d \ntc_redunadancy = %d\nmpr coverage = %d\n", olsr_cnf->pollrate, olsr_cnf->tos, olsr_cnf->tc_redundancy, olsr_cnf->mpr_coverage);
-      
-  if(olsr_cnf->use_hysteresis)
+  /* Sanity check for hysteresis values */
+  if((olsr_cnf->use_hysteresis) &&
+     (olsr_cnf->hysteresis_param.thr_high <= olsr_cnf->hysteresis_param.thr_low))
     {
-      olsr_printf(1, "hysteresis scaling factor = %0.2f\nhysteresis threshold high = %0.2f\nhysteresis threshold low  = %0.2f\n\n",
-                 olsr_cnf->hysteresis_param.scaling,
-                 olsr_cnf->hysteresis_param.thr_high,
-                 olsr_cnf->hysteresis_param.thr_low);
-
-      if(olsr_cnf->hysteresis_param.thr_high <= olsr_cnf->hysteresis_param.thr_low)
-       {
-         printf("Hysteresis threshold high lower than threshold low!!\nEdit the configuration file to fix this!\n\n");
-         olsr_exit(__func__, EXIT_FAILURE);
-       }
+      printf("Hysteresis threshold high lower than threshold low!!\nEdit the configuration file to fix this!\n\n");
+      olsr_exit(__func__, EXIT_FAILURE);
     }
 
   /*
@@ -756,39 +750,13 @@ print_usage()
   fprintf(stderr, "usage: olsrd [-f <configfile>] [ -i interface1 interface2 ... ]\n");
   fprintf(stderr, "  [-d <debug_level>] [-ipv6] [-tnl] [-multi <IPv6 multicast address>]\n"); 
   fprintf(stderr, "  [-bcast <broadcastaddr>] [-ipc] [-dispin] [-dispout] [-delgw]\n");
-  fprintf(stderr, "  [-midint <mid interval value (secs)>] [-hnaint <hna interval value (secs)>]\n");
   fprintf(stderr, "  [-hint <hello interval value (secs)>] [-tcint <tc interval value (secs)>]\n");
+  fprintf(stderr, "  [-midint <mid interval value (secs)>] [-hnaint <hna interval value (secs)>]\n");
   fprintf(stderr, "  [-tos value (int)] [-T <Polling Rate (secs)>]\n"); 
 
 }
 
 
-
-/**
- *Funtion that tries to read and parse the config
- *file "filename"
- *@param filename the name(full path) of the config file
- *@return negative on error
- */
-void
-get_config(char *filename)
-{
-
-  /*
-   * NB - CHECK IPv6 MULTICAST!
-   */
-  if((olsr_cnf = olsrd_parse_cnf(filename)) == NULL)
-    {
-      printf("Using default config values(no configfile)\n");
-      olsr_cnf = olsrd_get_default_cnf();
-    }
-
-  /* Add plugins */
-
-}
-
-
-
 /**
  * Sets the provided configuration on all unconfigured
  * interfaces
diff --git a/src/main.h b/src/main.h
deleted file mode 100644 (file)
index e22e08e..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * OLSR ad-hoc routing table management protocol
- * Copyright (C) 2004 Andreas T√łnnesen (andreto@ifi.uio.no)
- *
- * This file is part of the olsr.org OLSR daemon.
- *
- * olsr.org is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * olsr.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with olsr.org; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- * 
- * 
- * $Id: main.h,v 1.11 2004/11/01 20:13:27 kattemat Exp $
- *
- */
-
-#ifndef _OLSR_MAIN
-#define _OLSR_MAIN
-
-
-#include "defs.h"
-
-#include <pthread.h>
-#include <errno.h>
-#include <signal.h>
-#include <sys/utsname.h>
-#include <sys/stat.h>
-#include <arpa/inet.h>
-
-#define OLSRD_CONF_FILE_NAME "olsrd.conf"
-#define OLSRD_GLOBAL_CONF_FILE "/etc/" OLSRD_CONF_FILE_NAME
-
-
-struct sockaddr_in6 null_addr6;      /* Address used as Originator Address IPv6 */
-
-int     precedence;
-int     tos_bits;
-
-/* ID of the timer thread */
-pthread_t main_thread;
-
-int del_gws;
-
-int minsize;
-
-
-extern pthread_mutex_t mutex; /* Mutex for thread */
-
-void
-olsr_shutdown(int);
-
-void
-get_config(char *);
-
-#endif
index ca48e68..d71456a 100644 (file)
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: routing_table.h,v 1.7 2004/10/09 22:32:47 kattemat Exp $
+ * $Id: routing_table.h,v 1.8 2004/11/02 21:14:12 kattemat Exp $
  *
  */
 
 #ifndef _OLSR_ROUTING_TABLE
 #define _OLSR_ROUTING_TABLE
 
+#include <net/route.h>
+
 #include "hna_set.h"
 
 
index 73d7a9e..922cf80 100644 (file)
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: socket_parser.c,v 1.8 2004/10/18 13:13:37 kattemat Exp $
+ * $Id: socket_parser.c,v 1.9 2004/11/02 21:14:12 kattemat Exp $
  *
  */
 
-
+#include <unistd.h>
 #include "socket_parser.h"
 #include "olsr.h"
 #include "defs.h"