vserver 1.9.5.x5
[linux-2.6.git] / include / net / route.h
index 4cbac7d..189c100 100644 (file)
@@ -33,7 +33,8 @@
 #include <linux/route.h>
 #include <linux/ip.h>
 #include <linux/cache.h>
-#include <linux/ninline.h>
+#include <linux/vs_context.h>
+#include <linux/vs_network.h>
 
 #ifndef __KERNEL__
 #warning This file is not supposed to be used outside of kernel.
@@ -56,6 +57,8 @@ struct rtable
                struct rtable           *rt_next;
        } u;
 
+       struct in_device        *idev;
+       
        unsigned                rt_flags;
        unsigned                rt_type;
 
@@ -72,11 +75,6 @@ struct rtable
        /* Miscellaneous cached information */
        __u32                   rt_spec_dst; /* RFC1122 specific destination */
        struct inet_peer        *peer; /* long-living peer info */
-
-#ifdef CONFIG_IP_ROUTE_NAT
-       __u32                   rt_src_map;
-       __u32                   rt_dst_map;
-#endif
 };
 
 struct ip_rt_acct
@@ -109,7 +107,7 @@ struct rt_cache_stat
 
 extern struct rt_cache_stat *rt_cache_stat;
 #define RT_CACHE_STAT_INC(field)                                         \
-               (per_cpu_ptr(rt_cache_stat, smp_processor_id())->field++)
+               (per_cpu_ptr(rt_cache_stat, _smp_processor_id())->field++)
 
 extern struct ip_rt_acct *ip_rt_acct;
 
@@ -128,7 +126,7 @@ extern void         ip_rt_send_redirect(struct sk_buff *skb);
 
 extern unsigned                inet_addr_type(u32 addr);
 extern void            ip_rt_multicast_event(struct in_device *);
-extern int             ip_rt_ioctl(unsigned int cmd, void *arg);
+extern int             ip_rt_ioctl(unsigned int cmd, void __user *arg);
 extern void            ip_rt_get_source(u8 *src, struct rtable *rt);
 extern int             ip_rt_dump(struct sk_buff *skb,  struct netlink_callback *cb);
 
@@ -218,7 +216,8 @@ static inline int ip_route_connect(struct rtable **rp, u32 dst,
 
        if (sk)
                nx_info = sk->sk_nx_info;
-       vxdprintk("ip_route_connect(%p) %p,%p;%lx\n",
+       vxdprintk(VXD_CBIT(net, 4),
+               "ip_route_connect(%p) %p,%p;%lx",
                sk, nx_info, sk->sk_socket,
                (sk->sk_socket?sk->sk_socket->flags:0));
 
@@ -228,7 +227,7 @@ static inline int ip_route_connect(struct rtable **rp, u32 dst,
                        return err;
                if (fl.fl4_dst == IPI_LOOPBACK && !vx_check(0, VX_ADMIN))
                        fl.fl4_dst = nx_info->ipv4[0];
-       }       
+       }
        if (!fl.fl4_dst || !fl.fl4_src) {
                err = __ip_route_output_key(rp, &fl);
                if (err)