Hi Richard: I'm confused by 2 things.
1) why do you desire to suppress alignment? 2) The ack is in the fragment header, so how'd you ack a non fragmented packet? Cheers, Pascal -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Richard Kelsey Sent: Friday, February 19, 2010 2:54 PM To: Jonathan Hui Cc: [email protected] Subject: Re: [6lowpan] RFC 4944 fragmentation and future extensions If we are going to mess with the fragment headers, and not just change the length and offsets from uncompressed to compressed, then my preferences would be: - Remove the alignment requirement for offsets. - Allow for some kind of ack, whether or not a packet is fragmented. 802.15.4 acks have their problems, so as long as we are adding an ack we should make it a general one. - Maintain backward compatibility. While I am not sure that backwards compatibility matters a great deal for this, being compatible is simpler. If nothing else, it makes life a lot easier for Wireshark and other tools. I really do not see the need to make the fragment header a byte shorter at the cost of using up a large block of dispatch bytes. We can't be sure we are getting fragmentation right this time, either. A proposal: Fragment: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Fragment (TBD)| datagram_tag |A|R| datagram_ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ size | datagram_offset | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ A = ack requested R = reserved Datagram_size and datagram_offset are with respect to the compressed datagram. datagram_offset is zero for the first fragment. Ack request for an unfragmented packet: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Ack Req (TBD) | datagram_tag | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Ack: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Ack (TBD) |M| datagram_tag | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ [mask] | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ M = mask present An ack with no mask acks the entire datagram, fragmented or not. -Richard Kelsey _______________________________________________ 6lowpan mailing list [email protected] https://www.ietf.org/mailman/listinfo/6lowpan _______________________________________________ 6lowpan mailing list [email protected] https://www.ietf.org/mailman/listinfo/6lowpan
