]> err.no Git - linux-2.6/blobdiff - include/net/route.h
Merge branch 'linux-2.6'
[linux-2.6] / include / net / route.h
index 486e37aff06ca28751e2a4a1cbf645b52cd3ebee..59b0b19205a290e07d666d259012979ae4d1d800 100644 (file)
@@ -53,14 +53,15 @@ struct rtable
        union
        {
                struct dst_entry        dst;
-               struct rtable           *rt_next;
        } u;
 
+       /* Cache lookup keys */
+       struct flowi            fl;
+
        struct in_device        *idev;
        
        unsigned                rt_flags;
        __u16                   rt_type;
-       __u16                   rt_multipath_alg;
 
        __be32                  rt_dst; /* Path destination     */
        __be32                  rt_src; /* Path source          */
@@ -69,9 +70,6 @@ struct rtable
        /* Info on neighbour */
        __be32                  rt_gateway;
 
-       /* Cache lookup keys */
-       struct flowi            fl;
-
        /* Miscellaneous cached information */
        __be32                  rt_spec_dst; /* RFC1122 specific destination */
        struct inet_peer        *peer; /* long-living peer info */
@@ -111,7 +109,6 @@ struct in_device;
 extern int             ip_rt_init(void);
 extern void            ip_rt_redirect(__be32 old_gw, __be32 dst, __be32 new_gw,
                                       __be32 src, struct net_device *dev);
-extern void            ip_rt_advice(struct rtable **rp, int advice);
 extern void            rt_cache_flush(int how);
 extern int             __ip_route_output_key(struct rtable **, const struct flowi *flp);
 extern int             ip_route_output_key(struct rtable **, struct flowi *flp);
@@ -137,7 +134,7 @@ static inline void ip_rt_put(struct rtable * rt)
 
 #define IPTOS_RT_MASK  (IPTOS_TOS_MASK & ~3)
 
-extern __u8 ip_tos2prio[16];
+extern const __u8 ip_tos2prio[16];
 
 static inline char rt_tos2priority(u8 tos)
 {
@@ -146,7 +143,8 @@ static inline char rt_tos2priority(u8 tos)
 
 static inline int ip_route_connect(struct rtable **rp, __be32 dst,
                                   __be32 src, u32 tos, int oif, u8 protocol,
-                                  __be16 sport, __be16 dport, struct sock *sk)
+                                  __be16 sport, __be16 dport, struct sock *sk,
+                                  int flags)
 {
        struct flowi fl = { .oif = oif,
                            .nl_u = { .ip4_u = { .daddr = dst,
@@ -168,7 +166,7 @@ static inline int ip_route_connect(struct rtable **rp, __be32 dst,
                *rp = NULL;
        }
        security_sk_classify_flow(sk, &fl);
-       return ip_route_output_flow(rp, &fl, sk, 0);
+       return ip_route_output_flow(rp, &fl, sk, flags);
 }
 
 static inline int ip_route_newports(struct rtable **rp, u8 protocol,