summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorBalazs Scheidler <bazsi@balabit.hu>2008-11-16 19:32:39 -0800
committerDavid S. Miller <davem@davemloft.net>2008-11-16 19:32:39 -0800
commite8b2dfe9b4501ed0047459b2756ba26e5a940a69 (patch)
tree6f7d497284a8951b8681517f7866851b32a7b02e /include/linux
parent8164f1b79731ad8ad9c713dc53d587a3b746f82f (diff)
downloadop-kernel-dev-e8b2dfe9b4501ed0047459b2756ba26e5a940a69.zip
op-kernel-dev-e8b2dfe9b4501ed0047459b2756ba26e5a940a69.tar.gz
TPROXY: implemented IP_RECVORIGDSTADDR socket option
In case UDP traffic is redirected to a local UDP socket, the originally addressed destination address/port cannot be recovered with the in-kernel tproxy. This patch adds an IP_RECVORIGDSTADDR sockopt that enables a IP_ORIGDSTADDR ancillary message in recvmsg(). This ancillary message contains the original destination address/port of the packet being received. Signed-off-by: Balazs Scheidler <bazsi@balabit.hu> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/in.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/in.h b/include/linux/in.h
index db458be..d60122a 100644
--- a/include/linux/in.h
+++ b/include/linux/in.h
@@ -80,6 +80,10 @@ struct in_addr {
/* BSD compatibility */
#define IP_RECVRETOPTS IP_RETOPTS
+/* TProxy original addresses */
+#define IP_ORIGDSTADDR 20
+#define IP_RECVORIGDSTADDR IP_ORIGDSTADDR
+
/* IP_MTU_DISCOVER values */
#define IP_PMTUDISC_DONT 0 /* Never send DF frames */
#define IP_PMTUDISC_WANT 1 /* Use per route hints */
OpenPOWER on IntegriCloud