As was discussed previously on the mailing list, the datagram-tag size was a bit aggressively small at 10 bits, which got us another DISCUSS comment.

Datagram-Tags need to be unique over the time a receiver keeps fragments for reassembly, and Geoff has calculated a sender could only use half a 256 kbit/s link with 10 bits of datagram-tag, a situation that would become worse with the faster links in the pipeline.

So we need to add a byte.  What do we do with the 8 new bits?
Allocate them all to the datagram-tag? This provides some future- proofing, but we only really need 4 or 5 bits in the immediate future. We couldn't quite figure out what to do with any "reserved bits" so far, so the mailing list consensus so far was to use all 8 bits.

This leads to a somewhat awkward tag size of 18 bits.
In the meeting today, we discussed cutting back to 16, reshuffling the header to obtain alignment, and assigning the two "reserved bits" to the header type discriminator. Simpler to implement, and future- proofing in a different way (by leaving bits for extensions).

The text proposal below does not attempt to fix the ambiguity of:

The sender SHALL increment datagram_tag for successive, fragmented
      datagrams.

If anyone thinks this is absolutely required, they should define whether this is a single value per sender, incremented for every new datagram, or whether a sender has to keep (indefinitely!?) per- receiver counters.

Separate from this detail, if there are any issues with the text proposed below, we need to know quickly.

Gruesse, Carsten

OLD:
                           1                   2
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |1 1 0|    datagram_tag   |    datagram_size    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Figure 10: First Fragment

NEW:
                           1                   2                   3
       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |1 1 0 0 0|    datagram_size    |         datagram_tag          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


                         Figure 10: First Fragment

OLD:
                           1                   2                   3
       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |1 1 1|    datagram_tag   |    datagram_size    |datagram_offset|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Figure 11: Subsequent Fragments

NEW:
                           1                   2                   3
       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |1 1 1 0 0|    datagram_size    |         datagram_tag          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |datagram_offset|
      +-+-+-+-+-+-+-+-+

                      Figure 11: Subsequent Fragments


OLD:
   datagram_tag:  The value of datagram_tag (datagram tag) SHALL be the
      same for all link fragments of a payload (e.g., IPv6) datagram.
The sender SHALL increment datagram_tag for successive, fragmented
      datagrams.  The incremented value of datagram_tag SHALL wrap from
      1023 back to zero.  This field is 10 bits long, and its initial
      value is not defined.

NEW:
   datagram_tag:  The value of datagram_tag (datagram tag) SHALL be the
      same for all link fragments of a payload (e.g., IPv6) datagram.
The sender SHALL increment datagram_tag for successive, fragmented
      datagrams.  The incremented value of datagram_tag SHALL wrap from
      65535 back to zero.  This field is 16 bits long, and its initial
      value is not defined.


_______________________________________________
6lowpan mailing list
[email protected]
https://www1.ietf.org/mailman/listinfo/6lowpan

Reply via email to