Date: Fri, 31 Oct 2014 15:34:07 +0330 From: Hooman Fazaeli <hoomanfazaeli@gmail.com> To: "Andrey V. Elsukov" <bu7cher@yandex.ru> Cc: "freebsd-net@freebsd.org" <freebsd-net@freebsd.org> Subject: Re: transparent udp proxy Message-ID: <54537AB7.5030906@gmail.com> In-Reply-To: <54536909.3030507@yandex.ru> References: <54535B82.405@gmail.com> <54536909.3030507@yandex.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On 10/31/2014 2:18 PM, Andrey V. Elsukov wrote: > On 31.10.2014 12:50, Hooman Fazaeli wrote: >> Hi, >> >> I my setup, I use a fwd rule to forward all udp traffic to my local proxy: >> >> ipfw add 10 fwd localhost,7000 udp from any to any recv em1 >> >> The proxy needs to know the original destination address of forwarded >> datagrams, but >> there seems to be no way to obtain that address. >> >> Using recvmsg with IP_RECVDSTADDR does not help because it returns >> next-hop address >> instead of original destination. This is because udp_input() overwrites >> packet's destination >> with next-hop address before doing ip_savecontrol. > Hi, > > udp_input() doesn't overwrite destination address. Probably you have NAT > that does this. > There is no NAT stuff. I checked that on 8.4 source: http://fxr.watson.org/fxr/source/netinet/udp_usrreq.c?v=FREEBSD8#L461 -- Best regards. Hooman Fazaeli
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54537AB7.5030906>