Removed GW tunneling code
authorAndreas Tonnesen <andreto@olsr.org>
Wed, 17 Nov 2004 19:21:42 +0000 (19:21 +0000)
committerAndreas Tonnesen <andreto@olsr.org>
Wed, 17 Nov 2004 19:21:42 +0000 (19:21 +0000)
src/defs.h
src/kernel_routes.h
src/linux/kernel_routes.c
src/linux/tunnel.c [deleted file]
src/linux/tunnel.h [deleted file]
src/main.c
src/net.c
src/process_package.c
src/process_routes.c
src/routing_table.c

index 4e5a52e..67b07bd 100644 (file)
@@ -19,7 +19,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: defs.h,v 1.26 2004/11/12 22:11:54 kattemat Exp $
+ * $Id: defs.h,v 1.27 2004/11/17 19:21:41 kattemat Exp $
  *
  */
 
@@ -101,9 +101,6 @@ olsr_bool disp_pack_out;               /* display outgoing packet content? */
 
 int llinfo;
 
-olsr_bool inet_tnl_added; /* If Internet gateway tunnel is added */
-olsr_bool use_tunnel; /* Use Internet gateway tunneling */
-olsr_bool gw_tunnel; /* Work as Internet gateway */
 olsr_bool del_gws;
 
 /*
@@ -147,10 +144,6 @@ struct sockaddr_in6 null_addr6;      /* Address used as Originator Address IPv6
 
 int minsize;
 
-
-extern struct ip_tunnel_parm ipt;
-extern union olsr_ip_addr tnl_addr; /* The gateway address if inet_tnl_added==1 */
-
 olsr_bool changes;                /* is set if changes occur in MPRS set */ 
 
 /* TC empty message sending */
index e8d9905..47a448e 100644 (file)
@@ -19,7 +19,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: kernel_routes.h,v 1.6 2004/10/09 22:32:47 kattemat Exp $
+ * $Id: kernel_routes.h,v 1.7 2004/11/17 19:21:41 kattemat Exp $
  *
  */
 
@@ -46,12 +46,6 @@ int
 olsr_ioctl_del_route6(struct rt_entry *destination);
 
 
-int
-add_tunnel_route(union olsr_ip_addr *);
-
-int
-delete_tunnel_route(void);
-
 int
 delete_all_inet_gws(void);
 
index 612058e..32a4996 100644 (file)
@@ -19,7 +19,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: kernel_routes.c,v 1.10 2004/11/12 22:11:54 kattemat Exp $
+ * $Id: kernel_routes.c,v 1.11 2004/11/17 19:20:32 kattemat Exp $
  *
  */
 
@@ -163,7 +163,7 @@ olsr_ioctl_add_route6(struct rt_entry *destination)
   kernel_route.rtmsg_flags = destination->rt_flags;
   kernel_route.rtmsg_metric = destination->rt_metric;
   
