IP over FireWire and Mac OSX
Andrew Gallatin
gallatin at cs.duke.edu
Fri Mar 25 06:29:25 PST 2005
P.ArulChandran writes:
> By analyzing the packets from FreeBSD in firebug log, I could see that
> unfragmented packets are sent as fragmented packets, with inappropriate
> values in the packet header. Even if the packets are fragmented, the
> 'lf' field is not set correctly. To comply with Section 4.2 of RFC
> 2734, FreeBSD should set 'lf' to correct values to indicate, whether
> the packet is fragmented or unfragmented.
I just read the RFC and it looks like we're both at fault. According
to the RFC:
A RESERVED object has no defined meaning and SHALL be zeroed by its
originator or, upon development of a future standard, set to a
value specified by such a standard. The recipient of a RESERVED object
SHALL NOT check its value.
Emperically it would seem that FreeBSD is not zeroing the reserved
fields like it should. Further, since zeroing the reserved fields
fixes interoperability, it would seem that MacOSX is not ignoring them
like it should. It is fun when different implementations collide in
the field ;)
> In any case, Mac OS X should add more saftey checks to prevent panics
> from corrupted packets.
Yes, and we should zero the reserved fields. Doing so seems to fix
interoperability with unpatched versions of MacOSX. See the attached
patch.
Thanks for letting me know what was going on and making this so easy
to fix..
Drew
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fwip.diff
Type: application/octet-stream
Size: 1150 bytes
Desc: full rfc2734 compliance
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20050325/d7334a6f/fwip.obj
More information about the freebsd-hackers
mailing list