Hi all,

I also have comments on draft-ietf-6tisch-6top-protocol-03; some of
them are covered by Simon. :-)
# I put a tag for each item: [C] for comment/suggestion, [Q] for
# question.

* Section 4.2.2:

- [Q] Why must the value of SeqNum increment *by exactly one* at each
      new 6P request to a certain neighbor?

* Section 4.2.6:

- [C] There are ineffective combinations of CellOptions in Figure 11,
      for example, "TX=0,RX=0,S=1".

- [C] I'd suggest listing only valid combinations of CellOption bits
      and mentioning others are invalid.

- [C] The phrase, "marked as", in Figure 11 is a bit ambiguous... Something
      like "its linkOptions matches exactly" is better?

* Section 4.2.13:

- [C] The length of "Num. Cells" is 2-octet long in the text, but
      1-octet in the figure.
      # The Wirehark patch for draft-03 treats the field as a
      # one-octet field.

draft> When responding to an STATUS request, the "Other Field"
draft> contains the number of cells scheduled between node A and node
draft> B that match the CellOptions field, encoded as a 2-octet
draft> unsigned integer.  This is shown in Figure 12.
draft>
draft>                       1                   2                   3
draft>   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
draft>  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
draft>  |Version| T | R |     Code      |     SFID      | SeqNum|GAB|GBA|
draft>  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
draft>  | Num. Cells    |
draft>  +-+-+-+-+-+-+-+-+
draft>
draft>                              Figure 12

* Section 4.3:

simon> do we wait for a link-layer ACK on the Response (or
simon> Confirmation) before committing the transaction?

I came up with the same question while thinking about the
inconsistency handling thing.

- [C] I guess, most of implementation send a data frame with an
      acknowledged transmission. But, according to IEEE 802.15.4, it
      seems an option even for the Data frame. If a 6P frame is always
      expected to require a MAC level acknowledgement, it'd be better
      to mention like, "a 6P frame SHOULD/MUST have one in the AR
      field".

- [Q] If yes to the question by Simon, is it a right thing for 6P, an
      upper layer protocol on IEEE 802.15.4 MAC, to use the MAC level
      acknowledgement as signaling for its own purpose?

- [C] If an operation is executed after sending a response, I guess so
      as per 4.3.11, the description of RC_SUCCESS in Figure 9 would
      need to be updated. Strictly speaking, an ADD/DELETE/CLEAR
      operation is yet to be done at the time of sending a response
      with RC_SUCCESS to a corresponding request. The current
      description for RC_SUCCESS is "operation succeeded".

* Section 4.3.3:

- [Q] Are the following sentences correct? They allow a pair of nodes
      to open two transactions in parallel. I think these transactions
      might cause inconsistency in their schedule generations.

draft> Only a single 6P Transaction between two neighbors, in a given
draft> direction, can take place at the same time.
draft> (snip)
draft> Nodes A and B MAY support having two transactions going on at
draft> the same time, one in each direction.

      Here is a simple example in which nodes update their schedule
      generation counters after receiving a MAC-level ACK for a 6P
      Response frame:

      Step-1: Node A Send Request  (GAB=0, GBA=0) : Queued
      Step-2: Node B Send Request  (GAB=0, GBA=0) : Queued

      Step-3: Node B Recv Request                 : Send MAC-ACK
      Step-4: Node B Send Response (GAB=0, GBA=0) : Queued
      Step-5: Node A Recv Request                 : Send MAC-ACK
      Step-6: Node A Send Response (GAB=0, GBA=0) : Queued

      Step-7: Node A Recv Response                : Send MAC-ACK
      Step-8: Node B Update GTX/GRX               : (GTX=0, GRX=1)
      Step-8: Node B Recv Response (GAB=0, GBA=0) : Detect Inconsistency

* Section 4.3.10

- [C] I'm not sure typical use cases of the LIST operation. When does
      a SF use STATUS and LIST...? I think these commands would be
      useful for the purpose of management or administration. But,
      it's not within the scope of SF, is it? I'd be nice that a
      typical use case of LIST is provided in the text.

* General / open:

simon> is there any option to install broadcast cells? (a bit tricky
simon> as this needs consensus over 2+ nodes, this probably takes a
simon> 2PC or 3PC, but can be needed)

+1.

- [C] The draft implies that a MAC address of the peer is set to the
      "macNodeAddress" attribute of a allocated cell. If this is the
      case, it'd be better to mention that in the text.

I have a couple of related questions in addition to what Simon asked:

- [Q] What if a node has a short address as well as an extended
      address?

- [Q] Is there any plan for 6P to support the following cells?
      - a cell whose macNodeAddress is a group MAC address or a 16-bit
        multicast address
      - a dedicated TX cell to multiple recipients
      - a RX cell shared with multiple senders

That's all! Thank you!!

Best,
Yatch

On 2016/11/22 20:40, Simon Duquennoy wrote:
Hi all,

Reading the current draft draft-ietf-6tisch-6top-protocol-03, a few
points were not clear to me:

* Section 4.2.7: why do cells only have a recommended format? I guess
it's up to the SF, but if so, this is worth stating explicitly.

* Section 4.2.7: what happens when cells don't fit a single packet?
This was answered here [1] but I couldn't find any info in the text.

* Section 4.3: protocol behavior. only 2-way transactions are
detailed, why not 3-way?

* Section 4.3: when to use 2 or 3-way transactions? Is the latter for
added reliability or only to handle the case where the request has
CellList == []. Clarification needed IMO.

* Section 4.3: do we wait for a link-layer ACK on the Response (or
Confirmation) before committing the transaction?

* Section 4.3: no description of the STATUS command?

* Section 4.3.2: interaction among different SFs: does LIST return
only the current SF's cells or all cells in the system? Can DELETE
remove cells installed by other SFs? Does CLEAR clear cells installed
by other SFs?

* Section 4.3.11.1: single bit for the GTX/GRX count value means two
consecutive failed transactions will be forever unnoticed. Is that ok?
Couldn't we use a single 4-bit counter instead of two 2-bit? Wouldn't
a simple counter work instead of lollipop?

* Terminology: I've seen both "2-steps" and "2-ways" used in the document

* General / open: is there any option to install broadcast cells? (a
bit tricky as this needs consensus over 2+ nodes, this probably takes
a 2PC or 3PC, but can be needed)

* General / open: should we recommend / force having at least one
rendez-vous cell (via minimal or otherwise), so as to guarantee
reachability of all nodes? Else, a single failed CLEAR transaction
results in definitive loss of connectivity between two nodes.

Apologies if this was covered in previous discussions I might have
missed. Please let me know if I should have opened tickets on the
issue tracker instead.

Thanks,
Simon

[1] https://www.ietf.org/mail-archive/web/6tisch/current/msg04758.html

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


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

Reply via email to