X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=include%2Fnet%2Froute.h;h=4e8cae0e58415191845543b39717dc138d024194;hb=c6f09f0c32e5e30b91dea901f00251173fe997f4;hp=4f0d8c14736cba916799c7793848d8d42595483f;hpb=eeb61f719c00c626115852bbc91189dc3011a844;p=safe%2Fjmp%2Flinux-2.6 diff --git a/include/net/route.h b/include/net/route.h index 4f0d8c1..4e8cae0 100644 --- a/include/net/route.h +++ b/include/net/route.h @@ -27,7 +27,7 @@ #include #include #include -#include +#include #include #include #include @@ -161,6 +161,10 @@ static inline int ip_route_connect(struct rtable **rp, __be32 dst, int err; struct net *net = sock_net(sk); + + if (inet_sk(sk)->transparent) + fl.flags |= FLOWI_FLAG_ANYSRC; + if (!dst || !src) { err = __ip_route_output_key(net, rp, &fl); if (err) @@ -204,4 +208,9 @@ static inline struct inet_peer *rt_get_peer(struct rtable *rt) return rt->peer; } +static inline int inet_iif(const struct sk_buff *skb) +{ + return skb->rtable->rt_iif; +} + #endif /* _ROUTE_H */