[ee122] MNL vs. UDP sendto()

Christopher Cowart ccowart at berkeley.edu
Tue Dec 11 01:24:20 PST 2007


On Tue, Dec 11, 2007 at 01:14:55AM -0800, Kristian Lyngbaek wrote:
> We had a fully functional ready to submit program using UDP sendto() (well
> before submission deadline i might add).
> 
> We are under the impression that MNL sendto() is supposed to be a
> transparent function such that we can replace all of our UDP sendto()s with
> MNL sendto()s.
> 
> This is not the case.

MNL intercepts and resends the outbound UDP datagrams. After MNL is done
with them, the src port is rewritten. This is mentioned in the revised
spec. Given we designed out proto to sit on top of UDP, we assumed we
wouldn't have to track ports. With the revised spec, we had to revisit
that.

You'll need to embed the src port in the messages so the remote host
knows where to send reply datagrams. This would be unnecessary if MNL's
sentto was actually a drop-in replacement.

-- 
Chris Cowart
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 824 bytes
Desc: not available
Url : http://mailman.ICSI.Berkeley.EDU/pipermail/ee122/attachments/20071211/5ace92d1/attachment-0001.bin 


More information about the ee122 mailing list