Subject: [Gen-art] Review: draft-ietf-pim-join-attributes-for-lisp-05

From: Lucy yong <[email-masked]>
Date: Mon, 17 Oct 2016 19:09:15 +0000

Send again.  fix some template info.

From: Lucy yong
Sent: Monday, October 17, 2016 1:59 PM
To: A. Jean Mahoney; General Area Review Team; [email-masked]'
Subject: [Gen-art] Review: draft-ietf-pim-join-attributes-for-lisp-05

I am the assigned Gen-ART reviewer for this draft. The General Area Review Team (Gen-ART) reviews all IETF documents being processed by the IESG for the IETF Chair.  Please treat these comments just like any other last call comments.

For more information, please see the FAQ at

<http://wiki.tools.ietf.org/area/gen/trac/wiki/GenArtfaq>.

Document: draft-ietf-pim-join-attributes-for-lisp-05

     PIM Join Attributes for LISP environments.

Reviewer: Lucy Yong

Review Date: 17-Oct-2016

IETF LC End Date: 24-Oct-2016

IESG Telechat date:

Summary: This document specifies two new PIM join/prune attributes for facilitating PIM mcast transports across LISP sites. Some issues need to be considered prior to publishing.

Major issues:

the draft assumes that PIM works within individual LISP sites but PIM mcast transport may not be supported among LISP sites. However the mechanism itself does not enforce a unique (unicast or mcast) underlay transport among LISP sites. Could some ETRs request unicast transport, other request multicast transport? The mechanism requires all LISP xTRs to run PIM protocol, right?

PIM join/prune msg are designed for PIM protocol. These two attributes are specifically designed for LISP purpose. Any concern here? From PIM perspective, they are optional attributes; are they "MUST" attributes for LISP (mcast)?

Minor issues: the draft uses many PIM and LISP terms without any explanation. It is hard for a reader to read it without knowledge of PIM and LISP protocol and terms.

It is not clear if Receiver RLOC attribute only applies to unicast transport or both unicast/mcast transport. Need to clarify.

Backward compatibility, without these two attributes in a join/prune msg from a LISP ETR, what that mean?

Nits/editorial comments:

Section 1: "to be notified should the root of the
   distribution tree move to another site."  Should "should" be "that"?

Section 5: several 'must' should be "MUST"

Regards,
Lucy

---

From: "Stig Venaas (svenaas)" <[email-masked]>
Date: Tue, 18 Oct 2016 13:39:26 -0700

Hi

Thanks for the review Lucy, please see comments inline.

On 10/17/2016 12:09 PM, Lucy yong wrote:
> //
> / /
> *From:*Lucy yong
> *Sent:* Monday, October 17, 2016 1:59 PM
> *To:* A. Jean Mahoney; General Area Review Team;
> [email-masked]'
> *Subject:* [Gen-art] Review: draft-ietf-pim-join-attributes-for-lisp-05
>
>
>
> I am the assigned Gen-ART reviewer for this draft. The General Area
> Review Team (Gen-ART) reviews all IETF documents being processed by the
> IESG for the IETF Chair.  Please treat these comments just like any
> other last call comments.
>
>
>
> Summary: This document specifies two new PIM join/prune attributes for
> facilitating PIM mcast transports across LISP sites.*//*Some issues need
> to be considered prior to publishing.
>
>
>
> Major issues:
>
>
>
> the draft assumes that PIM works within individual LISP sites but PIM
> mcast transport may not be supported among LISP sites. However the
> mechanism itself does not enforce a unique (unicast or mcast) underlay
> transport among LISP sites. Could some ETRs request unicast transport,
> other request multicast transport? The mechanism requires all LISP xTRs
> to run PIM protocol, right?

We are sending a PIM join and we assume that the upstream LIS xTR is
supporting PIM. This is similar to RFC 6831. If PIM is not supported,
the join message would be ignored. As we mention in section 4 we want
to allow a mixture of multicast and unicast forwarding.
>
>
> PIM join/prune msg are designed for PIM protocol. These two attributes
> are specifically designed for LISP purpose. Any concern here? From PIM
> perspective, they are optional attributes; are they “MUST” attributes
> for LISP (mcast)?

It is possible to do multicast according to 6831 without these
attributes. As we mention in this draft, the transport attribute is
useful in telling the upstream whether to use unicast or multicast.
6831 only talks about multicast.

We also discuss in this section 5 how the ETR RLOC attribute is helpful
in determining the unicast destination address and for root-EID
mobility. As we mention, one could without the RLOC attribute instead
use the outer source address of the LISP encapsulated J/P message, but
that may not necessarily be the best/right address to use. So I think
we are explaining how one can do LISP multicast without these new
attributes, but there are benefits in using them. So in short, they are
not "MUST" attributes, but there are good reasons for using them.

> Minor issues: the draft uses many PIM and LISP terms without any
> explanation. It is hard for a reader to read it without knowledge of PIM
> and LISP protocol and terms.

We could perhaps clarify some, but I think we should expect someone
reading this in order to implement it, or in order to understand an
implementation, to have some knowledge of both PIM and LISP. At least
terms like RLOC, EID, ITR, ETR and xTR.

