diff options
author | Balazs Scheidler <bazsi@balabit.hu> | 2008-11-16 19:32:39 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-11-16 19:32:39 -0800 |
commit | e8b2dfe9b4501ed0047459b2756ba26e5a940a69 (patch) | |
tree | 6f7d497284a8951b8681517f7866851b32a7b02e /include/linux | |
parent | 8164f1b79731ad8ad9c713dc53d587a3b746f82f (diff) | |
download | op-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.h | 4 |
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 */ |