Subject: Re: [bess] bess: draft-zzhang-bess-mvpn-msdp-sa-interoperation

From: "Jeffrey (Zhaohui) Zhang" <[email-masked]>
Date: Thu, 11 Jan 2018 16:42:30 +0000

Sorry for the late follow-up on this.

> -----Original Message-----
> From: Stig Venaas [mailto:[email-masked]]
> Sent: Monday, December 4, 2017 5:18 PM
> To: Toerless Eckert <[email-masked]>
> Cc: Jeffrey (Zhaohui) Zhang <[email-masked]>; MBONED WG
> <[email-masked]>; Toerless Eckert <[email-masked]>; Lenny Giuliano
> <[email-masked]>; [email-masked]
> Subject: Re: [bess] bess: draft-zzhang-bess-mvpn-msdp-sa-interoperation
> 
> Hi
> 
> On Fri, Nov 24, 2017 at 7:21 AM, Toerless Eckert <[email-masked]> wrote:
> > On Fri, Nov 24, 2017 at 02:26:39PM +0000, Jeffrey (Zhaohui) Zhang wrote:
> >> > a) I was asking Jeffrey in the WG meeting if he saw any difference
> >> >    between MSDP and 4610 wrt. to the applicability of your draft, and
> >> >    he also said no (as i think too), thats where this originated.
> >>
> >> On the spot I did make a mistake that I thought with 4610 the RPs would
> propagate registers (received from a C-RP) to another :-) Lenny caught that.
> 
> Isn't that exactly what 4610 does though? Any register received by one
> RP in the anycast RP set, is replicated and sent to each of the other
> routers in the set.

What I meant is that in the meeting I had thought a RP, say RP2, would forward the register that it receives from another RP, say RP1, to other RPs, say RP3. In RFC 4610, only registers from the DRs are propagated, directly to all RPs. RPs do not relay registers from a RP.

More below.

> 
> Stig
> 
> > Ok. But the fact that it does not just means tht 4610 just acts like
> > an MSDP mesh group, and your draft is equally applicable to MSDP mesh
> > groups and therefore equally to 4610 (IMHO).

With RFC 4610, the RP closest to the source DR sends the register from the source DR directly to all other RPs using its own address. With that put in an MVPN environment, a PE receiving an MVPN SA does not need to do anything additional - if it is an anycast RP it'll already have received the register from the anycast RP closest to the source DR.

The "register mesh" among the anycast RPs are simple register-driven stateless messages and we're not trying to optimize that. In case of MSDP you have control plane messages (over MSDP peering sessions) and states, and MSDP peers propagate SA messages. That what we're trying to optimize - remove that among the PEs.

> >
> > In fact, as soon as you have a setup that is not equivalent to
> > a mesh group, considerations for MSDP become more difficult.

The PEs that run MSDP essentially form an MSDP mesh-group by way of MVPN SAs. That MSDP mesh-group-equivalent integrates with the customer's MSDP infrastructure.

> >
> > [...]
> >
> >> >    it would be great to give
> >> >    examples of the so tht one can check if/how the proposed spec in your
> >> >    draft would work in the fce of those cases existing MSDP RPF rules
> >> >    (which can of course be quite complex).
> >>
> >> Yes more text would help. The idea is that MVPN SA messages would just be
> treated as MSDP SAs from the PE that originated the SAs. Those MSDP SAs
> received from true MSDP peers and those treated as MSDP SAs would follow
> the existing MSDP rules.
> >
> > Right. But the problem is when you have non-PE RPs running MSDP
> > without mesh group, so the MSDP connectivity is set up with the assumption
> > that some of the RPF rules apply to avid looping MSDP SAs. Now you
> introduce
> > an MVPN core represented in that MSDP SA RPF loop prevention, and
> > you need to look how that will work.

Upon further thoughts, the PEs running MSDP form a mesh-group by way of MVPN SA. Once you model it that way, things become a lot clearer.

