Subject: [lp-wan] Summary (refresher) on issues / suggestions for the fragmentation piece in the SCHC draft

From: "Pascal Thubert (pthubert)" <[email-masked]>
Date: Wed, 12 Apr 2017 13:59:10 +0000

Dear all;

I digged the list and packaged a status;

---------------
Aborting a an exchange, or a series of fragments

A Rule could be used; may be a generic rule like a < NO > prefix

Also that depending in the direction, it might be better that the timeout/abort happens on source or destination so we should support both.

A discussion on timeouts is probably missing here and there

Finally that anything that involves a continuation should have a timer associated, on both sides, so that resources are never wasted forever. For each timeout there should be an action in the standard, be it only clean up and go.

------------

can there be multiple fragmented packets in parallel (how so) ?

interleaving a higher priority packet?

If not:

-  we may have to abort a transmission when emergency occurs, that's bad but simple to do.

- As a result, a long frame in a busy environment may take a lot of energy and never go through. There c/should be rules to abandon it, maybe make that implementation dependent?

If yes:

- then we have to consider the consequences on running timers, which may need to be restarted, but not for ever, upon an interleaved packet.

- can we interleave a fragmented frame? If so we need to define an optional datagram-tag, probably together with the rule ID and the CFN. A datagram tag of 1 bit can be used as a flip flop to disambiguate some situations where fragments of the next frame are confused with fragments of a previous frame. More bits would make it a frame identifier and could allow interleaving of a few fragmented frames.

------------------

Also, editorial :

- introduce the assumptions early in the doc (e.g. no reordering in the network)

- there could be a section explain what the tools are, e.g. CFN, ACK, Bitmap, before we use them

- discussion on what the modes are could be expressed as a matrix with X ==  windowed or not (that's CFN=1 or more), and Y == type of acknowledgement (none, on-error, always). And in that matrix, it would help to figure which modes are available, and then have section to explain the pro/con, possible mitigation of the cons and applicability of each mode.

Pascal