-  kernel_route.rtmsg_dst_len =   kernel_route.rtmsg_dst_len = destination->rt_mask.v6;
+  kernel_route.rtmsg_dst_len = destination->rt_mask.v6;
 
   if(memcmp(&destination->rt_dst, &destination->rt_router, ipsize) != 0)
     {
@@ -184,12 +184,7 @@ olsr_ioctl_add_route6(struct rt_entry *destination)
   //olsr_printf(3, "Adding route to %s using gw ", olsr_ip_to_string((union olsr_ip_addr *)&kernel_route.rtmsg_dst));
   //olsr_printf(3, "%s\n", olsr_ip_to_string((union olsr_ip_addr *)&kernel_route.rtmsg_gateway));
 
-  if((tmp = ioctl(ioctl_s, SIOCADDRT, &kernel_route)) < 0)
-    {
-      olsr_printf(1, "Add route: %s\n", strerror(errno));
-      olsr_syslog(OLSR_LOG_ERR, "Add route:%m");
-    }
-  else
+  if((tmp = ioctl(ioctl_s, SIOCADDRT, &kernel_route)) >= 0)
     {
       if(olsr_cnf->open_ipc)
        {
@@ -327,216 +322,6 @@ olsr_ioctl_del_route6(struct rt_entry *destination)
 
 
 
-/**
- *Add a IP in IP tunnel route to a Internet gateway
- *First add acess to the gateway node trough the tunnel
- *then add the Internet gateway
- *
- *@return negative on error
- */
-
-int
-add_tunnel_route(union olsr_ip_addr *gw)
-{
-
-  struct rtentry kernel_route;
-  int tmp;
-  //olsr_u32_t adr, netmask;
-
-  /* Get gw netaddress */
-  /*
-  adr = ntohl(gw->v4);
-  if (IN_CLASSA(adr))
-    netmask = IN_CLASSA_NET;
-  else if (IN_CLASSB(adr))
-    netmask = IN_CLASSB_NET;
-  else
-    netmask = IN_CLASSC_NET;
-
-  netmask = htonl(netmask);
-  */
-  /* Global values */
-  /*
-  tunl_netmask = netmask;
-  tunl_gw = gw->v4;
-
-  printf("Adding route to gateway trough tunnel.\n\tNode %s\n", ip_to_string(&tunl_gw));
-  printf("\tMask %s\n", ip_to_string(&netmask));
-  */
-  /* Adding net */
-  /*
-  memset(&kernel_route,0,sizeof(struct rtentry));
-
-  ((struct sockaddr_in *)&kernel_route.rt_dst)->sin_addr.s_addr = tunl_gw;
-  ((struct sockaddr_in *)&kernel_route.rt_dst)->sin_family = AF_INET;
-  ((struct sockaddr_in *)&kernel_route.rt_genmask)->sin_addr.s_addr = netmask;
-  ((struct sockaddr_in *)&kernel_route.rt_genmask)->sin_family = AF_INET;
-  //((struct sockaddr_in *)&kernel_route.rt_gateway)->sin_addr.s_addr = INADDR_ANY;
-  //((struct sockaddr_in *)&kernel_route.rt_gateway)->sin_family = AF_INET;
-
-  //memcpy(&kernel_route.rt_gateway, gw, ipsize);
-
-  kernel_route.rt_flags = RTF_UP;// | RTF_HOST;
-
-  kernel_route.rt_metric = 1;
-
-  if((kernel_route.rt_dev = malloc(6)) == 0)
-    {
-      fprintf(stderr, "Out of memory!\n%s\n", strerror(errno));
-      olsr_exit(__func__, EXIT_FAILURE);
-    }
-
-  strcpy(kernel_route.rt_dev, "tunl1");
-
-  
-  //printf("Inserting route entry on device %s\n\n", kernel_route.rt_dev);
-
-  if((tmp = ioctl(ioctl_s, SIOCADDRT, &kernel_route)) < 0)
-    perror("Add default Internet route net");
-
-
-  free(kernel_route.rt_dev);
-  */
-
-  /* Adding gateway */
-
-
-  memset(&kernel_route,0,sizeof(struct rtentry));
-
-  ((struct sockaddr_in *)&kernel_route.rt_dst)->sin_addr.s_addr = INADDR_ANY;
-  ((struct sockaddr_in *)&kernel_route.rt_dst)->sin_family=AF_INET;
-  ((struct sockaddr_in *)&kernel_route.rt_genmask)->sin_addr.s_addr = INADDR_ANY;
-  ((struct sockaddr_in *)&kernel_route.rt_genmask)->sin_family=AF_INET;
-  ((struct sockaddr_in *)&kernel_route.rt_gateway)->sin_addr.s_addr = INADDR_ANY;//tunl_gw;
-  ((struct sockaddr_in *)&kernel_route.rt_gateway)->sin_family=AF_INET;
-
-
-  //olsr_printf(1, "Adding kernel route for Internet router trough tunnel\n");
-  
-  kernel_route.rt_metric = 0;
-
-  kernel_route.rt_flags = RTF_UP;// | RTF_GATEWAY;
-
-  if((kernel_route.rt_dev = malloc(6)) == 0)
-    {
-      fprintf(stderr, "Out of memory!\n%s\n", strerror(errno));
-      olsr_exit(__func__, EXIT_FAILURE);
-    }
-
-  strcpy(kernel_route.rt_dev, "tunl1");
-
-  
-  olsr_printf(1, "Inserting route entry on device %s\n\n", kernel_route.rt_dev);
-
-  if((tmp = ioctl(ioctl_s,SIOCADDRT,&kernel_route)) < 0)
-    {
-      olsr_printf(1, "Add tunnel route: %s\n", strerror(errno));
-      olsr_syslog(OLSR_LOG_ERR, "Add tunnel route:%m");
-    }
-
-  free(kernel_route.rt_dev);
-  
-  return(tmp);
-
-
-}
-
-
-
-int
-delete_tunnel_route()
-{
-  struct rtentry kernel_route;
-  int tmp;
-
-
-  /* Delete gateway */
-
-  olsr_printf(1, "Deleting tunnel GW route\n");
-
-  memset(&kernel_route,0,sizeof(struct rtentry));
-
-  ((struct sockaddr_in *)&kernel_route.rt_dst)->sin_addr.s_addr = INADDR_ANY;
-  ((struct sockaddr_in *)&kernel_route.rt_dst)->sin_family=AF_INET;
-  ((struct sockaddr_in *)&kernel_route.rt_genmask)->sin_addr.s_addr = INADDR_ANY;
-  ((struct sockaddr_in *)&kernel_route.rt_genmask)->sin_family=AF_INET;
-  
-  ((struct sockaddr_in *)&kernel_route.rt_gateway)->sin_addr.s_addr = tunl_gw;
-  ((struct sockaddr_in *)&kernel_route.rt_gateway)->sin_family=AF_INET;
-  
-  kernel_route.rt_metric = 1;
-  
-  kernel_route.rt_flags = RTF_UP | RTF_GATEWAY;
-
-  if((kernel_route.rt_dev = malloc(6)) == 0)
-    {
-      fprintf(stderr, "Out of memory!\n%s\n", strerror(errno));
-      olsr_exit(__func__, EXIT_FAILURE);
-    }
-
-  strcpy(kernel_route.rt_dev, "tunl1");
-
-  
-  //printf("Inserting route entry on device %s\n\n", kernel_route.rt_dev);
-
-  if((tmp = ioctl(ioctl_s,SIOCDELRT,&kernel_route)) < 0)
-    {
-      olsr_printf(1, "Del tunnel route: %s\n", strerror(errno));
-      olsr_syslog(OLSR_LOG_ERR, "Del tunnel route:%m");
-    }
-  
-  free(kernel_route.rt_dev);
-
-
-
-  olsr_printf(1, "Deleting route gateway trough tunnel.\n\tNet %s\n", ip_to_string(&tunl_gw));
-  olsr_printf(1, "\tMask %s\n", ip_to_string(&tunl_netmask));
-
-  /* Adding net */
-
-  memset(&kernel_route,0,sizeof(struct rtentry));
-
-  ((struct sockaddr_in *)&kernel_route.rt_dst)->sin_addr.s_addr = tunl_gw;
-  ((struct sockaddr_in *)&kernel_route.rt_dst)->sin_family=AF_INET;
-  ((struct sockaddr_in *)&kernel_route.rt_genmask)->sin_addr.s_addr = tunl_netmask;
-  ((struct sockaddr_in *)&kernel_route.rt_genmask)->sin_family=AF_INET;
-
-  //memcpy(&kernel_route.rt_gateway, gw, ipsize);
-
-  
-
-  kernel_route.rt_flags = RTF_UP | RTF_HOST;
-
-
-  if((kernel_route.rt_dev = malloc(6)) == 0)
-    {
-      fprintf(stderr, "Out of memory!\n%s\n", strerror(errno));
-      olsr_exit(__func__, EXIT_FAILURE);
-    }
-
-  strcpy(kernel_route.rt_dev, "tunl1");
-
-  
-  //printf("Inserting route entry on device %s\n\n", kernel_route.rt_dev);
-
-  if((tmp = ioctl(ioctl_s,SIOCDELRT,&kernel_route)) < 0)
-    {
-      olsr_printf(1, "Del tunnel route: %s\n", strerror(errno));
-      olsr_syslog(OLSR_LOG_ERR, "Del tunnel route:%m");
-    }
-  
-
-  free(kernel_route.rt_dev);
-
-  
-  return(tmp);
-}
-
-
-
-
-
-
 int
 delete_all_inet_gws()
 {
diff --git a/src/linux/tunnel.c b/src/linux/tunnel.c
deleted file mode 100644 (file)
index 185e66c..0000000
+++ /dev/null
@@ -1,342 +0,0 @@
-/*
- * OLSR ad-hoc routing table management protocol
- * Copyright (C) 2004 Andreas T√łnnesen (andreto@ifi.uio.no)
- *
- * This file is part of olsr.org.
- *
- * 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: tunnel.c,v 1.7 2004/11/05 11:52:57 kattemat Exp $
- *
- */
-
-
-#include <net/if.h>
-#include <stdio.h>
-#include <string.h>
-#include <sys/ioctl.h>
-
-#include "tunnel.h"
-#include "../defs.h"
-#include "../olsr.h"
-#include "../ifnet.h"
-
-#include "../kernel_routes.h"
-
-#include <errno.h>
-
-/**
- *Set up a IP in IP tunnel to a Internet gateway
- *
- *@param p the ip_tunnel_parm struct containing 
- *the tunnel info
- *
- *@return negative on error
- */
-
-int
-add_ip_tunnel(struct ip_tunnel_parm *p)
-{
-  struct ifreq ifr;
-  int err;
-  
-  /* Copy param for deletion */
-  memcpy(&ipt, p, sizeof(struct ip_tunnel_parm));
-  
-  /* Create tunnel endpoint */
-  
-  strcpy(ifr.ifr_name, "tunl0");
-  ifr.ifr_ifru.ifru_data = (void*)p;
-  
-  err = ioctl(ioctl_s, SIOCCHGTUNNEL, &ifr);
-  if (err)
-    {
-      perror("change IPv4 tunnel ioctl");
-      /* Try new tunnel */
-      err = ioctl(ioctl_s, SIOCADDTUNNEL, &ifr);
-      if(err)
-       perror("add IPv4 tunnel ioctl");
-    }
-  
-  
-  /* Set local address */
-  
-  
-  memcpy(&((struct sockaddr_in *)&ifr.ifr_dstaddr)->sin_addr, 
-        &main_addr, 
-        ipsize);
-  
-  ((struct sockaddr_in *)&ifr.ifr_addr)->sin_family = AF_INET; 
-  
-  
-  strcpy(ifr.ifr_name, "tunl1");
-  
-  if(ioctl(ioctl_s, SIOCSIFADDR, &ifr) < 0)
-    {
-      fprintf(stderr, "\tERROR setting tunnel address!\n\t%s\n", 
-             strerror(errno));
-    }
-  
-  
-  /* Set local address */
-  
-  memset(&ifr, 0, sizeof(struct ifreq));
-  
-  
-  memcpy(&((struct sockaddr_in *)&ifr.ifr_dstaddr)->sin_addr, 
-        &p->iph.saddr, 
-        ipsize);
-  
-  ((struct sockaddr_in *)&ifr.ifr_addr)->sin_family = AF_INET; 
-  
-  
-  strcpy(ifr.ifr_name, "tunl1");
-  
-  if(ioctl(ioctl_s, SIOCSIFADDR, &ifr) < 0)
-    {
-      fprintf(stderr, "\tERROR setting tunnel address!\n\t%s\n", 
-             strerror(errno));
-    }
-  
-  
-  /* Set remote address */
-  
-  memcpy(&((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr, 
-        &p->iph.daddr, 
-        ipsize);
-  
-  ((struct sockaddr_in *)&ifr.ifr_addr)->sin_family = AF_INET; 
-  
-  if(ioctl(ioctl_s, SIOCSIFDSTADDR, &ifr) < 0)
-    {
-      fprintf(stderr, "\tERROR setting tunnel remote address!\n\t%s\n", 
-             strerror(errno));
-    }
-  
-  
-  /* Set up */
-  set_flag("tunl1", IFF_POINTOPOINT);
-  
-  add_tunnel_route((union olsr_ip_addr *)&p->iph.daddr);
-  
-  /* Store the gateway address */
-  memcpy(&tnl_addr, &p->iph.daddr, ipsize);
-  inet_tnl_added = OLSR_TRUE;
-  
-  /* Enable tunnel forwarding for gateways */
-  enable_tunl_forwarding();
-  
-  return err;
-}
-
-
-
-
-int
-del_ip_tunnel(struct ip_tunnel_parm *p)
-{
-
-
-  return 1;
-}
-
-
-/**
- *Set up a source side endpoint for a IP in IP
- *tunnel
- *
- *@param my_addr local address
- *@param dst destination address
- *@param if_index interface index to set up
- *
- *@return nada
- */
-
-void
-set_up_source_tnl(union olsr_ip_addr *my_addr, union olsr_ip_addr *dst, int if_index)
-{
-  struct ip_tunnel_parm itp;
-  
-  memset(&itp, 0, sizeof(struct ip_tunnel_parm));
-  
-  /*
-   * Tunnel info 
-   */
-  /* Name - CAN'T BE tunl0 !!!!!!!!!!!!!!!!!!! */
-  strcpy(itp.name, "tunl1");
-  /* IP version */
-  itp.iph.version = 4;
-  itp.iph.ihl = 5;
-  /* Tunnel type IPinIP */
-  itp.iph.protocol = IPPROTO_IPIP;
-  /* Time to live - 255 */
-  itp.iph.ttl = 255;
-  /* TOS - 1 */
-  itp.iph.tos = 1;
-  /* Fragmentation - from iptools */
-  itp.iph.frag_off = htons(IP_DF);
-  /* Source address */
-  itp.iph.saddr = (u_int32_t) my_addr->v4;
-  /* Destination address */
-  itp.iph.daddr = (u_int32_t) dst->v4;
-
-  olsr_printf(1, "\tsource   : %s\n", ip_to_string(&itp.iph.saddr));
-  olsr_printf(1, "\tdest     : %s\n", ip_to_string(&itp.iph.daddr));
-
-  /* Interface */
-  olsr_printf(1, "\tInterface: %d\n", if_index);
-  itp.link = if_index;
-
-  /* Add IPv4 tunnel */
-  add_ip_tunnel(&itp);
-
-  return;
-}
-
-
-
-
-
-/**
- *Set up a gateway side IP in IP tunnel with foregin
- *endpoint address set to ANY.
- *
- *@return negative on error
- */
-
-int
-set_up_gw_tunnel(union olsr_ip_addr *adr)
-{
-
-  struct ifreq ifr;
-
-  printf("Setting up a GW side IP tunnel...\n");
-
-  gw_tunnel = OLSR_TRUE;
-
-  memset(&ifr, 0, sizeof(struct ifreq));
-
-  /* Set address */
-  strcpy(ifr.ifr_name, "tunl0");
-    
-  memcpy(&((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr, 
-        adr, 
-        ipsize);
-  
-  ((struct sockaddr_in *)&ifr.ifr_addr)->sin_family = AF_INET; 
-  
-  printf("Setting GW tunnel address %s\n", sockaddr_to_string(&ifr.ifr_addr));
-
-  /* Set address */
-
-  if(ioctl(ioctl_s, SIOCSIFADDR, &ifr) < 0)
-    {
-      fprintf(stderr, "\tERROR setting gw tunnel address!\n\t%s\n", 
-             strerror(errno));
-    }
-
-  /* Set tunnel UP */
-
-  memset(&ifr, 0, sizeof(struct ifreq));
-
-  /* Set address */
-  strcpy(ifr.ifr_name, "tunl0");
-
-  /* Get flags */
-  if (ioctl(ioctl_s, SIOCGIFFLAGS, &ifr) < 0) 
-    {
-      fprintf(stderr,"ioctl (get interface flags)");
-      return -1;
-    }
-
-  strcpy(ifr.ifr_name, "tunl0");
-
-   if(!(ifr.ifr_flags & IFF_UP & IFF_RUNNING))
-    {
-      /* Add UP */
-      ifr.ifr_flags |= (IFF_UP | IFF_RUNNING);
-      /* Set flags + UP */
-      if(ioctl(ioctl_s, SIOCSIFFLAGS, &ifr) < 0)
-       {
-         fprintf(stderr, "ERROR(%s): %s\n", ifr.ifr_name, strerror(errno));
-         return -1;
-       }
-    }
-   
-
-   /* FIX THIS !!! */
-   //enable_tunl_forwarding();
-
-   return 1;
-}
-
-
-
-
-
-int
-enable_tunl_forwarding()
-{
-  FILE *proc_fwd;
-  int ans = 0;
-  char procfile[FILENAME_MAX];
-
-  strcpy(procfile, TUNL_PROC_FILE);
-
-
-  if ((proc_fwd=fopen(procfile, "r"))==NULL)
-    {
-      fprintf(stderr, "WARINING!! Could not open %s for writing!!\n", procfile);      
-      return 0;
-    }
-  
-  else
-    {
-      ans = fgetc(proc_fwd);
-      fclose(proc_fwd);
-      if(ans == '1')
-       {
-         printf("\nTunnel forwarding is enabeled\n");
-       }
-      else
-       {
-         if ((proc_fwd=fopen(procfile, "w"))==NULL)
-           {
-             fprintf(stderr, "Could not open %s for writing!\n", procfile);
-             return 0;
-           }
-         else
-           {
-             printf("Enabling TUNNEL-forwarding by writing \"1\" to the %s file\nThis file will not be restored to its original state!\n", procfile);
-             fputs("1", proc_fwd);
-           }
-         fclose(proc_fwd);
-
-       }
-    }
-  return 1;
-      
-}
-
-
-
-
-
-
-
-
-
-
diff --git a/src/linux/tunnel.h b/src/linux/tunnel.h
deleted file mode 100644 (file)
index 3452129..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * OLSR ad-hoc routing table management protocol
- * Copyright (C) 2004 Andreas T√łnnesen (andreto@ifi.uio.no)
- *
- * This file is part of olsr.org.
- *
- * 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: tunnel.h,v 1.6 2004/10/09 22:32:47 kattemat Exp $
- *
- */
-
-
-
-
-#ifndef _OLSR_LINUX_TUNNEL
-#define _OLSR_LINUX_TUNNEL
-
-
-
-#include <net/if.h>
-#include <net/if_arp.h>
-#include <asm/types.h>
-/* For tunneling */
-#include <netinet/ip.h>
-#include <linux/if_tunnel.h>
-
-
-#define TUNL_PROC_FILE "/proc/sys/net/ipv4/conf/tunl0/forwarding"
-
-#ifndef IP_DF
-#define IP_DF          0x4000          /* Flag: "Don't Fragment"       */
-#endif
-
-struct ip_tunnel_parm ipt;
-
-/* Address of the tunnel endpoint */
-union olsr_ip_addr tnl_addr;
-
-void
-set_up_source_tnl(union olsr_ip_addr *, union olsr_ip_addr *, int);
-
-int
-add_ip_tunnel(struct ip_tunnel_parm *);
-
-int
-del_ip_tunnel(struct ip_tunnel_parm *);
-
-int
-set_up_gw_tunnel(union olsr_ip_addr *);
-int
-enable_tunl_forwarding(void);
-
-#endif
index 09fe3c3..22f42a8 100644 (file)
@@ -19,7 +19,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: main.c,v 1.39 2004/11/17 16:54:41 tlopatic Exp $
+ * $Id: main.c,v 1.40 2004/11/17 19:21:41 kattemat Exp $
  *
  */
 
 #include "link_layer.h"
 #include "net_os.h"
 
-#ifdef linux
-#include "linux/tunnel.h"
-#endif
-
 #ifdef WIN32
 #define close(x) closesocket(x)
 int __stdcall SignalHandler(unsigned long signal);
@@ -401,17 +397,6 @@ main(int argc, char *argv[])
          continue;
        }
 
-      /*
-       * Use Internet gateway tunneling?
-       */
-      if (strcmp(*argv, "-tnl") == 0) 
-       {
-         argv++; argc--;
-         use_tunnel = OLSR_TRUE;
-
-         continue;
-       }
-
       /*
        * IPv6 multicast addr
        */
@@ -590,12 +575,6 @@ main(int argc, char *argv[])
   /* Load plugins */
   olsr_load_plugins();
 
-#ifdef linux
-  /* Set up recieving tunnel if Inet gw */
-  if(use_tunnel && check_inet_gw())
-    set_up_gw_tunnel(&main_addr);
-#endif
-
   olsr_printf(1, "Main address: %s\n\n", olsr_ip_to_string(&main_addr));
 
   /* daemon mode */
@@ -717,11 +696,6 @@ set_default_values()
 
   will_int = 10 * HELLO_INTERVAL; /* Willingness update interval */
 
-  /* Gateway tunneling */
-  use_tunnel = OLSR_FALSE;
-  inet_tnl_added = OLSR_FALSE;
-  gw_tunnel = OLSR_FALSE;
-
   llinfo = OLSR_FALSE;
   del_gws = OLSR_FALSE;
 
index c83bd72..b847cf8 100644 (file)
--- a/src/net.c
+++ b/src/net.c
@@ -20,7 +20,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: net.c,v 1.20 2004/11/15 14:59:39 tlopatic Exp $
+ * $Id: net.c,v 1.21 2004/11/17 19:21:41 kattemat Exp $
  *
  */
 
@@ -291,11 +291,6 @@ net_output(struct interface *ifp)
       
       printf("\n");
     }
-
-  /*
-   *packet points to the same memory area as the *msg pointer
-   *used when building packets.
-   */
   
   if(olsr_cnf->ip_version == AF_INET)
     {
index a3ef086..3d8e18b 100644 (file)
@@ -19,7 +19,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: process_package.c,v 1.20 2004/11/10 14:53:21 tlopatic Exp $
+ * $Id: process_package.c,v 1.21 2004/11/17 19:21:41 kattemat Exp $
  *
  */
 
 #include "duplicate_set.h"
 #include "rebuild_packet.h"
 
-#ifdef linux 
-#include "linux/tunnel.h"
-#endif
-
 
 /**
  *Initializing the parser functions we are using
@@ -462,28 +458,7 @@ olsr_process_received_hna(union olsr_message *m, struct interface *in_if, union
 
   while(hna_tmp)
     {
-#ifdef linux
-      /*
-       * Set up tunnel to Internet gateway
-       */
-      if((use_tunnel) && (olsr_cnf->ip_version == AF_INET) && (hna_tmp->net.v4 == 0))
-       {
-         if(inet_tnl_added || gw_tunnel)
-           {
-             hna_tmp = hna_tmp->next;
-             continue;
-           }
-         
-         olsr_printf(1, "Internet gateway discovered! Setting up tunnel:\n");
-
-         /* Set up tunnel endpoint */
-         set_up_source_tnl(&main_addr, &message.originator, in_if->if_index); 
-       }
-      else
-#endif
-       {
-         olsr_update_hna_entry(&message.originator, &hna_tmp->net, &hna_tmp->netmask, (float)message.vtime); 
-       }
+      olsr_update_hna_entry(&message.originator, &hna_tmp->net, &hna_tmp->netmask, (float)message.vtime); 
       
       hna_tmp = hna_tmp->next;
     }
index 29eef14..41e2569 100644 (file)
@@ -19,7 +19,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: process_routes.c,v 1.12 2004/11/05 14:33:31 tlopatic Exp $
+ * $Id: process_routes.c,v 1.13 2004/11/17 19:21:42 kattemat Exp $
  *
  */
 
 #include "olsr.h"
 #include "kernel_routes.h"
 
-#ifdef linux
-#include "linux/tunnel.h"
-#endif
-
 #ifdef WIN32
 #undef strerror
 #define strerror(x) StrError(x)
@@ -153,24 +149,9 @@ olsr_delete_all_kernel_routes()
   struct destination_n *delete_kernel_list=NULL;
   struct destination_n *tmp=NULL;
   union olsr_ip_addr *tmp_addr;
-#ifdef linux
-  olsr_u32_t tmp_tnl_addr;
-#endif
 
   olsr_printf(1, "Deleting all routes...\n");
 
-#ifdef linux
-  if(use_tunnel)
-    {
-      /* Delete Internet GW tunnel */
-      delete_tunnel_route();
-      /* Take down tunnel */
-      del_ip_tunnel(&ipt);
-      tmp_tnl_addr = 0;
-      set_up_gw_tunnel((union olsr_ip_addr *)&tmp_tnl_addr);
-    }
-#endif
-
   delete_kernel_list = olsr_build_update_list(hna_routes, old_hna);
 
   tmp = delete_kernel_list;
@@ -367,7 +348,7 @@ olsr_add_routes_in_kernel(struct destination_n *add_kernel_list)
                    
              if(error < 0) //print the error msg
                {
-                 olsr_printf(1, "Add route: %s\n",strerror(errno));
+                 olsr_printf(1, "Add route(%s): %s\n", olsr_ip_to_string(&destination_kernel->destination->rt_dst), strerror(errno));
                  olsr_syslog(OLSR_LOG_ERR, "Add route:%m");
                }
                    
index a687215..52fd752 100644 (file)
@@ -19,7 +19,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * 
  * 
- * $Id: routing_table.c,v 1.9 2004/11/07 17:51:20 tlopatic Exp $
+ * $Id: routing_table.c,v 1.10 2004/11/17 19:21:42 kattemat Exp $
  *
  */
 
@@ -634,7 +634,7 @@ olsr_calculate_hna_routes()
                  /* Fill struct */
                  /* Net */
                  COPY_IP(&new_rt->rt_dst, &tmp_net->A_network_addr);
-                 memcpy(&new_rt->rt_mask, &tmp_net->A_netmask, netmask_size);
+                 new_rt->rt_mask = tmp_net->A_netmask;
                  /* Gateway */
                  COPY_IP(&new_rt->rt_router, &tmp_rt->rt_router);
                  /* Metric */
@@ -651,7 +651,7 @@ olsr_calculate_hna_routes()
                  /* Fill struct */
                  /* Net */
                  COPY_IP(&new_rt->rt_dst, &tmp_net->A_network_addr);
-                 memcpy(&new_rt->rt_mask, &tmp_net->A_netmask, netmask_size);
+                 new_rt->rt_mask = tmp_net->A_netmask;
                  /* Gateway */
                  COPY_IP(&new_rt->rt_router, &tmp_rt->rt_router);
                  /* Metric */