> It is not clear if Receiver RLOC attribute only applies to unicast
> transport or both unicast/mcast transport. Need to clarify.

Perhaps we should make this clearer. Currently we have this text in
section 5:

    To support root-EID mobility, receiver ETRs must also be tracked by
    the LISP control plane of the root ITR, regardless of the underlying
    transport.

In other words, one could choose not to use it for multicast transport,
but that means one may not be able to support root-EID mobility.
Mobility may not always be a requirement, but it often is.

> from a LISP ETR, what that mean?

An implementation could fall back to assuming multicast transport (per
6831) and the outer source address when the attributes are not present.

> Nits/editorial comments:
>
>
>
> Section 1: “to be notified should the root of the
>
>    distribution tree move to another site.”  Should “should” be “that”?

No, it is used a synonym of "in case" here.

> Section 5: several ‘must’ should be “MUST”

I'm not sure honestly. It is describing what implementations generally
need to do (or must), but it is not something we are specifying or
enforcing here, it is just information explaining how things generally
work.

Thanks,
Stig

---

From: Lucy yong <[email-masked]>
Date: Wed, 19 Oct 2016 17:01:33 +0000

Hi Stig and Dino,

Pls see inline below.

-----Original Message-----
From: Stig Venaas (svenaas) [mailto:[email-masked]] 
Sent: Tuesday, October 18, 2016 3:39 PM
To: Lucy yong; [email-masked]; A. Jean Mahoney; General Area Review Team
Subject: Re: [Gen-art] Review: draft-ietf-pim-join-attributes-for-lisp-05

Hi

On 10/17/2016 12:09 PM, Lucy yong wrote:
> *Subject:* [Gen-art] Review: 
> draft-ietf-pim-join-attributes-for-lisp-05
>
>
>
> Review Team (Gen-ART) reviews all IETF documents being processed by 
> the IESG for the IETF Chair.  Please treat these comments just like 
> any other last call comments.
>
>
>
> facilitating PIM mcast transports across LISP sites.*//*Some issues 
> need to be considered prior to publishing.
>
>
>
> Major issues:
>
>
>
> other request multicast transport? The mechanism requires all LISP 
> xTRs to run PIM protocol, right?

We are sending a PIM join and we assume that the upstream LIS xTR is supporting PIM. This is similar to RFC 6831. If PIM is not supported, the join message would be ignored. As we mention in section 4 we want to allow a mixture of multicast and unicast forwarding.
[Lucy] I am thinking that how many PIM protocol instance may run in this case, one is within a LISP site, one is for LISP underlay network, and one among LISP xTRs, is this right? PIM protocol instance running for LISP xTRs is a special version with additional LISP related attributes? When configuring PIM protocol on a device, do we need to differ them in configuration? Sorry to ask these, I have not yet read RFC6831 but understand what you want to achieve here.
> perspective, they are optional attributes; are they "MUST" attributes 
> for LISP (mcast)?

It is possible to do multicast according to 6831 without these attributes. As we mention in this draft, the transport attribute is useful in telling the upstream whether to use unicast or multicast.
6831 only talks about multicast.
[Lucy] This means that without using this attribute, it means use of multicast transport. Good to make that clear in the document for backward compatibility. Alternative is only using this attribute when unicast transport is requested.

We also discuss in this section 5 how the ETR RLOC attribute is helpful in determining the unicast destination address and for root-EID mobility. As we mention, one could without the RLOC attribute instead use the outer source address of the LISP encapsulated J/P message, but that may not necessarily be the best/right address to use. So I think we are explaining how one can do LISP multicast without these new attributes, but there are benefits in using them. So in short, they are not "MUST" attributes, but there are good reasons for using them.
[Lucy] So this attribute is only benefit for unicast case.

> explanation. It is hard for a reader to read it without knowledge of 
> PIM and LISP protocol and terms.

We could perhaps clarify some, but I think we should expect someone reading this in order to implement it, or in order to understand an implementation, to have some knowledge of both PIM and LISP. At least terms like RLOC, EID, ITR, ETR and xTR.

> transport or both unicast/mcast transport. Need to clarify.

Perhaps we should make this clearer. Currently we have this text in section 5:

In other words, one could choose not to use it for multicast transport, but that means one may not be able to support root-EID mobility.
Mobility may not always be a requirement, but it often is.

No, it is used a synonym of "in case" here.
[Lucy] text  "It determines the downstream destination for unicast head-end replication and identifies the
   receiver ETR that needs to be notified should the root of the
   distribution tree move to another site."  I don't understand this sentence.

> Section 5: several 'must' should be "MUST"

I'm not sure honestly. It is describing what implementations generally need to do (or must), but it is not something we are specifying or enforcing here, it is just information explaining how things generally work.
[Lucy] examples: the PIM control plane of the root ITR must
   maintain an output interface list ("oif-list") entry for the receiver
   ETR and its corresponding RLOC address.

   receiver ETRs must also be tracked by
   the LISP control plane of the root ITR, regardless of the underlying
   transport.  

