Set FLOWI_FLAG_TRANSPARENT in flowi->flags if the socket has the transparent socket option set. This way we selectively enable certain connections with non-local source addresses to be routed.
Signed-off-by: KOVACS Krisztian <[EMAIL PROTECTED]> --- include/net/route.h | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/include/net/route.h b/include/net/route.h index 13da592..4dff368 100644 --- a/include/net/route.h +++ b/include/net/route.h @@ -161,6 +161,10 @@ static inline int ip_route_connect(struct rtable **rp, __be32 dst, .dport = dport } } }; int err; + + if (inet_sk(sk)->transparent) + fl.flags |= FLOWI_FLAG_TRANSPARENT; + if (!dst || !src) { err = __ip_route_output_key(rp, &fl); if (err) - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html