Hi Paul,

Thank you a lot for your review. 
Please find comment s directly inline.
Please let us know if you agree with the proposed changes.

Ciao

L.
 

> -----Original Message-----
> From: Paul Kyzivat <pkyzi...@alum.mit.edu>
> Sent: Tuesday, 30 April 2024 01:06
> To: draft-ietf-6lo-path-aware-semantic-addressing....@ietf.org
> Cc: General Area Review Team <gen-...@ietf.org>; 6lo@ietf.org
> Subject: Gen-ART Early review of draft-ietf-6lo-path-aware-semantic-
> addressing-05
> 
> I am the assigned Gen-ART reviewer for this draft.
> For more information, please see the FAQ at
> 
> <https://trac.ietf.org/trac/gen/wiki/GenArtfaq>.
> 
> Document: draft-ietf-6lo-path-aware-semantic-addressing-05
> Reviewer: Paul Kyzivat
> Review Date: 2024-04-29
> IETF LC End Date: TBD
> IESG Telechat date: TBD
> 
> Summary:
> 
> This draft is on the right track but has open issues, described in the review.
> 
> This review was challenging for me because I know nothing of the subject
> area or any of the important references. I apologize for any stupid comments
> based on my lack of context.
> 
> Below I have not attempted to classify the severity of issues other than Nits
> vs. Issues.
> 
> ISSUES:
> 
> 1) ISSUE: Router parents
> 
> In section 3 (Definition of Terms), in PASA Router:
> 
> Doesn't the router, like the host, request an address from its parent?
> If so then it should be stated.

[LI] Good point. What about switching PASA Router and PASA Host, so to have the 
host first and modifying the PASA router text as follows:

PASA Router:  A PASA Router is an internal node, different from the
      PASA Root, acting as a router, hence as what [RFC8505] names 6LR
      (6LowPAN Router).  Before acting as a router it will act as a PASA Host 
so to 
      acquire and address. Then, similar to the PASA Root, it uses the Tree 
Address
      Assignment Function (TAAF) and performs the address assignment for
      its children.

Would this work?


> 
> In PASA Host:
> 
> s/to its selected parent/from its selected parent/ ???

[LI] Thanks for catching this. We will fix it as suggested.

> 
> 2) ISSUE: Working of OT network domains
> 
> In section 4.4 Industrial Operational Technology Networks, regarding "The OT
> network is represented as PASA domain", I think you mean "The OT network
> is represented as *a* PASA domain".

[LI] Thanks for catching this. We will fix it as suggested.

> 
> In this domain do each of the sensors/actuators have an assigned PASA
> address so that the IPv6 nodes can address them directly?

[LI] Yes

> 
> IOW, does the PLC act as a PASA Router by assigning PASA addresses for
> each of the sensors/actuators? (Even though they don't carry out the steps
> for PASA Hosts.) It would be helpful for the document to be clearer about
> this.

[LI] It depends whether the end-device supports or not IPv6. May be modifying 
the text as:

*  In an idealized PASA-based OT domain, a leaf-node could be a field
      device (sensor or actuator) that always connects to PLC serving as
      last node forwarding traffic to/from the leaves, i.e. sensors and
      actuators. Hence, the PLC will work as a PASA Router only 
     for field devices supporting  IPv6.

Would that work? 

> 
> 3) ISSUE: Multiple Root Nodes
> 
> In section 5 (Architectural Overview) the description of PASA Root says
> "There is typically one root node in the PASA network". Using "typically"
> implies there may be exceptions where there are multiple root nodes. But I
> have the impression that this spec won't work right if there is more than one.
> Do you really want to define that?

[LI] Not really. Multiple roots are needed only in case of reliability issues, 
but you can use existing solutions. 
We will delete 'typically" and add a comment in section 12. 

