On Nov 20, 2008, at 8:50 AM, Max Laier wrote:
On Thursday 20 November 2008 14:00:11 Randall Stewart wrote:
On Nov 19, 2008, at 5:33 PM, Julian Elischer wrote:
Its not new, its the same ip header..
Its just you go into the mbuf chain and take out
the udp header...
well you can't do that at the socket buffer becasue you've discarded
the IP header. It may not even be in the mbufs you have. (though
it's
unlikely). After you've processed the UDP part the IP part is gone
so
you'd need to intercept the packet way earlier and then do your
own UDP processing, (or maybe attach the IP header onto it with a
tag).
One would definitely have to do some work in udp_input() not a lot
from
what I can tell... but it would take some work.
Maybe good course is to use the socket(9) stuff, but add an option
that can set a "by-pass function" if the socket is udp... right
after you establish the INP the packet goes to, if the function is
set, you engage the bypass...
This sounds reasonable. One would only have to replace calls to
udp_append in
udp_input with the by-pass function et voila. Should be clean
enough. There
might be some problems with holding the socket lock, though.
For the record, I don't like all the UDP-tunneling madness either,
but it
seems that we are stuck with it ... so we should at least try to
come up with
a somewhat reasonable implementation for this hackery.
Max:
This was along the lines of what I was thinking exactly.. one side
note. I am told by my colleague in SCTP crime (Michael Tüxen) that Apple
has this functional by-pass interface. He has already got the UDP
tunneling
code working in the MAC version of our stack :-)
I will start working on this when I get back from the IETF. I need to
finish
up the NAT support stuff (almost done) and then I will start looking at
the locking issues that this may bring...
R
--
/"\ Best regards, | [EMAIL PROTECTED]
\ / Max Laier | ICQ #67774661
X http://pf4freebsd.love2party.net/ | [EMAIL PROTECTED]
/ \ ASCII Ribbon Campaign | Against HTML Mail and News
------------------------------
Randall Stewart
803-317-4952 (cell)
803-345-0391(direct)
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"