> >
> > I have not tried to imagine any such complex non-mesh-group seteup
> > because i have not see this in the real world. If you have, then it would
> > be great to explain that example in the draft. But if you have any
> > such example from the real world, i think we have a more fundamental
> > problem:
> >
> > If there are really future important non-mesh group MSDP + MVPN examples,
> > that can not be converted better to mesh groups, then we have the
> > fundamental problem that we have no solution (yet) how to solve
> > such setup requirements with IPv6. Because we don't have MSDP there.
> > And we established it can't be converted to mesh-group. Aka: can't
> > be replaced with 6410.
> >
> > So, i would suggest the draft distinguishes between mesh-group
> > and non-mesh-group MSDP setups. For the mesh-group setups, it should
> > be defined to work equally for MSDP and 6410. For the non-mesh group
> > setup we shuold vet whether that case is declared to be "non-relevant/
> > non-supported" because we have no evidence of need in real-world... OR
> > we have to solve another IPv6 issue.

I think we can model it this way:

- A customer's MSDP infrastructure can be however they want it to be - meshed or non-meshed.
- For MVPN purpose, only one of the PEs need to run MSDP (so that it can originate MVPN SAs for learnt sources). If a customer does not need to have another PE to run MSDP, nothing else need to be done. That MSDP PE may not even be part of the MSDP mesh (if mesh is used).
- Assuming more than one PEs need to run MSDP. Those MSDP PEs will be part of a mesh group, which is either a mesh group of their own (for the PEs) and integrates into the larger non-mesh MSDP infrastructure, or a larger mesh group that includes other MSDP speakers.

Does that make sense?

Jeffrey