> 
> 4) ISSUE: Address Assignment
> 
> I have concerns about address assignment as described in section 5
> (Architectural Overview):
> 
>                ...  Each node acquiring a PASA address firstly needs to
>     select a parent node by choosing among the nodes that replied with a
>     Router Advertisement (RA) after an initial Router Solicitation (RS).
>     A "first come first served" selection policy is sufficient.  Then it
>     asks for a PASA address.  In its reply the parent will propose an
>     address according to the node's role, which is indicated in the D-bit
>     of the GAAO message (see Section 10).  The proposed address is
>     algorithmically calculated using the PASA Address Assignment Function
>     (AAF).
> 
> Is this algorithm stable if there are multiple replies to the RS message? IOW,
> will the same address be assigned regardless of the router chosen. This goes
> back to my question if you want to allow redundant routers.

[LI] No, depending on the parent selected the address will be different since 
the topology will be different.
There is only one router selected as default gateway. 
Do you prefer that we add an explicit sentence ??
 
> 
> 5) ISSUE: Root Node Address
> 
> Figure 6 starts out with:
>                              root           +--------------------------+
>                                   1         | append more bits to form |
>                                   O ----+   | brother's address        |
> 
> Subsequent discussion says the root address is "1". So why is the "0"
> present?

[LI] That is actually an "O" not a "zero".  But is true that it can be 
misleading.
[LI] We will change the figure to avoid such an issue. A solution could be to 
frame the addresses like:

                              root           
                               +---+       +--------------------------+
                               | 1 |        | append more bits to form |
                               +----+       | brother's address        |
                                / | \

Better?

> 
> However the AAF algorithm always assigns addresses ending in "0" to
> routers. Wouldn't it be more consistent to give the root the address "0"? (Or
> does the address packing/unpacking described in section 7 require the root
> address to begin with a "1" bit?)

[LI] This is related to the previous issue. Hope with the new figure everything 
will be clearer.

> 
> 6) ISSUE: Tree Address Assignment Function
> 
> In section 6.1 (Tree Address Assignment Function) the function is defined as
> "AAF(role, r, h)" but all the following examples show it as A(...). Please be
> consistent.

[LI] Good point. We will fix this.

> 
> Also I don't understand *when* the AAF function is run for a particular node.
> It is when a particular node seeks its parent and then asks for an address, 
> but
> does it every time it restarts? That doesn't seem deterministic. What if nodes
> start or restart at indeterminant times? I suspect you are making some
> assumptions that aren't stated. Please clarify.

[LI] Excellent point. According to RFC 8505 every node has to keep addressing 
state in non-volatile memory so that in case of reboot the node can re-register 
the same address, not asking for a new one. 
We can fix this in several points:

Section 5: append the following sentence to the paragraph finishing with the 
sentence " The node will then ignore replies from other 6LR neighbors.":
        
        According to [RFC 8505] nodes have store in non-volatile memory the 
PASA address configuration state, so that in case of reboot, they just 
re-register the address without asking for a new one.
 
Section 6.1 : add the sentence:
        
        The indexes r and h MUST be stored in non-volatile memory so that in 
case of reboot a PASA-Router can continue its role without disruptive 
addressing.

Section 10: change the sentence:  
        When a PASA node   bootstraps, it typically does multicast a Routing 
Solicitation(RS)...

To:
        When a PASA node bootstraps, and it has address configuration state in 
its non-volatile memory, it will re-register the address to its parent using 
[RFC 8505] procedures. 
        Otherwise,  it will multicast a Routing Solicitation(RS)....

Add a sentence ass well in section 12 about reliability (See issue 11).
> 
> 7) ISSUE: Packet forwarding
> 
> In section 7.1 all the steps reduce to either "send to parent" or send to a
> particular child. How? I presume this requires a MAC address, but there has
> been no mention of these. It seems to require all nodes to keep a MAC
> address of their parent and routers to keep a MAC for each child with an
> assigned PASA address. This state hasn't been discussed.

[LI] That is correct. PASA leverages on RFC 8505 as mentioned elsewhere. We can 
add the reference here as well. 
> 
> 8) ISSUE: PASA address padding
> 
> In section 8.2 (PASA-6LoRH Format) you say "PASA addresses are aligned on
> the least significant bits." But your example AAF assigns variable length
> addresses that are left aligned. I think these can only be reconciled by
> requiring the root node address to begin with a "1" bit and then left aligning
> to the first "1" bit when unpadding. One way or another you need to have a
> way to determine the bit length of the AAF address when unpadding.

