Fwd: FW: Review of draft-ietf-l3vpn-2547-mcast-05
Rick Wilder <rick@rhwilder.net> Tue, 12 February 2008 17:43 UTC
Return-Path: <l3vpn-bounces@ietf.org>
X-Original-To: ietfarch-l3vpn-archive@core3.amsl.com
Delivered-To: ietfarch-l3vpn-archive@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id F042128CCB3; Tue, 12 Feb 2008 09:43:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.001
X-Spam-Level:
X-Spam-Status: No, score=0.001 tagged_above=-999 required=5 tests=[BAYES_50=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id n0VlWq9L4qos; Tue, 12 Feb 2008 09:43:38 -0800 (PST)
Received: from core3.amsl.com (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A36CD28C3B3; Tue, 12 Feb 2008 09:43:38 -0800 (PST)
X-Original-To: l3vpn@core3.amsl.com
Delivered-To: l3vpn@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 5FC9128C3AE for <l3vpn@core3.amsl.com>; Tue, 12 Feb 2008 09:36:50 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PhLD6SnEqOSg for <l3vpn@core3.amsl.com>; Tue, 12 Feb 2008 09:36:43 -0800 (PST)
Received: from web301.biz.mail.mud.yahoo.com (web301.biz.mail.mud.yahoo.com [68.142.199.177]) by core3.amsl.com (Postfix) with SMTP id 9B6D23A6E7D for <l3vpn@ietf.org>; Tue, 12 Feb 2008 09:36:42 -0800 (PST)
Received: (qmail 72976 invoked by uid 60001); 12 Feb 2008 17:38:06 -0000
X-YMail-OSG: 6ewo.3UVM1knrcRKoCVrH6xjC0laF6HAzCgV2RF41SHCrHYFBnxtfYqr2CK6r.Q_DVvupHy6PawA55hTSUmYrDF4WjBwzj8vyTnY4QHsOMg2G31p9.tjpXvRAvkvLU_LzrGs0w--
Received: from [128.251.98.202] by web301.biz.mail.mud.yahoo.com via HTTP; Tue, 12 Feb 2008 09:38:06 PST
Date: Tue, 12 Feb 2008 09:38:06 -0800
From: Rick Wilder <rick@rhwilder.net>
Subject: Fwd: FW: Review of draft-ietf-l3vpn-2547-mcast-05
To: l3vpn@ietf.org
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
Message-ID: <541441.72691.qm@web301.biz.mail.mud.yahoo.com>
X-Mailman-Approved-At: Tue, 12 Feb 2008 09:43:38 -0800
X-BeenThere: l3vpn@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <l3vpn.ietf.org>
List-Unsubscribe: <http://www.ietf.org/mailman/listinfo/l3vpn>, <mailto:l3vpn-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:l3vpn@ietf.org>
List-Help: <mailto:l3vpn-request@ietf.org?subject=help>
List-Subscribe: <http://www.ietf.org/mailman/listinfo/l3vpn>, <mailto:l3vpn-request@ietf.org?subject=subscribe>
Sender: l3vpn-bounces@ietf.org
Errors-To: l3vpn-bounces@ietf.org
Sorry, folks. This is the second try to forward this to the list. Not sure what happened the first time. Rick --- Rick Wilder <rick@rhwilder.net> wrote: > From Rick Wilder Tue Feb 5 07:26:22 2008 > Received: from [72.205.13.24] by web303.biz.mail.mud.yahoo.com via HTTP; Tue, 05 Feb 2008 > 07:26:22 PST > Date: Tue, 5 Feb 2008 07:26:22 -0800 (PST) > From: Rick Wilder <rick@rhwilder.net> > Subject: Fwd: FW: Review of draft-ietf-l3vpn-2547-mcast-05 > To: l3vpn@ietf.org > MIME-Version: 1.0 > Content-Type: text/plain; charset=iso-8859-1 > Content-Transfer-Encoding: 8bit > Content-Length: 56334 > > > Forwarded to the list on behalf of Bruce Davie: > > > > > Begin forwarded message: > > > > > > From: Bruce Davie <bdavie@cisco.com> > > Date: January 3, 2008 1:56:36 PM EST > > To: l3vpn@ietf.org, Eric Rosen <erosen@cisco.com>, Rahul@juniper.net > > Subject: Review of draft-ietf-l3vpn-2547-mcast-05 > > > > As requested at the last WG meeting in Vancouver, I have provided a detailed review of > > draft-ietf-l3vpn-2547-mcast-05. > > > > I think it's an excellent document. Given the complexity of the problem space, it is > admirably > > readable and comprehensible. The only major issues I could find are ones that the authors have > > acknowledged (as in "this issue will be addressed in a future revision"). > > > > Most of my comments below are suggestions to improve the clarity or to help readers more > easily > > understand the document. I have not bothered to point out every typo (that's something the RFC > > editor does) but I did point out a few to prove I was paying attention. > > > > All my comments are prefaced by the section number and the piece of text on which I'm > > commenting and then by BD>>. For those large chunks of the text on which I had no comments, > I've > > just cut the text and replaced it with [...] > > > > Bruce Davie > > =============== > > 2.1. Optimality vs Scalability > > [...] > > > > However, in order to provide optimal multicast routing for a > > particular multicast flow, the P routers through which that flow > > travels have to hold state which is specific to that flow. > > > > > > BD>>> "Flow" is one of those words that means different things to > > different people, so I think you should define it here or earlier in > > the document, or at least reference a document that defines it > > suitably for your purposes. > > > > [...] > > > > 2.2.4. PE-PE Multicast Routing Information > > > > The BGP/MPLS IP VPN [RFC4364] specification requires a PE to maintain > > at most one BGP peering with every other PE in the network. This > > peering is used to exchange VPN routing information. The use of Route > > Reflectors further reduces the number of BGP adjacencies maintained > > by a PE to exchange VPN routing information with other PEs. This > > document describes various options for exchanging MVPN control > > information between PE routers based on the use of PIM or BGP. These > > options have different overheads with respect to the number of > > routing adjacencies that a PE router needs to maintain to exchange > > MVPN control information with other PE routers. Some of these options > > allow the retention of the unicast BGP/MPLS VPN model letting a PE > > maintain at most one routing adjacency with other PE routers to > > exchange MVPN control information. > > > > The solution in [RFC4364] uses BGP to exchange VPN routing > > information between PE routers. This document describes various > > solutions for exchanging MVPN control information. One option is the > > use of BGP, providing reliable transport. Another option is the use > > of the currently existing, "soft state" PIM standard [PIM-SM]. > > > > BD>> The second paragraph mostly just repeats statements from the > > first, and seems to be an editing mistake. I suggest you delete the second > > para, and optionally add the few extra words about reliable transport > > and soft state into the middle of the first para. > > > > [...] > > 3.1. PE-CE Multicast Routing > > [...] > > > > If a PE attaches to n VPNs for which multicast support is provided > > (i.e., to n "MVPNs"), the PE will run n independent instances of a > > multicast routing protocol. We will refer to these multicast routing > > instances as "VPN-specific multicast routing instances", or more > > briefly as "multicast C-instances". > > > > BD>> Since you are using the "C-foo" terminology for the first time, > > it might be good, either here or earlier in the doc, to explain what > > C-foo and P-foo mean. > > > > [...] > > In order to support the "Carrier's Carrier" model of [RFC4364], mLDP > > or BGP will also be supported on the PE-CE interface; however, this > > is not described in this revision. > > > > BD>> If, as I expect, you're not going to cover it in a later > > revision either, you might want to say something more like "this is > > for further study". > > > > > > > > > > 3.2. P-Multicast Service Interfaces (PMSIs) > > > > Multicast data packets received by a PE over a PE-CE interface must > > be forwarded to one or more of the other PEs in the same MVPN for > > delivery to one or more other CEs. > > > > We define the notion of a "P-Multicast Service Interface" (PMSI). If > > a particular MVPN is supported by a particular set of PE routers, > > then there will be a PMSI connecting those PE routers. A PMSI is a > > conceptual "overlay" on the P network with the following property: a > > PE in a given MVPN can give a packet to the PMSI, and the packet will > > be delivered to some or all of the other PEs in the MVPN, such that > > any PE receiving such a packet will be able to tell which MVPN the > > packet belongs to. > > > > As we discuss below, a PMSI may be instantiated by a number of > > different transport mechanisms, depending on the particular > > requirements of the MVPN and of the SP. We will refer to these > > transport mechanisms as "tunnels". > > [...] > > > > 3.2.1. Inclusive and Selective PMSIs > > > > We will distinguish between three different kinds of PMSI: > > > > - "Multidirectional Inclusive" PMSI (MI-PMSI) > > > > A Multidirectional Inclusive PMSI is one which enables ANY PE > > attaching to a particular MVPN to transmit a message such that it > > will be received by EVERY other PE attaching to that MVPN. > > > > There is at most one MI-PMSI per MVPN. (Though the tunnel which > > instantiates an MI-PMSI may actually carry the data of more than > > one PMSI.) > > > > BD>> I think that should be "the tunnel or tunnels that instantiate..." > > > > An MI-PMSI can be thought of as an overlay broadcast network > > connecting the set of PEs supporting a particular MVPN. > > > > [The "Default MDTs" of rosen-08 provide the transport service of > > MI-PMSIs, in this terminology.] > > > > - "Unidirectional Inclusive" PMSI (UI-PMSI) > > > > A Unidirectional Inclusive PMSI is one which enables a particular > > PE, attached to a particular MVPN, to transmit a message such > > that it will be received by all the other PEs attaching to that > > MVPN. There is at most one UI-PMSI per PE per MVPN, though the > > "tunnel" which instantiates a UI-PMSI may in fact carry the data > > of more than one PMSI. > > > > BD>> Again, shouldn't that be "tunnel or tunnels"? And why did you put > > it in quotes here? > > > > - "Selective" PMSI (S-PMSI). > > > > A Selective PMSI is one which provides a mechanism wherein a > > particular PE in an MVPN can multicast messages so that they will > > be received by a subset of the other PEs of that MVPN. There may > > be an arbitrary number of S-PMSIs per PE per MVPN. Again, the > > "tunnel" which instantiates a given S-PMSI may carry data from > > multiple S-PMSIs. > > > > BD>> See previous comment. > > > > [The "Data MDTs" of earlier drafts provide the transport service > > of "Selective PMSIs" in the terminology of this draft.] > > > > We will see in later sections the role played by these different > > kinds of PMSI. We will use the term "I-PMSI" when we are not > > distinguishing between "MI-PMSIs" and "UI-PMSIs". > > > > > > BD>> I wonder if you plan to remove the parenthetical references to > > "draft-rosen" and "earlier drafts"? > > > > BD>> Whether or not those parenthetical comments are removed, it might > > be good to give a quick example of what each of the 3 PMSI types is > > good for, just to help the reader get a grasp of the terms. > > > > > > > > 3.2.2. Tunnels Instantiating PMSIs > > [...] > > > > Selective PMSIs are most instantiated by source P-trees, and are > > most naturally created by PIM-SSM, since by definition only one > > PE is the source of the multicast data on a Selective PMSI. > > > > BD>> most -> mostly? > > > > [The "Default MDTs" of [rosen-08] are MI-PMSIs instantiated as > > PIM trees. The "data MDTs" of [rosen-08] are S-PMSIs > > instantiated as PIM trees.] > > > > - MLDP > > > > BD>> I noticed there is no MLDP reference in this draft - I think you > > want to make a reference to draft-ietf-mpls-ldp-p2mp-03.txt. > > > > A PMSI may be instantiated as one or more mLDP Point-to- > > Multipoint (P2MP) LSPs, or as an mLDP Multipoint-to-Point(MP2MP) > > LSP. > > > > BD>> Should that be Multipoint-to-multipoint? > > > > A Selective PMSI or a Unidirectional Inclusive PMSI would > > be instantiated as a single mLDP P2MP LSP, whereas a > > Multidirectional Inclusive PMSI could be instantiated either as a > > set of such LSPs (one for each PE in the MVPN) or as a single > > M2PMP LSP. > > BD>> That should be ... "MP2MP LSP." > > > > > > MLDP P2MP LSPs can be shared across multiple MVPNs. > > > > BD>> That comment makes me wonder whether PIM tunnels could also be > > shared across multiple MVPNs, since you didn't say whether they could > > or not. You should probably make this point explicity (whichever way it turns > > out). The sentence also leaves it unclear as to whether MP2MP LSPs can > > be shared. > > > > - RSVP-TE > > > > A PMSI may be instantiated as one or more RSVP-TE Point-to- > > Multipoint (P2MP) LSPs. A Selective PMSI or a Unidirectional > > Inclusive PMSI would be instantiated as a single RSVP-TE P2MP > > LSP, whereas a Multidirectional Inclusive PMSI would be > > > > BD>> You seem to be inconsistent in choosing whether to use Selective > > PMSI or S-PMSI. I think it would be more readable if you stuck to the > > shorter form throughout. > > > > [...] > > The choice of the tunnel technique belongs to the sender router and > > is a local policy decision of the router. The procedures defined > > throughout this document do not mandate that the same tunnel > > technique be used for all PMSI tunnels going through a same provider > > backbone. > > > > BD>> "a same" -> "a given" > > > > It is however expected that any tunnel technique that can > > be subject to being used by a PE for a particular MVPN is also > > supported by other PE having VRFs for the MVPN. > > > > BD>> How about deleting "subject to being" > > > > Moreover, the use of > > ingress replication by any PE for an MVPN, implies that all other PEs > > MUST use ingress replication for this MVPN. > > > > BD>> I don't see why that is true. Can you add a line of explanation? > > > > [...] > > 3.3.1. MVPNs with Default MI-PMSIs > > [...] > > > > If a particular multicast stream from a particular source PE has > > certain characteristics, it can be desirable to migrate it from the > > MI-PMSI to an S-PMSI. > > > > BD>> Can you give an example of what the "certain characterstics" > > might be? > > > > [...] > > 3.3.3. MVPNs That Do Not Use MI-PMSIs > > > > If a particular MVPN does not use a default MI-PMSI, then its > > multicast data may be sent by default on a UI-PMSI. > > > > It is also possible to send all the multicast data on an S-PMSI, > > omitting any usage of I-PMSIs. > > > > BD>> Shouldn't that be "a set of S-PMSIs" ? > > > > [...] > > 3.4.1.3. Unicasting of PIM C-Join/Prune Messages > > > > [...] > > > > Procedures for unicasting the PIM control messages are not further > > specified in this document. > > > > BD>>It seems like you haven't provided enough information to enable > > this method to be used; you've just sketched a "road not taken". Do > > you think it would be better just to cut this section or move it to an > > appendix? > > > > > > > > 3.4.2. Using BGP to Carry C-Multicast Routing > > > > It is possible to use BGP to carry C-multicast routing information > > from PE to PE, dispensing entirely with the transmission of C- > > Join/Prune messages from PE to PE. This is specified in section 5.3. > > Inter-AS procedures are described in section 8. > > > > BD>> For the sake of clarity, this might be a good time to point out > > that using BGP to carrying C-routes and using BGP to perform > > autodiscovery are two completely separable tasks. > > > > 4. BGP-Based Autodiscovery of MVPN Membership > > [...] > > - PMSI tunnel attribute. This attribute is present if and only if > > a default MI-PMSI is to be used for the MVPN. It contains the > > following information: > > [...] > > * If the PE wishes to setup a default tunnel to instantiate the > > I-PMSI, a unique identifier for the tunnel used to > > instantiate the I-PMSI. > > > > BD>> Can you give an example of such an identifier? Could it be, for > > example, the group address of PIM tree? > > > > All the PEs attaching to a given MVPN (within a given AS) > > must have been configured with the same PMSI tunnel attribute > > for that MVPN. They are also expected to know the > > encapsulation to use. > > > > Note that a default tunnel can be identified at discovery > > time only if the tunnel already exists (e.g., it was > > constructed by means of configuration), or if it can be > > constructed without each PE knowing the the identities of all > > the others (e.g., it is constructed by a receiver-initiated > > join technique such as PIM or mLDP). > > > > BD>> It would be helpful to explain why that proceeding statement is true. > > > > In other cases, a default tunnel cannot be identified until > > the PE has discovered one or more of the other PEs. This > > will be the case, for example, if the tunnel is an RSVP-TE > > P2MP LSP, which must be set up from the head end. In these > > cases, a PE will first send an A-D route without a tunnel > > identifier, and then will send another one with a tunnel > > identifier after discovering one or more of the other PEs. > > > > All the PEs attaching to a given MVPN must be configured with > > information specifying the encapsulation to use. > > > > BD>> must -> MUST ? > > > > > > * Whether the tunnel used to instantiate the I-PMSI for this > > MVPN is aggregating I-PMSIs from multiple MVPNs. This will > > affect the encapsulation used. If aggregation is to be used, > > a demultiplexor value to be carried by packets for this > > particular MVPN must also be specified. The demultiplexing > > mechanism and signaling procedures are described in section > > 6. > > > > Further details of the use of this information are provided in > > subsequent sections. > > > > Sometimes it is necessary for one PE to advertise an upstream- > > assigned MPLS label that identifies another PE. Under certain > > circumstances to be discussed later, a PE which is the root of a > > multicast P-tunnel will bind an MPLS label value to one or more > > of the PEs that belong to the P-tunnel, and will distribute these > > label bindings using A-D routes. The precise details of this > > label distribution will be included in the next revision of this > > document. We will refer to these as "PE Labels". A packet > > traveling on the P-tunnel may carry one of these labels as an > > indication that the PE corresponding to that label is special. > > See section 11.3 for more details. > > > > > > 5. PE-PE Transmission of C-Multicast Routing > > > > As a PE attached to a given MVPN receives C-Join/Prune messages from > > its CEs in that MVPN, it must convey the information contained in > > those messages to other PEs that are attached to the same MVPN. This > > is known as the "PE-PE transmission of C-multicast routing > > information". > > > > This section specifies the procedures used for PE-PE transmission of > > C-multicast routing information. Not every procedure mentioned in > > section 3.4 is specified here. Rather, this section focuses on two > > particular procedures: > > > > > > > > > > > > > > Rosen & Raggarwa [Page 24] > > > > Internet Draft draft-ietf-l3vpn-2547bis-mcast-05.txt July 2007 > > > > > > - Full PIM Peering. > > > > This procedure is fully specified herein. > > > > - Use of BGP to distribute C-multicast routing > > > > This procedure is described herein, but the full specification > > appears in [MVPN-BGP]. > > > > Those aspect of the procedures which apply to both of the above are > > also specified fully herein. > > > > Specification of other procedures is for future study. > > > > > > 5.1. Selecting the Upstream Multicast Hop (UMH) > > > > When a PE receives a C-Join/Prune message from a CE, the message > > identifies a particular multicast flow as belonging either to a > > source tree (S,G) or to a shared tree (*,G). We use the term C- > > source to refer to S, in the case of a source tree, or to the > > Rendezvous Point (RP) for G, in the case of (*,G). If the route to > > the C-source is across the VPN backbone, then the PE needs to find > > the "upstream multicast hop" (UMH) for the (S,G) or (*,G) flow. The > > "upstream multicast hop" is either the PE at which (S,G) or (*,G) > > data packets enter the VPN backbone, or else is the Autonomous System > > Border Router (ASBR) at which those data packets enter the local AS > > when traveling through the VPN backbone. The process of finding the > > upstream multicast hop for a given C-source is known as "upstream > > multicast hop selection". > > > > > > 5.1.1. Eligible Routes for UMH Selection > > > > In the simplest case, the PE does the upstream hop selection by > > looking up the C-source in the unicast VRF associated with the PE-CE > > interface over which the C-Join/Prune was received. The route that > > matches the C-source will contain the information needed to select > > the upstream multicast hop. > > > > However, in some cases, the CEs may be distributing to the PEs a > > special set of routes that are to be used exclusively for the purpose > > of upstream multicast hop selection, and not used for unicast routing > > at all. For example, when BGP is the CE-PE unicast routing protocol, > > the CEs may be using SAFI 2 to distribute a special set of routes > > that are to be used for, and only for, upstream multicast hop > > selection. When OSPF is the CE-PE routing protocol, the CE may use > > an MT-ID of 1 to distribute a special set of routes that are to be > > > > > > > > Rosen & Raggarwa [Page 25] > > > > Internet Draft draft-ietf-l3vpn-2547bis-mcast-05.txt July 2007 > > > > > > used for, and only for, upstream multicast hop selection . When a CE > > uses one of these mechanisms to distribute to a PE a special set of > > routes to be used exclusively for upstream multicast hop selection, > > these routes are distributed among the PEs using SAFI 129, as > > described in [MVPN-BGP]. > > > > Whether the routes used for upstream multicast hop selection are (a) > > the "ordinary" unicast routes or (b) a special set of routes that are > > used exclusively for upstream multicast hop selection, is a matter of > > policy. How that policy is chosen, deployed, or implemented is > > outside the scope of this document. In the following, we will simply > > refer to the set of routes that are used for upstream multicast hop > > selection, the "Eligible UMH routes", with no presumptions about the > > policy by which this set of routes was chosen. > > > > > > 5.1.2. Information Carried by Eligible UMH Routes > > > > Every route which is eligible for UMH selection MUST carry a VRF > > Route Import Extended Community [MVPN-BGP]. This attribute > > identifies the PE that originated the route. > > > > If BGP is used for carrying C-multicast routes, OR if "Segmented > > Inter-AS Tunnels" (see section 8.2) are used, then every UMH route > > MUST also carry a Source AS Extended Community [MVPN-BGP]. > > > > These two attributes are used in the upstream multicast hop selection > > procedures described below. > > > > > > 5.1.3. Selecting the Upstream PE > > > > The first step in selecting the upstream multicast hop for a given C- > > source is to select the upstream PE router for that C-source. > > > > The PE that received the C-Join message from a CE looks in the VRF > > corresponding to the interfaces over which the C-Join was received. > > It finds the Eligible UMH route which is the best match for the C- > > source specified in that C-Join. Call this the "Installed UMH > > Route". > > > > Note that the outgoing interface of the Installed UMH Route may be > > one of the interfaces associated with the VRF, in which case the > > upstream multicast hop is a CE and the route to the C-source is not > > across the VPN backbone. > > > > Consider the set of all VPN-IP routes that are: (a) eligible to be > > imported into the VRF (as determined by their Route Targets), (b) are > > > > > > > > Rosen & Raggarwa [Page 26] > > > > Internet Draft draft-ietf-l3vpn-2547bis-mcast-05.txt July 2007 > > > > > > eligible to be used for upstream multicast hop selection, and (c) > > have exactly the same IP prefix (not necessarily the same RD) as the > > installed UMH route. > > > > For each route in this set, determine the corresponding upstream PE > > and upstream RD. If a route has a VRF Route Import Extended > > Community, the route's upstream PE is determined from it. If a route > > does not have a VRF Route Import Extended Community, the route's > > upstream PE is determined from the route's BGP next hop attribute. > > In either case, the upstream RD is taken from the route's NLRI. > > > > This results in a set of pairs of <route, upstream PE, upstream RD>. > > If the Installed UMH Route is not already in this set, it is added to > > the set. Call this the "UMH Route Candidate Set." Then the PE MUST > > select a single route from the set to be the "Selected UMH Route". > > The corresponding upstream PE is known as the "Selected Upstream PE", > > and the corresponding upstream RD is known as the "Selected Upstream > > RD". > > > > There are several possible procedures that can be used by a PE to > > select a single route from the candidate set. > > > > The default procedure, which MUST be implemented, is to select the > > route whose corresponding upstream PE address is numerically highest, > > where a 32-bit IP address is treated as a 32 bit unsigned integer. > > Call this the "default upstream PE selection". For a given C-source, > > provided that the routing information used to create the candidate > > set is stable, all PEs will have the same default upstream PE > > selection. (Though different default upstream PE selections may be > > chosen during a routing transient.) > > > > An alternative procedure which MUST be implemented, but which is > > disabled by default, is the following. This procedure ensures that, > > except during a routing transient, each PE chooses the same upstream > > PE for a given combination of C-source and C-G. > > > > 1. The PEs in the candidate set are numbered from lower to higher > > IP address, starting from 0. > > > > 2. The following hash is performed: > > > > - A bytewise exclusive-or of all the bytes in the C-source > > address and the C-G address is performed. > > > > - The result is taken modulo n, where n is the number of PEs > > in the candidate set. Call this result N. > > > > The selected upstream PE is then the one that appears in position N > > > > > > > > Rosen & Raggarwa [Page 27] > > > > Internet Draft draft-ietf-l3vpn-2547bis-mcast-05.txt July 2007 > > > > > > in the list of step 1. > > > > Other hashing algorithms are allowed as well, but not required. > > > > The alternative procedure allows a form of "equal cost load > > balancing". Suppose, for example, that from egress PEs PE3 and PE4, > > source C-S can be reached, at equal cost, via ingress PE PE1 or > > ingress PE PE2. The load balancing procedure makes it possible for > > PE1 to be the ingress PE for (C-S, C-G1) data traffic while PE2 is > > the ingress PE for (C-S, C-G2) data traffic. > > > > > > 5.1.4. Selecting the Upstream Multicast Hop > > > > In certain cases, the selected upstream multicast hop is the same as > > the selected upstream PE. In other cases, the selected upstream > > multicast hop is the ASBR which is the "BGP next hop" of the Selected > > UMH Route. > > > > If the selected upstream PE is in the local AS, then the selected > > upstream PE is also the selected upstream multicast hop. This is the > > case if any of the following conditions holds: > > > > - The selected UMH route has a Source AS Extended Community, and > > the Source AS is the same as the local AS, > > > > - The selected UMH route does not have a Source AS Extended > > Community, but the route's BGP next hop is the same as the > > upstream PE. > > > > Otherwise, the selected upstream multicast hop is an ASBR. The > > method of determining just which ASBR it is depends on the particular > > inter-AS signaling method being used (PIM or BGP), and on whether > > segmented or non-segmented inter-AS tunnels are used. These details > > are presented in later sections. > > > > > > 5.2. Details of Per-MVPN Full PIM Peering over MI-PMSI > > > > In this section, we assume that inter-AS MVPNs will be supported by > > means of non-segmented inter-AS trees. Support for segmented inter- > > AS trees with PIM peering is for further study. > > > > When an MVPN uses an MI-PMSI, the C-instances of that MVPN can treat > > the MI-PMSI as a LAN interface, and form either full PIM adjacencies > > with each other over that "LAN interface". > > > > To form a full PIM adjacency, the PEs execute the PIM LAN procedures, > > > > > > > > Rosen & Raggarwa [Page 28] > > > > Internet Draft draft-ietf-l3vpn-2547bis-mcast-05.txt July 2007 > > > > > > including the generation and processing of PIM Hello, Join/Prune, > > Assert, DF election and other PIM control packets. These are > > executed independently for each C-instance. PIM "join suppression" > > SHOULD be enabled. > > > > > > > > 5.2.1. PIM C-Instance Control Packets > > > > All PIM C-Instance control packets of a particular MVPN are addressed > > to the ALL-PIM-ROUTERS (224.0.0.13) IP destination address, and > > transmitted over the MI-PMSI of that MVPN. While in transit in the > > P-network, the packets are encapsulated as required for the > > particular kind of tunnel that is being used to instantiate the MI- > > PMSI. Thus the C-instance control packets are not processed by the P > > routers, and MVPN-specific PIM routes can be extended from site to > > site without appearing in the P routers. > > > > As specified in section 5.1.2, when a PE distributes VPN-IP routes > > which are eligible for use as UMH routes, the PE MUST include a VRF > > Route Import Extended Community with each route. For a given MVPN, a > > single such IP address MUST be used, and that same IP address MUST be > > used as the source address in all PIM control packets for that MVPN. > > > > > > 5.2.2. PIM C-instance RPF Determination > > > > Although the MI-PMSI is treated by PIM as a LAN interface, unicast > > routing is NOT run over it, and there are no unicast routing > > adjacencies over it. It is therefore necessary to specify special > > procedures for determining when the MI-PMSI is to be regarded as the > > "RPF Interface" for a particular C-address. > > > > The PE follows the procedures of section 5.1 to determine the > > selected UMH route. If that route is NOT a VPN-IP route learned from > > BGP as described in [RFC4364], or if that route's outgoing interface > > is one of the interfaces associated with the VRF, then ordinary PIM > > procedures for determining the RPF interface apply. > > > > However, if the selected UMH route is a VPN-IP route whose outgoing > > interface is not one of the interfaces associated with the VRF, then > > PIM will consider the RPF interface to be the MI-PMSI associated with > > the VPN-specific PIM instance. > > > > Once PIM has determined that the RPF interface for a particular C- > > source is the MI-PMSI, it is necessary for PIM to determine the "RPF > > neighbor" for that C-source. This will be one of the other PEs that > > is a PIM adjacency over the MI-PMSI. In particular, it will be the > > > > > > > > Rosen & Raggarwa [Page 29] > > > > Internet Draft draft-ietf-l3vpn-2547bis-mcast-05.txt July 2007 > > > > > > "selected upstream PE" as defined in section 5.1. > > > > > > 5.2.3. Backwards Compatibility > > > > There are older implementations which do not use the VRF Route Import > > Extended Community or any explicit mechanism for carrying information > > to identify the originating PE of a selected UMH route. > > > > For backwards compatibility, when the selected UMH route does not > > have any such mechanism, the IP address from the "BGP Next Hop" field > > of the selected UMH route will be used as the selected UMH address, > > and will be treated as the address of the upstream PE. There is no > > selected upstream RD in this case. However, use of this backwards > > compatibility technique presupposes that: > > > > - The PE which originated the selected UMH route placed the same IP > > address in the BGP Next Hop field that it is using as the source > > address of the PE-PE PIM control packets for this MVPN. > > > > - The MVPN is not an Inter-AS MVPN that uses option b from section > > 10 of [RFC4364]. > > > > Should either of these conditions fail, interoperability with the > > older implementations will not be achieved. > > > > > > 5.3. Use of BGP for Carrying C-Multicast Routing > > > > It is possible to use BGP to carry C-multicast routing information > > from PE to PE, dispensing entirely with the transmission of C- > > Join/Prune messages from PE to PE. This section describes the > > procedures for carrying intra-AS multicast routing information. > > Inter-AS procedures are described in section 8. The complete > > specification of both sets of procedures and of the encodings can be > > found in [MVPN-BGP]. > > > > > > 5.3.1. Sending BGP Updates > > [...] > > Whenever a C-multicast route is sent, it must also carry, in a Route > > Target Extended Community, the Selected Upstream Multicast Hop > > corresponding to the C-source address (determined by the procedures > > of section 5.1). The selected upstream multicast hop is identified in > > an Extended Community attribute to facilitate the optional use of > > filters which can prevent the distribution of the update to BGP > > speakers other than the upstream multicast hop. See section 10.1.3 > > of [MVPN-BGP] for the details. > > > > BD>> This sounded weird to me when I read it, so I went and looked at > > [MVPN-BGP]. I think it might be easier on the reader if you said > > something like this: > > "Whenever a C-multicast route is sent, it must also carry the > > Selected Upstream Multicast Hop > > corresponding to the C-source address (determined by the procedures > > of section 5.1). The selected upstream multicast hop must be > > encoded as a Route Target Extended Community, to facilitate..." > > > > [...] > > 6.3. Aggregation > > > > A P-multicast tree can be used to instantiate a PMSI service for only > > one MVPN or for more than one MVPN. When a P-multicast tree is shared > > across multiple MVPNs it is termed an Aggregate Tree [RAGGARWA- > > MCAST]. > > BD>> There doesn't seem to be much point in including that reference > > to an ID that will likely disappear. > > > > > > > > > > 6.3.1. Aggregate Tree Leaf Discovery > > > > BGP MVPN membership discovery allows a PE to determine the different > > Aggregate Trees that it should create and the MVPNs that should be > > mapped onto each such tree. The leaves of an Aggregate Tree are > > determined by the PEs, supporting aggregation, that belong to all the > > MVPNs that are mapped onto the tree. > > > > If an Aggregate Tree is used to instantiate one or more S-PMSIs, then > > it may be desirable for the PE at the root of the tree to know which > > PEs (in its MVPN) are receivers on that tree. This enables the PE to > > decide when to aggregate two S-PMSIs, based on congruence (as > > discussed in the next section). Thus explicit tracking may be > > required. Since the procedures for disseminating C-multicast routes > > do not provide explicit tracking, a type of A-D route known as a > > "Leaf A-D Route" is used. The PE which wants to assign a particular > > C-multicast flow to a particular Aggregate Tree can send an A-D route > > which elicits Leaf A-D routes from the PEs that need to receive that > > C-multicast flow. This provides the explicit tracking information > > needed to support the aggregation methodology discussed in the next > > section. > > > > BD>> For consistency, it would be good if this doc and its companion > > draft-ietf-l3vpn-2547bis-mcast-bgp-04.txt used the same term for Leaf > > A-D routes (which are called leaf auto-discovery routes throughout the > > other doc). I also found it a bit odd that the specification of Leaf > > A-D routes in the companion doc appears in the section on Inter-AS > > operations, even though here they seem to be useful in intra-AS > > operation. You might also want to make an explicit reference to the > > companion doc here, as the leaf A-D routes seemed particularly opaque > > to me without going to the other doc. > > > > [...] > > 6.3.4. Demultiplexing C-multicast traffic > > > > When multiple MVPNs are aggregated onto one P-Multicast tree, > > determining the tree over which the packet is received is not > > sufficient to determine the MVPN to which the packet belongs. The > > packet must also carry some demultiplexing information to allow the > > egress PEs to determine the MVPN to which the packet belongs. Since > > the packet has been multicast through the P network, any given > > demultiplexing value must have the same meaning to all the egress > > PEs. The demultiplexing value is a MPLS label that corresponds to > > the multicast VRF to which the packet belongs. This label is placed > > by the ingress PE immediately beneath the P-Multicast tree header. > > Each of the egress PEs must be able to associate this MPLS label with > > the same MVPN. If downstream label assignment were used this would > > require all the egress PEs in the MVPN to agree on a common label for > > the MVPN. Instead the MPLS label is upstream assigned [MPLS-UPSTREAM- > > LABEL]. The label bindings are advertised via BGP updates originated > > the ingress PEs. > > > > This procedure requires each egress PE to support a separate label > > space for every other PE. The egress PEs create a forwarding entry > > for the upstream assigned MPLS label, allocated by the ingress PE, in > > this label space. Hence when the egress PE receives a packet over an > > Aggregate Tree, it first determines the tree that the packet was > > received over. The tree identifier determines the label space in > > which the upstream assigned MPLS label lookup has to be performed. > > The same label space may be used for all P-multicast trees rooted at > > the same ingress PE, or an implementation may decide to use a > > separate label space for every P-multicast tree. > > > > BD>> > > When I first read this section, I found myself wondering what would > > happen if you have P-multicast trees that are not rooted at > > a PE (e.g. a PIM shared tree). The above text seemed to > > assume that ingress PE = root of P tree. Then, as I read on to section > > 6.6, I see that you do say that > > aggregation support for BIDIR trees is for further study. Perhaps you > > should say that here too. Also a forward reference to 6.6 to say that > > the label allocation for shared trees is addressed there would help > > the reader understand the above text more readily. > > > > [...] > > > > > > > > > > > > 7.1. S-PMSI Instantiation Using Ingress Replication > > > > As described in section 6.1.1, ingress replication can be used to > > instantiate a UI-PMSI. However this can result in a PE receiving > > packets for a multicast group for which it doesn't have any > > receivers. This can be avoided if the ingress PE tracks the remote > > PEs which have receivers in a particular C-multicast group. In order > > to do this it needs to receive C-Joins from each of the remote PEs. > > It then replicates the C-multicast data packet and sends it to only > > those egress PEs which are on the path to a receiver of that > > C-group. > > > > BD>> This seems like a lot of extraneous text about UI-PMSIs in a > > section that is ostensibly about S-PMSIs. > > > > > > 7.2.1.2. Packet Formats and Constants > > > > [...] > > > > Currently only one type of S-PMSI Join is defined. A type 1 S-PMSI > > Join is used when the S-PMSI tunnel is a PIM tunnel which is used to > > carry a single multicast stream, where the packets of that stream > > have IPv4 source and destination IP addresses. > > > > BD>> I'm sure you'll be adding a type for when the stream consists of > > IPv6 packets in a future version, > > right? And you'll also be specifying how to use something other than a > > PIM tunnel for this purpose? OR when the PIM tunnel is identified by a > > v6 address? > > Also, when you get around to writing the IANA considerations, this Type > > field will need to be given its own registry. > > > > > > > > > > 0 1 2 3 > > 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 > > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > > | Type | Length | Reserved | > > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > > | C-source | > > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > > | C-group | > > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > > | P-group | > > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > > > > [...] > > > > > > > > 7.4. Instantiating the S-PMSI with a PIM Tree > > > > The procedures of section 7.3 tell a PE when it must start > > listening > > >>BD I think you mean 7.2? > > > > and stop listening to a particular S-PMSI. Those procedures also > > specify the method for instantiating the S-PMSI. In this section, we > > provide the procedures to be used when the S-PMSI is instantiated as > > a PIM tree. The PIM tree is created by the PIM P-instance. > > > > If a single PIM tree is being used to aggregate multiple S-PMSIs, > > then the PIM tree to which a given stream is bound may have already > > been joined by a given receiving PE. If the tree does not already > > exist, then the appropriate PIM procedures to create it must be > > executed in the P-instance. > > > > If the S-PMSI for a particular multicast stream is instantiated as a > > PIM-SM or BIDIR-PIM tree, the S-PMSI identifier will specify the RP > > and the group P-address, and the PE routers which have receivers for > > that stream must build a shared tree toward the RP. > > > > If the S-PMSI is instantiated as a PIM-SSM tree, the PE routers build > > a source tree toward the PE router that is advertising the S-PMSI > > Join. The IP address root of the tree is the same as the source IP > > address which appears in the S-PMSI Join. In this case, the tunnel > > identifier in the S-PMSI Join will only need to specify a group P- > > address. > > > > The above procedures assume that each PE router has a set of group P- > > addresses that it can use for setting up the PIM-trees. Each PE must > > be configured with this set of P-addresses. If PIM-SSM is used to > > set up the tunnels, then the PEs may be with overlapping sets of > > group P-addresses. > > BD>> Missing word after "may be"... configured? > > > > If PIM-SSM is not used, then each PE must be > > configured with a unique set of group P-addresses (i.e., having no > > overlap with the set configured at any other PE router). The > > management of this set of addresses is thus greatly simplified when > > PIM-SSM is used, so the use of PIM-SSM is strongly recommended > > whenever PIM trees are used to instantiate S-PMSIs. > > > > If it is known that all the PEs which need to receive data traffic on > > a given S-PMSI can support aggregation of multiple S-PMSIs on a > > single PIM tree, then the transmitting PE, may, at its discretion, > > decide to bind the S-PMSI to a PIM tree which is already bound to one > > or more other S-PMSIs, from the same or from different MVPNs. In > > this case, appropriate demultiplexing information must be signaled. > > > > BD>> Suggest a cross-ref to the section where demuxing is described (6.3.4) > > [...] > > > > 8. Inter-AS Procedures > > > > If an MVPN has sites in more than one AS, it requires one or more > > PMSIs to be instantiated by inter-AS tunnels. This document > > describes two different types of inter-AS tunnel: > > > > 1. "Segmented Inter-AS tunnels" > > > > A segmented inter-AS tunnel consists of a number of independent > > segments which are stitched together at the ASBRs. There are > > two types of segment, inter-AS segments and intra-AS segments. > > The segmented inter-AS tunnel consists of alternating intra-AS > > and inter-AS segments. > > > > Inter-AS segments connect adjacent ASBRs of different ASes; > > these "one-hop" segments are instantiated as unicast tunnels. > > > > Intra-AS segments connect ASBRs and PEs which are in the same > > AS. An intra-AS segment may be of whatever technology is > > desired by the SP that administers the that AS. Different > > intra-AS segments may be of different technologies. > > > > Note that an intra-AS segment of an inter-AS tunnel is distinct > > from any intra-AS tunnel in the AS. > > > > BD>> I found that statement a bit confusing. I notice that you rely on > > this distinction in Section 9, so maybe it would be helpful to say > > something like this: > > > > "Note that the intra-AS segments of inter-AS tunnels > > form a category of tunnels that is distinct from simple intra-AS > > tunnels; we will rely on this distinction later (see Section 9). " > > > > 8.1.3. Inter-AS P-Tunnels > > > > The procedures described earlier in this document can be used to > > instantiate either an I-PMSI or an S-PMSI with inter-AS P-tunnels. > > Specific tunneling techniques require some explanation. > > > > If ingress replication is used, the inter-AS PE-PE tunnels will use > > the inter-AS tunneling procedures for the tunneling technology used. > > > > Procedures in [RSVP-P2MP] are used for inter-AS RSVP-TE P2MP P- > > Tunnels. > > > > Procedures for using PIM to set up the P-tunnels are discussed in > > the next section. > > > > 8.1.4. PIM-Based Inter-AS P-Multicast Trees > > > > BD>> It seems to me this should be 8.1.3.1, as it is a specific case > > of inter-AS P-tunnels. > > > > [...] > > > > 8.2. Segmented Inter-AS Tunnels > > > > 8.2.1. Inter-AS MVPN Auto-Discovery Routes > > [...] > > This section defines an inter-AS auto-discovery route as a route that > > carries information about an AS that has one or more PEs (directly) > > connected to the site(s) of that MVPN. Further it defines an inter-AS > > leaf auto-discovery route (leaf auto-discovery route) as a route used > > to inform the root of an intra-AS segment, of an inter-AS tunnel, of > > a leaf of that intra-AS segment. > > > > BD>> It took me several attempts to parse that last sentence. Let me > > make a suggestion for some alternate wording (feel free to try your > > own): > > Further it defines an inter-AS leaf auto-discovery route in the > > following way: > > - Consider a node which is the root of an an intra-AS segment of > > an inter-AS tunnel. An inter-AS leaf autodiscovery route is used > > to inform such a node of a leaf of that intra-AS segment. > > > > And even if the proposed wording is not correct, then you definitely need > > to reword the original, because that was the only sense I could make > > of it. > > > > > > > > 8.2.1.2. Propagating Inter-AS MVPN A-D Information > > > > As an inter-AS auto-discovery route originated by an ASBR within a > > given AS is propagated via BGP to other ASes, this results in > > creation of a data plane tunnel that spans multiple ASes. This tunnel > > is used to carry (multicast) traffic from the MVPN sites connected to > > the PEs of the AS to the MVPN sites connected to the PEs that are in > > the other ASes. Such tunnel consists of multiple intra-AS segments > > (one per AS) stitched at ASBRs' boundaries by single hop <ASBR-ASBR> > > LSP segments. > > > > BD>> Should that be "LSP segments" or "tunnels"? Do the inter-AS > > tunnels have to be MPLS encapsulated? If so, it would be good to clear > > this up in the intro to section 8. > > > > [...] > > > > 8.2.1.2.3. Inter-AS Auto-Discovery Route received via IBGP > > > > > > [...] > > > > If the NLRI of the route does not carry a label, then this tree is an > > intra-AS LSP segment that is part of the inter-AS Tunnel for the MVPN > > advertised by the inter-AS auto-discovery route. > > BD>> Again, shouldn't that be "intra-AS tunnel segment" rather than > > "LSP segment"? > > > > [...] > > > > 8.2.4. Inter-AS S-PMSI > > > > An inter-AS tunnel for an S-PMSI is constructed similar to an inter- > > AS tunnel for an I-PMSI. Namely, such a tunnel is constructed as a > > concatenation of tunnel segments. There are two types of tunnel > > segments: an intra-AS tunnel segment (a segment that spans ASBRs > > within the same AS), and inter-AS tunnel segment (a segment that > > spans adjacent ASBRs in adjacent ASes). > > > > BD>> doesn't the intra-AS tunnel segment span both ASBRs and PEs? > > > > ASes that are spanned by a > > tunnel are not required to use the same tunneling mechanism to > > construct the tunnel - each AS may pick up a tunneling mechanism to > > construct the intra-AS tunnel segment of the tunnel on its > > > > BD>> sentence fragment... > > > > [...] > > > > > > 10.2. Using MSDP between a PE and a Local C-RP > > > > > > Suppose that PE1 transmits a multicast data packet on a PMSI, where > > that data packet is part of an (S,G) flow, and PE2 receives that > > packet form that PMSI. > > BD>> from -> from > > According to section 9, PE1 is not the PE that PE2 expects to be > > transmitting (S,G) packets, then PE2 must > > discard the packet. > > BD>> I think you mean to say "*if* PE1 is not the PE..." > > > > If an MSDP-encapsulated data packet is > > transmitted on a PMSI as specified above, this rule from section 9 > > would likely result in the packet's getting discarded. Therefore, if > > MSDP-encapsulated data packets being decapsulated and transmitted on > > a PMSI, we need to modify the rules of section 9 as follows: > > > > 1. If the receiving PE, PE1, has already joined the (S,G) tree, > > and has chosen PE2 as the upstream PE for the (S,G) tree, but > > this packet does not come from PE2, PE1 must discard the > > packet. > > > > 2. If the receiving PE, PE1, has not already joined the (S,G) > > tree, but is a PIM adjacency to a CE which is downstream on the > > (*,G) tree, the packet should be forwarded to the CE. > > BD>> It appears that in the course of this paragraph you went from PE2 > > receiving packets from PE1 to PE1 receiving packets from > > PE2. That seems needlessly confusing - suggest you pick one > > to be the receiving PE for the whole para. > > > > 11. Encapsulations > > [...] > > 11.1.3. Encapsulation in MPLS > > > > If the PMSI is instantiated as a P2MP MPLS LSP, > > BD>> or an MP2MP MPLS LSP? > > > > MPLS encapsulation is > > used. Penultimate-hop-popping must be disabled for the P2MP MPLS LSP. > > If the PMSI is instantiated as an RSVP-TE P2MP LSP, additional MPLS > > encapsulation procedures are used, as specified in [RSVP-P2MP]. > > > > If other methods of assigning MPLS labels to multicast distribution > > trees are in use, > > BD>> e.g. MLDP > > > > these multicast distribution trees may be used as > > appropriate to instantiate PMSIs, and any additional MPLS > > BD>> "any" -> appropriate? > > encapsulation procedures may be used. > > > > > > > > > > 11.2. Encapsulations for Multiple PMSIs per Tunnel > > > > The encapsulations for transmitting multicast data messages when > > there are multiple PMSIs per tunnel are based on the encapsulation > > for a single PMSI per tunnel, but with an MPLS label used for > > demultiplexing. > > > > The label is upstream-assigned and distributed via BGP as specified > > in section 4. The label must enable the receiver to select the > > proper VRF, and may enable the receiver to select a particular > > multicast routing entry within that VRF. > > > > BD>> I suggest for completeness you add a sentence about the case > > where the outer encapsulation is MPLS, then say that the non-MPLS > > cases are covered below. > > > > [...] > > > > > > 11.4. Encapsulations for Unicasting PIM Control Messages > > > > When PIM control messages are unicast, rather than being sent on an > > MI-PMSI, the the receiving PE needs to determine the particular > > BD>> ..., then the > > > > > > > > 11.5. General Considerations for IP and GRE Encaps > > > > These apply also to the MPLS-in-IP and MPLS-in-GRE encapsulations. > > > > > > 11.5.1. MTU > > > > It is the responsibility of the originator of a C-packet to ensure > > that the packet small enough to reach all of its destinations, even > > BD>> ... is small... > > > > > > > > > > > > 11.5.2. TTL > > > > The ingress PE should not copy the TTL field from the payload IP > > header received from a CE router to the delivery IP or MPLS header. > > The setting of the TTL of the delivery header is determined by the > > local policy of the ingress PE router. > > > > BD>> Is there anything MVPN specific about that paragraph? Why don't > > the normal rules of TTL setting for MPLS or IP/GRE tunnels apply? > > Maybe you can cite RFC3443? > > > > [...] > > > > 12. Support for PIM-BIDIR C-Groups > > > > In BIDIR-PIM, each multicast group is associated with an RPA > > (Rendezvous Point Address). The Rendezvous Point Link (RPL) is the > > link that attaches to the RPA. Usually it's a LAN where the RPA is > > in the IP subnet assigned to the LAN. The root node of a BIDIR-PIM > > tree is a node which has an interface on the RPL. > > > > On any LAN (other than the RPL) which is a link in a PIM-bidir tree, > > there must be a single node that has been chosen to be the DF. > > > > BD>> A definition of DF would be good. > > > > > > > > If BGP signaling is used among the PEs, an alternative to DF election > > is necessary. One might think that use the "single forwarder > > > > BD>> "use" should be deleted > > > > selection" procedures described in sections 5 and 9 coudl be used to > > BD>> "could" > > > > choose a single PE "DF" for the backbone (for a given RPA in a given > > MVPN). > > > > [...] > > > > > > 12.1.1. Control Plane > > > > Associated with each MVPN-RPL is an address prefix that is > > unambiguous within the context of the MVPN associated with the MVPN- > > RPL. > > > > For a given MVPN, each VRF connected to an MVPN-RPL of that MVPN is > > configured to advertise to all of its connected CEs the address > > prefix of the MVPN-RPL. > > > > Since in PIM Bidir there is no Designated Forwarder on an RPL, in the > > context of MVPN-RPL there is no need to perform the Designated > > Forwarder election among the PEs (note there is still necessary to > > perform the Designated Forwarder election between a PE and its > > directly attached CEs, but that is done using plain PIM Bidir > > procedures). > > > > BD>> The start of this para repeats text from the start of > > 12.1. The main value of this para seems to be the paranthetical > > comment, so maybe it shouldn't be paranthetical. How about: > > > > "As noted above, there is no need in this case to perform DF > > election among the PEs. Note however that it is still necessary to > > perform the DF election between a PE and its > > directly attached CEs; that is done using plain PIM Bidir > > procedures." > > > > [...] > > > > > > > > > > 12.2. Partitioned Sets of PEs > > > > This method does not require the use of the MVPN-RPL, and does not > > require the customer to outsource the RPA/RPL functionality to the > > SP. > > > > > > 12.2.1. Partitions > > > > Consider a particular C-RPA, call it C-R, in a particular MVPN. > > Consider the set of PEs that attach to sites that have senders or > > receivers for a BIDIR-PIM group C-G, where C-R is the RPA for C-G. > > (As always we sue the "C-" prefix to indicate that we are referring > > > > BD>> "sue" -> "use". But isn't it a bit late to be reminding the > > reader what "C-" means anyway? > > > > to an address in the VPN's address space rather than in the > > provider's address space.) > > > > > > Following the procedures of section 5.1, each PE in the set > > independently chooses some other PE in the set to be its "upstream > > PE" for those BIDIR-PIM groups with RPA C-R. Optionally, they can > > all choose the "default selection" (described in section 5.1), to > > ensure that each PE to choose the same upstream PE. Note that if a > > > > BD>> "to choose" -> "chooses" > > > > PE has a route to C-R via a VRF interface, then the PE may choose > > itself as the upstream PE. > > > > [...] > > > > Consider packet P, and let PE1 be its ingress PE. PE1 will send the > > > > > > > > Rosen & Raggarwa [Page 78] > > > > Internet Draft draft-ietf-l3vpn-2547bis-mcast-05.txt July 2007 > > > > > > packet on a PMSI so that it reaches the other PEs that need to > > receive it. This is done by encapsulating the packet and sending it > > on a P-tunnel. If the original packet is part of a PIM-BIDIR group > > (its ingress PE determines this from the packet's destination address > > C-G), and if the VPN backbone is not the RPL, then the encapsulation > > MUST carry information that can be used to identify the partition to > > which the ingress PE belongs. > > > > When PE2 receives a packet from the PMSI, PE2 must determine, by > > examining the encapsulation, whether the packet's ingress PE belongs > > to the same partition (relative to the C-RPA of the packet's C-G) > > that PE2 itself belongs to. > > > > BD>> Might be helpful to point ahead to 12.2.2 to say that the > > encaps will be explained there. > > > > If not, PE2 discards the packet. > > Otherwise PE2 performs the normal BIDIR-PIM data packet processing. > > With this rule in place, harmful loops cannot be introduced by the > > PEs into the customer's bidirectional tree. > > > > > > > > > >