Maybe I could be wrong.

Regards,
Lucy

Thanks,
Stig

---

From: Dino Farinacci <[email-masked]>
Date: Wed, 19 Oct 2016 10:14:39 -0700

> [Lucy] I am thinking that how many PIM protocol instance may run in this case, one is within a LISP 

Two. One at all LISP sites (not one per LISP site) and part of the overlay and possibly one in the underlay.

> site, one is for LISP underlay network, and one among LISP xTRs, is this right? PIM protocol instance running for LISP xTRs is a special version with additional LISP related attributes? When configuring 

I don’t know what you mean by “additional LISP related attributes”. The LISP xTR runs PIM and sends unicast PIM Join/Prune messages to other xTRs.

> PIM protocol on a device, do we need to differ them in configuration? Sorry to ask these, I have not yet read RFC6831 but understand what you want to achieve here.

That is implementation specific. And the details are in RFC6831. And if you are going to do a quality review of this document, you should read RFC 6831.

> It is possible to do multicast according to 6831 without these attributes. As we mention in this 

Yes, if multicast is in the underlay and reaches every LISP site. But the point is, it may not. Plus this draft can be used when RFC 6831 is NOT used but when draft-ietf-lisp-signal-free-multicast is used so the ITR can know if multicast RLOCs can be used. 

But the best test to know if a multicast RLOC should be used is to RLOC-probe it and see all the ETRs that reply. Then you know which ETRs can received the encapsulated multicast packet via a multicast underlay. And the ones that don’t, you unicast replicate. This is the case where multicast partially deployed in the underlay.

Dino

---

From: Lucy yong <[email-masked]>
Date: Wed, 19 Oct 2016 18:51:02 +0000

Dino,

please see inline below.

>> mechanism itself does not enforce a unique (unicast or mcast) 
>> underlay transport among LISP sites. Could some ETRs request unicast 
>> transport, other request multicast transport? The mechanism requires 
>> all LISP xTRs to run PIM protocol, right?
> 

Two. One at all LISP sites (not one per LISP site) and part of the overlay and possibly one in the underlay.
[Lucy] Thank, Dino. This is helpful. So the attributes proposed in this draft is used in the first PIM instance, right? These attributes are only used by ETRs to send join/prune msg to ITR (root).

> site, one is for LISP underlay network, and one among LISP xTRs, is 
> this right? PIM protocol instance running for LISP xTRs is a special 
> version with additional LISP related attributes? When configuring

I don’t know what you mean by “additional LISP related attributes”. The LISP xTR runs PIM and sends unicast PIM Join/Prune messages to other xTRs.
[Lucy] I mean the attribute is per LISP specific implementation.

> PIM protocol on a device, do we need to differ them in configuration? Sorry to ask these, I have not yet read RFC6831 but understand what you want to achieve here.

That is implementation specific.
[Lucy] PIM is a protocol running on top of IGP. Now we have PIM LISP implementation specific. Within a LISP site, PIM has no change; the LISP implementation are only on XTRs.
 And the details are in RFC6831. And if you are going to do a quality review of this document, you should read RFC 6831.
[Lucy] I hear you. 

>> PIM join/prune msg are designed for PIM protocol. These two 
>> attributes are specifically designed for LISP purpose. Any concern 
>> here? From PIM perspective, they are optional attributes; are they 
>> "MUST" attributes for LISP (mcast)?
> 
> attributes. As we mention in this

But the best test to know if a multicast RLOC should be used is to RLOC-probe it and see all the ETRs that reply. Then you know which ETRs can received the encapsulated multicast packet via a multicast underlay. And the ones that don’t, you unicast replicate. This is the case where multicast partially deployed in the underlay.
[Lucy] You are the expert on this subject. From the draft text, I am not able to picture these. 

Regards,
Lucy

Dino

---

From: Dino Farinacci <[email-masked]>
Date: Wed, 19 Oct 2016 11:57:07 -0700

> [Lucy] Thank, Dino. This is helpful. So the attributes proposed in this draft is used in the first PIM instance, right? These attributes are only used by ETRs to send join/prune msg to ITR (root).

Right.

> [Lucy] I mean the attribute is per LISP specific implementation.

Well, you could use VXLAN encapsulation as the data-plane (arguably, with 14 bytes of unnecessary overhead).

> [Lucy] PIM is a protocol running on top of IGP. Now we have PIM LISP implementation specific. Within a 

You are conflating the relationship between PIM and LISP. PIM runs side-by-side with BGP, OSPF, IS-IS, and LISP. That is the way to look at it. Do they depend on each other? The answer is no. PIM uses the RIB that is populated by BGP, OSPF, IS-IS. And LISP uses the mapping database to find RLOCs where then it uses the RIB/FIB to forward to RLOCs.

There is no case where PIM messages are encapsulated by LISP. I mean it can be but it is not spec’ed anywhere and is not needed unless some new design feature is desired by it (like PIM Join/Prune messages need confidentiality so they are encapsulated in lisp-crypto).

> [Lucy] You are the expert on this subject. From the draft text, I am not able to picture these. 

Just taking a holistic view.

Dino