[LI] What we means is that no matter the length the address is put on the least 
significant bits and the we add on the left as many bits are necessary to 
achieve a multiple of 8 bits. 
[LI] may be the sentence should be: 

PASA addresses are padded so to have a length that is a multiple of 8 bits. The 
padding is done by adding a sufficient number of bits, with value zero, in the 
most significant bits of the bit string, so that the PASA address occupies the 
least significant bits.

Is this sufficiently precise?

> 
> 9) ISSUE: Node role indication
> 
> In section 9 (Nodes role indication) you say "Nodes not setting both B and L
> bits are considered PASA Nodes." But I think you mean "Nodes with neither
> the B nor L bit set are considered PASA Nodes."
> 
[LI] That is correct. Thanks for the suggestion.


> 10) ISSUE: IANA registration
> 
> In section 11.2 (PASA Address Assignment Function) I couldn't find the IANA
> "Generic Address Assignment Option Parameters" registry. Do you intend to
> have it created? If so you need to request that.

[LI] That registry will be created by [I-D.iannone-6lo-nd-gaao], which is 
advancing in parallel.

> 
> 11) ISSUE: Reliability Consideration
> 
> In section 12 (Reliability Considerations) as I mentioned above, I'm concerned
> that simple variability in the order that nodes start up may result in
> inconsistent address assignment. Hopefully I'm wrong about this. Can you
> explain this to me?

[LI]  This is also related to the point you made in issue 6.
Here after an improved Section 12, which, with the other changes described in 
issue 6, will hopefully address your concerns.

 12.  Reliability Considerations

   Because PASA uses algorithmically generated addresses based on the
   network topology, nodes do not generate and store forwarding table
   entries in the normal case.  They are limited to have a default gateway 
  and the ND table.  One of the potential issues is the risk  of renumbering 
  of addresses in case of topology changes. Because of the applicability domain 
   of PASA, the common case of topology change is known in advance and can
  be planned, so to reduce disruption due to renumbering. 
  
   Another case is temporary link failures or node temporary failures, where the
   underlying technology is still able to provide connectivity through
   alternative links, which is strictly related to the underlying
   technology, the network topology, the deployed redundancy, and the
   expected reliability. Failures may raise the issue  of topology changes and 
   re-numbering. Such an issue can be avoided following the  procedures in 
   [RFC8505] keeping state in non-volatile memory. 
  
   More complex reliability scenarios, including the case for multiple root 
nodes 
   and alternative solutions, are beyond the scope of this document, which is 
focused 
   only on the address allocation framework and stateless forwarding.  
Furthermore,
   specific reliability solutions can depend as well on the specific
   Address Assignment Function used (different from the one presented in
   this document).  Reliability is discussed in more details in
   [I-D.li-6lo-pasa-reliability].

> 
> NITS:

[LI] Thanks catching these. We will fix them. 

> 
> In section 1 (Introduction), in "This document introduces a topology-based
> addressing mechanism with that allows".
> 
> s/with that/that/
> 
> In Figure 5, There is an extra space after "PASA Domain" that messes up the
> line art.
> 
> Section 7.1 (Forwarding toward a local PASA endpoint) starts with "Inner-
> domain packets carry ...". From context I conclude you mean "Intra-domain
> packets carry ..."
> 
> In section 7.2 (Forwarding toward an external IPv6 address), in "When the
> network forwarding operation are based on [RFC8138]",
> 
> s/operation are based/operation is based/ or s/operation are
> based/operations are based/
> 
> In section 10 (PASA Address Configuration Procedure), in "The requester
> MUST indicate its role as indicated in {SEC:role}", what is "{SEC:role}"? I 
> don't
> find any other mention of it. Is it intended to be an internal cross 
> reference?
> 
> In section 13 (Security Considerations),
> 
> s/rouge/rogue/
> 
> In section 14 (Privacy Considerations),
> 
> s/buildbased/build based/
> s/avoid expose/avoid exposing/
> 
> That's all!
_______________________________________________
6lo mailing list
6lo@ietf.org
https://www.ietf.org/mailman/listinfo/6lo

Reply via email to