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

Reply via email to