Fixed interface initialization bug regarding hemu
authorAndreas Tonnesen <andreto@olsr.org>
Fri, 3 Jun 2005 08:00:55 +0000 (08:00 +0000)
committerAndreas Tonnesen <andreto@olsr.org>
Fri, 3 Jun 2005 08:00:55 +0000 (08:00 +0000)
src/interfaces.c
src/interfaces.h
src/main.c

index 20f81e8..bdd807e 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: interfaces.c,v 1.26 2005/05/30 13:13:37 kattemat Exp $
+ * $Id: interfaces.c,v 1.27 2005/06/03 08:00:55 kattemat Exp $
  */
 
 #include "defs.h"
@@ -317,9 +317,8 @@ if_ifwithname(const char *if_name)
  *@return nada
  */
 struct olsr_if *
-queue_if(char *name)
+queue_if(char *name, int hemu)
 {
-
   struct olsr_if *interf_n = olsr_cnf->interfaces;
 
   //printf("Adding interface %s\n", name);
@@ -344,6 +343,8 @@ queue_if(char *name)
   interf_n->configured = 0;
   interf_n->index = olsr_cnf->ifcnt++;
 
+  interf_n->host_emul = hemu ? OLSR_TRUE : OLSR_FALSE;
+
   strncpy(interf_n->name, name, strlen(name) + 1);
   interf_n->next = olsr_cnf->interfaces;
   olsr_cnf->interfaces = interf_n;
index 80fe041..e0eb521 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: interfaces.h,v 1.29 2005/05/30 13:13:38 kattemat Exp $
+ * $Id: interfaces.h,v 1.30 2005/06/03 08:00:55 kattemat Exp $
  */
 
 
@@ -189,7 +189,7 @@ struct interface *
 if_ifwithname(const char *);
 
 struct olsr_if *
-queue_if(char *);
+queue_if(char *, int);
 
 int
 add_ifchgf(int (*f)(struct interface *, int));
index 70aec45..583e55e 100644 (file)
@@ -37,7 +37,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: main.c,v 1.80 2005/05/30 13:13:38 kattemat Exp $
+ * $Id: main.c,v 1.81 2005/06/03 08:00:55 kattemat Exp $
  */
 
 #include <unistd.h>
@@ -655,13 +655,13 @@ olsr_process_arguments(int argc, char *argv[],
              olsr_exit(__func__, EXIT_FAILURE);
            }
          printf("Queuing if %s\n", *argv);
-         queue_if(*argv);
+         queue_if(*argv, OLSR_FALSE);
 
          while((argc - 1) && (argv[1][0] != '-'))
            {
              NEXT_ARG;
              printf("Queuing if %s\n", *argv);
-             queue_if(*argv);
+             queue_if(*argv, OLSR_FALSE);
            }
 
          continue;
@@ -795,7 +795,7 @@ olsr_process_arguments(int argc, char *argv[],
            }
          /* Add hemu interface */
 
-         ifa = queue_if("hcif01");
+         ifa = queue_if("hcif01", OLSR_TRUE);
 
          if(!ifa)
            continue;