Maint for EXTRA_CPPFLAGS='-DLINUX_POLICY_ROUTING=0'
authorSven-Ola Tuecke <sven-ola@gmx.de>
Wed, 19 Nov 2008 07:15:59 +0000 (08:15 +0100)
committerSven-Ola Tuecke <sven-ola@gmx.de>
Wed, 19 Nov 2008 07:15:59 +0000 (08:15 +0100)
src/linux/kernel_routes.c
src/routing_table.h

index 13e0225..73f21ea 100644 (file)
 
 
 #if !LINUX_POLICY_ROUTING
+#include <unistd.h>
 #include "log.h"
+#include "process_routes.h"
+#include "routing_table.h"
 
 static int delete_all_inet_gws(void);
 
@@ -201,7 +204,7 @@ olsr_ioctl_add_route(const struct rt_entry *rt)
   }
 
   kernel_route.rt_flags = olsr_rt_flags(rt);
-  kernel_route.rt_metric = olsr_fib_metric(&rt->rt_best->rtp_metric.hops);
+  kernel_route.rt_metric = olsr_fib_metric(&rt->rt_best->rtp_metric);
 
   /*
    * Set interface
@@ -216,7 +219,7 @@ olsr_ioctl_add_route(const struct rt_entry *rt)
     olsr_cnf->del_gws = OLSR_FALSE;
   }
 
-  rslt = ioctl(olsr_cnf->ioctl_s, SIOCADDRT, &kernel_route));
+  rslt = ioctl(olsr_cnf->ioctl_s, SIOCADDRT, &kernel_route);
 #else /* !LINUX_POLICY_ROUTING */
   if (0 == olsr_cnf->rttable_default && 0 == rt->rt_dst.prefix_len && 253 > olsr_cnf->rttable)
   {
@@ -273,7 +276,7 @@ olsr_ioctl_add_route6(const struct rt_entry *rt)
   kernel_route.rtmsg_gateway = rt->rt_best->rtp_nexthop.gateway.v6;
 
   kernel_route.rtmsg_flags = olsr_rt_flags(rt);
-  kernel_route.rtmsg_metric = olsr_fib_metric(&rt->rt_best->rtp_metric.hops);
+  kernel_route.rtmsg_metric = olsr_fib_metric(&rt->rt_best->rtp_metric);
   
   /*
    * set interface
@@ -281,7 +284,7 @@ olsr_ioctl_add_route6(const struct rt_entry *rt)
   kernel_route.rtmsg_ifindex = rt->rt_best->rtp_nexthop.iif_index;
   
   /* XXX delete 0/0 route before ? */
-  rslt = ioctl(olsr_cnf->ioctl_s, SIOCADDRT, &kernel_route));
+  rslt = ioctl(olsr_cnf->ioctl_s, SIOCADDRT, &kernel_route);
 #else /* !LINUX_POLICY_ROUTING */
   rttable = 0 == rt->rt_dst.prefix_len && olsr_cnf->rttable_default != 0
     ? olsr_cnf->rttable_default
@@ -342,7 +345,7 @@ olsr_ioctl_del_route(const struct rt_entry *rt)
   }
 
   kernel_route.rt_flags = olsr_rt_flags(rt);
-  kernel_route.rt_metric = olsr_fib_metric(&rt->rt_metric.hops);
+  kernel_route.rt_metric = olsr_fib_metric(&rt->rt_metric);
 
   /*
    * Set interface
@@ -403,7 +406,7 @@ olsr_ioctl_del_route6(const struct rt_entry *rt)
   kernel_route.rtmsg_gateway = rt->rt_best->rtp_nexthop.gateway.v6;
 
   kernel_route.rtmsg_flags = olsr_rt_flags(rt);
-  kernel_route.rtmsg_metric = olsr_fib_metric(&rt->rt_best->rtp_metric.hops);
+  kernel_route.rtmsg_metric = olsr_fib_metric(&rt->rt_best->rtp_metric);
 
   rslt = ioctl(olsr_cnf->ioctl_s, SIOCDELRT, &kernel_route);
 #else /* !LINUX_POLICY_ROUTING */
index a608823..1888e16 100644 (file)
@@ -237,7 +237,7 @@ static INLINE olsr_bool olsr_hopcount_change(const struct rt_metric *met1, const
 
 olsr_bool olsr_cmp_rt(const struct rt_entry *, const struct rt_entry *);
 
-#if defined WIN32 || (defined LINUX && !defined LINUX_POLICY_ROUTING)
+#if defined WIN32 || (defined linux && !LINUX_POLICY_ROUTING)
 /**
  * Depending if flat_metric is configured and the kernel fib operation
  * return the hopcount metric of a route.