tcp: Handle TCP SYN+ACK/ACK/RST transparency
authorKOVACS Krisztian <hidden@sch.bme.hu>
Wed, 1 Oct 2008 14:41:00 +0000 (07:41 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 1 Oct 2008 14:41:00 +0000 (07:41 -0700)
commit88ef4a5a78e63420dd1dd770f1bd1dc198926b04
tree42409d6d26fb6f954c501ac156d34265437d18f9
parent79876874ce20d37ecdc7f481ebf142466999152f
tcp: Handle TCP SYN+ACK/ACK/RST transparency

The TCP stack sends out SYN+ACK/ACK/RST reply packets in response to
incoming packets. The non-local source address check on output bites
us again, as replies for transparently redirected traffic won't have a
chance to leave the node.

This patch selectively sets the FLOWI_FLAG_ANYSRC flag when doing the
route lookup for those replies. Transparent replies are enabled if the
listening socket has the transparent socket flag set.

Signed-off-by: KOVACS Krisztian <hidden@sch.bme.hu>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/inet_sock.h
include/net/ip.h
net/ipv4/tcp_ipv4.c