Hello Rahul Many thanks for your review!!
Please see below: > storing MOP handling: Even though the draft mentions that storing MOP should > also work, the details seem to be missing (or it might be an oversight on my > side). This is effectively https://datatracker.ietf.org/doc/html/rfc6550#section-12; this is indicated in the introduction and the overview. Effectively the TID must be ignored and the RFC misses text to that effect. This oversight (of ours at the time of RFC 6550) is corrected in the cases covered by the draft though we do not specifically update RFC 6550 to clarify that it also applies to MOP3. I’m adding text to be more specific on this: “ Though it was implicit in [RFC6550], this specification clarifies that the freshness comparison based on the TID field is ignored for RPL multicast operations. A RPL router maintains a remaining Path Lifetime for each DAO that it receives for a multicast target, and sends it own DAO for that target with the longest remaining lifetime across its listening children. “ Same for MOP 5 “ As with MOP 3, the freshness comparison based on the TID field is ignored for RPL MOP 5 multicast operations. The Root maintains a remaining Path Lifetime for each DAO that it receives, and the 6LRs generate the DAO for multicast addresses with the longest remaining lifetime across its registered 6LNs. “ There is no route cleanup. There’s history of async clean up to do damage in race conditions. It’s hard enough for unicast, we do not attempt for multicast or anycast. So we leave it to lifetime elapsing. > This opens up a lot of possibilities and I am not sure how the hybrid mode > would work. Well, the announced MOP is 1 but there’s storing mode DAO for multicast happening as well. Some out of band control would allow this to happen. We can remove that text if people think it is open ended… > "MUST retain a routing table entry for each children", is a change from the > default behaviour and thus has impact on backward compatibility which is not > called out in the corresponding backward compatibility section. This is described in section 12 of RFC 6550 for MOP 3: “ As a result, multicast routing states are installed in each router on the way from the listeners to the DODAG root, enabling the root to copy a multicast packet to all its children routers that had issued a DAO message including a Target option for that multicast group. “ > What is the preferred mode for sending syntax fixes since I dont see this > draft on github? The git is https://github.com/pthubert/6lo-multicast-registration; you’re very welcome to submit a pull request. I pushed the changes above in https://github.com/pthubert/6lo-multicast-registration/commit/02f5b9144f39f54e76ee2c8b480703449450ddf3 I suggest to move it to the ROLL git when we transfer focus to ROLL? Many thanks again Pascal From: Roll <[email protected]> On Behalf Of Rahul Jadhav Sent: vendredi 3 juin 2022 17:16 To: lo <[email protected]>; Routing Over Low power and Lossy networks <[email protected]> Subject: [Roll] draft-ietf-6lo-multicast-registration: route cleanups and storing MOP handling Hello Pascal, Authors, Thank you for this work. We had discussions before where the ability to register anycast/multicast addresses for 6LN nodes spanning RPL (or even non-RPL) network was missing. This work fulfills that requirement. Following is my review of the draft: 1. storing MOP handling: Even though the draft mentions that storing MOP should also work, the details seem to be missing (or it might be an oversight on my side). Consider following instances (for storing MOP): a. in the case where multiple 6LNs subscribe to the same multicast address in the same DODAG, how will the intermediate 6LR handle this situation? Is it expected that the 6LR maintains state for all DAOs? Note that the DAOs may come from different paths when the parent switching happens and thus bloat the state. The only new thing added in the context is the 'M' flag in the RTO. The path-sequence, TID seems to be getting mandatorily ignored as per the text. b. How would the route cleanup happen for multicast/anycast addresses? From non-storing mode perspective, I realize that it will be much easier handling since the DAO from the 6LR is directly targeted to the root and thus the root would be able to handle all the complexity. But the text seem to be loosely specified in the context of storing mode. For e.g., consider section 5.1 which talks about storing MOP handling... it states, "Though it is preferred to build separate RPL Instances, one in MOP 1 and one in MOP 3, this specification allows to hybrid the Storing Mode for multicast and Non-Storing Mode for unicast in the same RPL Instance, more in Section 10." This opens up a lot of possibilities and I am not sure how the hybrid mode would work. I see text in Section 5.3 that roughly handles some part by stating, "Like the 6LR, a RPL router in Storing Mode propagates the route to its parent(s) in DAO messages once and only once for each address, but it MUST retain a routing table entry for each of the children that advertised the address." "MUST retain a routing table entry for each children", is a change from the default behaviour and thus has impact on backward compatibility which is not called out in the corresponding backward compatibility section. What is the preferred mode for sending syntax fixes since I dont see this draft on github? Again, thanks for this work. Best Regards, Rahul
_______________________________________________ 6lo mailing list [email protected] https://www.ietf.org/mailman/listinfo/6lo
