Hello Rahul > One more comment: Section 5.2 says "non-storing Mode DAO to the Root may > contain multicast addresses in the RPL Target Option (RTO)," > An RTO cannot contain multiple addresses. Is it meant to say that multiple > RTOs may contain the different multicast addresses within the same DAO?
Good catch, I used: “ the Root may advertise a multicast address in the RPL Target Option (RTO),” > Ok. That's what I assumed but wanted an explicit response. Multicast/Anycast > proactive cleanup is not possible to handle and lifetime elapsing sounds fine > to me. Should this be explicitly stated? You’re right. Added “ The route disappears when the associated path lifetime in the transit option times out, but the procedure to remove a unicast route based on TID cannot apply to multicast and anycast. “ >> 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… > I feel it is open-ended. Let’s work on it, from experience it is needed. > I have raised a PR to your repo here. I used it, many thanks! Keep safe; Pascal From: 6lo <[email protected]> On Behalf Of Rahul Jadhav Sent: dimanche 12 juin 2022 18:45 To: Routing Over Low power and Lossy networks <[email protected]> Cc: lo <[email protected]> Subject: Re: [6lo] [Roll] draft-ietf-6lo-multicast-registration: route cleanups and storing MOP handling Thanks for the response. PFA my comments inline. One more comment: Section 5.2 says "non-storing Mode DAO to the Root may contain multicast addresses in the RPL Target Option (RTO)," An RTO cannot contain multiple addresses. Is it meant to say that multiple RTOs may contain the different multicast addresses within the same DAO? Thanks, Rahul On Wed, 8 Jun 2022 at 21:23, Pascal Thubert (pthubert) <[email protected]<mailto:[email protected]>> wrote: 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. Ok. That's what I assumed but wanted an explicit response. Multicast/Anycast proactive cleanup is not possible to handle and lifetime elapsing sounds fine to me. Should this be explicitly stated? > 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… I feel 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 have raised a PR to your repo here<https://github.com/pthubert/6lo-multicast-registration/pull/1>. I suggest to move it to the ROLL git when we transfer focus to ROLL? Many thanks again MAny Thanks Pascal From: Roll <[email protected]<mailto:[email protected]>> On Behalf Of Rahul Jadhav Sent: vendredi 3 juin 2022 17:16 To: lo <[email protected]<mailto:[email protected]>>; Routing Over Low power and Lossy networks <[email protected]<mailto:[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 _______________________________________________ Roll mailing list [email protected]<mailto:[email protected]> https://www.ietf.org/mailman/listinfo/roll
_______________________________________________ 6lo mailing list [email protected] https://www.ietf.org/mailman/listinfo/6lo