> >
> > Cheer
> >     Toerless
> >
> >> >
> >> > 3) Btw: It would be good if you would add some picture to your draft
> >> >    starting from section 2 to illustrate your text example PE1, PE2
> >> >    and so on.
> >>
> >> Sure.
> >>
> >> >
> >> >    Also, your draft says:
> >> >
> >> >      [RFC6514] only specifies that a PE receiving the MVPN SA routes, say
> >> >      PE2, will advertise (C-S,C-G) C-multicast routes if it has
> >> >      corresponding (C-*,C-G) state learnt from its CE
> >> >
> >> >    can you point me to the text in 6514 that says that ?
> >>
> >> The full text is the following:
> >>
> >> 14.2.  Receiver(s) within a Site
> >>
> >>    ...
> >>
> >>    When (as a result of receiving PIM messages from one of its CEs) a PE
> >>    creates, in one of its MVPN-TIBs, a (new) (C-*,C-G) entry with a non-
> >>    empty outgoing interface list that contains one or more PE-CE
> >>    interfaces, the PE MUST check if it has any matching Source Active
> >>    A-D routes.  If there is one or more such matching routes, and the
> >>    best path to C-S carried in the matching route(s) is reachable
> >>    through some other PE, then for each such route the PE MUST originate
> >>    a Source Tree Join C-multicast route.  If there is one or more such
> >>    matching routes, and the best path to C-S carried in the matching
> >>    route(s) is reachable through a CE connected to the PE, then for each
> >>    such route the PE MUST originate a PIM Join (C-S,C-G) towards the CE.
> >>
> >>    When, as a result of receiving a new Source Active A-D route, a PE
> >>    updates its VRF with the route, the PE MUST check if the newly
> >>    received route matches any (C-*,C-G) entries.  If there is a matching
> >>    entry, and the best path to C-S carried in the (A-D) route is
> >>    reachable through some other PE, the PE MUST originate a Source Tree
> >>    Join C-multicast route for the (C-S,C-G) carried by the route.  If
> >>    there is a matching entry, and the best path to C-S carried in the
> >>    (A-D) route is reachable through a CE connected to the PE, the PE
> >>    MUST originate a PIM Join (C-S,C-G) towards the CE.
> >>
> >> Jeffrey
> >>
> >> >
> >> > Cheers
> >> >     Toerless
> >> >
> >> > On Wed, Nov 22, 2017 at 02:38:09PM -0800, Leonard Giuliano wrote:
> >> > > Toerless,
> >> > >
> >> > > Thanks for the comments.  After thinking about your feedback on
> RFC4610 a
> >> > > bit, I'm not sure that case is applicable here.  Consider the 2 directions
> >> > > of interworking:
> >> > >
> >> > > 1) MSDP SA/AnycastRP_PIM_Register -> MVPN SA
> >> > >
> >> > > 2) MVPN SA -> MSDP SA/AnycastRP_PIM_Register
> >> > >
> >> > > As I understand, #1 is already covered by RFC6513/6514.  #2 is the
> missing
> >> > > piece that this draft attempts to address.  I don't believe #2 will be
> >> > > applicable for RFC4610, as these registers only go to members of the RP
> >> > > set.  And the RP set should be configured on all the C-RPs.  It wouldn't
> >> > > make much sense to have these registers transit the MVPN domain to
> go to
> >> > > an AnycastRP not in the configured RP set.
> >> > >
> >> > > Hope this is clear, and let me know if I'm missing anything.
> >> > >
> >> > > -Lenny
> >> > >
> >> > > | -----Original Message-----
> >> > > | From: BESS [mailto:[email-masked]] On Behalf Of Toerless
> Eckert
> >> > > | Sent: Monday, November 13, 2017 9:43 PM
> >> > > | To: [email-masked]
> >> > > | Cc: [email-masked]
> >> > > | Subject: [bess] bess: draft-zzhang-bess-mvpn-msdp-sa-interoperation
> >> > > |
> >> > > | Jeffrey presented subject draft in mboned. Given how i am
> >> > > | not usually tracking BESS WG mailing list and may not be around:
> >> > > |
> >> > > | I would like to see subject draft to be adopted as a WG document in
> BESS
> >> > > | and become an update to RFC6514 (not to say bugfix ;-).
> >> > > |
> >> > > | Feeedback detail: The draft should be amended to fix the same
> problem
> >> > not only for
> >> > > | MSDP SA but also RFC4610 and probably accordingly change the draft
> >> > name.
> >> > > |
> >> > > | Cross-posted to mboned (sorry) because there where a couple of
> MBoned
> >> > > | participants expressing support for the draft in BESS and may like me
> not
> >> > > | be BESS regulars.
> >> > > |
> >> > > | Cheers
> >> > > |     Toerless
> >> >
> >> > --
> >> > ---
> >> > [email-masked]
> >> >
> >> > _______________________________________________
> >> > BESS mailing list
> >> > [email-masked]
> >> > https://urldefense.proofpoint.com/v2/url?u=https-
> >> >
> 3A__www.ietf.org_mailman_listinfo_bess&d=DwICAg&c=HAkYuh63rsuhr6Scbf
> >> > h0UjBXeMK-
> >> >
> ndb3voDTXcWzoCI&r=f7wsLGcfzAWDNS6XNTBZwj_OLAOsZZqdrR2IDAzeZqE&
> >> > m=hQz-
> NA6r7ahWKqMy6aI7ZXX5lvGX1ubRovr3Co5_VNE&s=rC5k8JOSHYD-
> >> > XaNaPGxhtl-yyDQhzqd909XjwXnS5EI&e=
> >
> > --
> > ---
> > [email-masked]
> >
> > _______________________________________________
> > BESS mailing list
> > [email-masked]
> > https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__www.ietf.org_mailman_listinfo_bess&d=DwIBaQ&c=HAkYuh63rsuhr6Scbf
> h0UjBXeMK-
> ndb3voDTXcWzoCI&r=f7wsLGcfzAWDNS6XNTBZwj_OLAOsZZqdrR2IDAzeZqE&
> m=-Yv9chsv6onKxQxzY8Z78-ishwqkEXZgZw8700YWh1U&s=y-
> wCQjhPPdr7KMPCYNM8K1KXb5FSMT7O1w3NM_42OaQ&e=