[Ns-bugs] [Bug 231] IP Address Confusion in Echo Applications
bugzilla-daemon@nsnam-www.ece.gatech.edu
bugzilla-daemon at nsnam-www.ece.gatech.edu
Tue Jun 24 14:49:40 PDT 2008
http://www.nsnam.org/bugzilla/show_bug.cgi?id=231
------- Comment #3 from craigdo at ee.washington.edu 2008-06-24 17:49 -------
> The only reasonable option seems to be to call Packet::RemoveAllTags in the
> server before sending back the packet to the client. Patch attached.
Hmmm. This doesn't sound like a very good solution to me. The root of the
problem is in the socket code, not the echo server code. I don't think it's a
good plan to have the echo server just strip off all of the tags because the
socket code doesn't deal with the tags it adds properly.
I would be very surprised to find that some random application just decided to
delete all the tags I very carefully added in my simulation.
*The* problem is that (I'll use UDP) ForwardUp creates and attaches a
SocketAddressTag to a packet and queues the packet. RecvFrom dequeues the
packet and does a FindFirstMatchingTag but leaves the tag there. If the packet
is forwarded to another socket, the now useless tag is left there and results
in the next ForwardUp adding a duplicate tag and RecvFrom getting the wrong
one.
No, I don't think the UDP echo server application is the right place to fix
this. I think that ForwardUp needs to error out if it finds a SocketAddressTag
in a packet. I think it needs to add one. I think RecvFrom needs to find that
single tag, use it to get the address and then remove it.
This means adding the ability to remove a tag to a packet. It seems to me that
the simplest thing would be a RemoveFirstMatchingTag call.
--
Configure bugmail: http://www.nsnam.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the Ns-bugs
mailing list