This draft proposes to use BGP-MVPN procedures to support "Global Table
Multicast" (GTM). I fully support this, but I have some questions and
comments on the draft. Although the draft name contains "mboned" and not
"l3vpn", the L3VPN WG seems like the best place to have a detailed
discussion of a draft that makes use of MVPN procedures.
- The procedures given in this draft for GTM differ from the procedures for
GTM that are provided in draft-ietf-mpls-seamless-mcast-06.txt. There
should be some text explicitly pointing this out, and the seamless-mcast
draft should be listed in the Informative References section. Further,
the mvpn-global-table-mcast should make it clear whether it is being
offered as a replacement for the GTM part of the seamless-mcast draft, or
whether it is being offered as another possible option.
- Assuming that the procedures in the mvpn-global-table-mcast draft are
being offered as another possible option, the question arises as to
whether the two options can co-exist in the same backbone network. This
should be addressed in the draft. I think the answer is that the two
procedures can co-exist, as long as it is made clear (somehow) which
option is to be used for which ASM groups, and which option is to be used
for which (S,G) SSM flows.
The two options make different uses of the Leaf A-D routes, but it is
always possible to tell from the NLRI of a Leaf A-D route which set of
procedures governs the use of that particular Leaf A-D route. This should
be mentioned.
- In the MVPN procedures, VRFs are configured with import and export RTs.
The I-PMSI A-D routes, S-PMSI A-D routes, and Source Active A-D routes
carry at least some of the export RTs of the VRFs from which they are
originated, following rules laid out in RFC 6514.
The draft doesn't talk about this at all, and it's not clear whether or
not it is expected that the global tables will have import and export
RTs.
Is it required that the I-PMSI, S-PMSI, and Source Active A-D routes
originated from the global table will carry RTs, and that these RTs will
constrain the distribution of the routes? If not required, is it
prohibited, or is it optional? If there are no RTs, how does a "BR" (the
term used by the draft to mean, roughly, "PE") know whether a particular
A-D route needs to be imported into its global table? Or does every
global table have to import every I-PMSI, S-PMSI, and Source Active A-D
route that has no RTs?
I think this has to be addressed explicitly, as I don't think the answers
are determined by just saying "use the MVPN procedures".
- The draft does seem to assume that a BR will originate an Intra-AS I-PMSI
A-D route for the global table, if that BR plays the role of "ingress PE".
This raises the question of whether it is allowable to include a PMSI
Tunnel attribute in these routes. If an Intra-AS I-PMSI A-D route
specifies an inclusive P-tunnel, every BR in the network that can play the
role of "egress PE" for GTM needs to join that inclusive P-tunnel, whether
or not it is interested in receiving any multicast data from the
originator of the route. I'm not sure if this is a good idea in the
context of GTM.
There may be different points of view about whether the use of inclusive
tunnels make sense for GTM, but the draft should certainly call attention
to this issue.
One could also ask whether Intra-AS I-PMSI A-D routes are really needed
for GTM at all.
- Unless it is the intention to disallow the use of wildcard S-PMSI A-D
routes, RFC 6625 should be added to the list of normative references, and
it would be a good idea to at least mention that wildcard S-PMSI A-D
routes may be used for GTM.
- The claim is made that "With Global Table Multicast implemented by
BGP-MVPN procedures, all the features/characteristics of BGP-MVPN apply,
including ... support for PIM-DM ... BSR and AUTO-RP as RP-to-group
mapping protocols".
I don't believe that MVPN supports PIM-DM; RFC 6513 declares support for
PIM-DM to be outside its scope. I don't think the MVPN RFCs mention
Auto-RP at all.
- The MVPN specs distinguish between the "Upstream Multicast Hop" (UMH) and
the "Upstream PE". The draft doesn't stick to the terminology of the MVPN
specs, but instead uses the term "RPF route", which is never actually
defined. In some cases, the term "RPF route" seems to mean what RFCs 6513
and 6625 call a "UMH-eligible route". But the draft often doesn't seem to
distinguish between the UMH and the Upstream PE. In particular, some of
the new procedures specified in section 3.2 seem to work only if the UMH
and the Upstream PE are the same (see below), even though this is not
generally the case.
I think it would be better to stick to the terminology of the MVPN specs,
and to avoid terms like "RPF route" that are not precisely defined.
- The draft does not actually say anywhere that a BR SHOULD attach a VRF
Route Import extended community and a Source AS extended community to the
UMH-eligible routes that it originates from the global table. While one
could say that this falls under the category of "just use the MVPN
procedures", it would be better to mention this explicitly.
- With regard to the statement:
"By default, RD 0:0 is used when advertising A-D routes for Global
Table Multicast, though an implementation MAY support the
configuration and use of a different RD value."
* "RD 0:0" is not a notation defined in any RFC. I assume it means "RD
whose value is 64 bits of zero", but it would be better to say that.
* When you say "MAY support the configuration and use of a different RD
value", please specify whether you mean "each BR may use a unique RD
value for its global table", or "all BRs must use the same RD value for
their global tables, but it can be configured to be other than zero."
It would also be worth discussing whether there is any possible advantage
to using an RD other than zero.
- It should be pointed out that the MVPN procedures for Single Forwarder
Selection will not work for GTM, as those procedures presuppose that every
VRF has a unique RD, and that this RD is part of the NLRI of the
"UMH-eligible" routes. In GTM, the UMH-eligible routes are will be of
AFI/SAFI 1/1, 2/1, 1/2,or 2/2, and these routes do not have RTs. This
means that GTM can only be supported on platforms that can implement the
procedures of RFC 6513 section 9.1.1 (label-based RPF check).
- With regard to the following paragraph from section 3.1:
In the simple reference scenario above, it is assumed that the BRs
learn RPF routes from non-BRs via eBGP or IGP. The assumption is to
illustrate the analogy to a true VPN environment. In another
deployment scenario, the BRs could have learned the RPF routes over
those iBGP sessions to non-BRs. If the BRs act as RRs and reflect
the RPF routes to other BRs with polices to attach VRF Route Import
Extended Community and Source AS Extended Community, BGP-MVPN
procedures can still be used as described earlier.
I don't really get the point here. The protocol by which the non-BR
advertises routes to the BR doesn't seem relevant at all; whatever the
protocol is, the BR should attach the extended communities when it
redistributes the routes via BGP.
In any case, I would avoid the phrase "act as an RR"; this phrase is not
well-defined.
- I'm not sure I understand the use case scenario of section 3.2:
There is a full-mesh of IBGP sessions among provider routers
GW1/BR1/BR2/GW2. EBGP sessions run between CPE1/GW1 and between
CPE2/GW2. Border routers BR1/BR2 run BGP-MVPN procedures for Global
Table Multicast. GW1 learns of BGP route to the src from CPE1 and
advertises it to BRx/GW2.
In this scenario, is GW1 putting itself in as the next hop of the route
to "src"? If not, what is the next hop?
Because GW1 does not run MVPN, BR2's route to the src (learned from
GW1 instead of BR1) does not have the VRF Route Import Extended
Community. Therefore, it would not be able to correctly attach a
Route Target Extended Community corresponding to BR1 in its
C-Multicast Routes.
In this scenario, is there an assumption that the data path from BR2 to
GW1 passes through BR1? This is not stated, and is not indicated in the
diagram, but otherwise I don't see why BR2's C-multicast routes should
be targeted to BR1.
But if the data path from BR2 to GW1 passes through BR1, why is GW1
telling BR2 that GW1 itself is the next hop?
It would help if the diagram distinguished the physical connections from
the BGP sessions.
If the unicast data path between GW1 and BR2 does not pass through BR1,
but one wants the multicast data path between GW1 and BR2 to pass
through BR1, the most obvious solution is to have BR1 originate SAFI-2
routes whose NLRIs match the addresses of the multicast sources behind
GW1. Although this isn't mentioned, it seems like a viable option that
(a) avoids the need to modify the UMH selection procedures and (b)
doesn't depend on or affect the unicast routing.
- Section 3.2 proposes a modified procedure for determining the Upstream PE
(which would be the "ingress BR" in the terminology of this draft), given
a route to the multicast source:
o If the route is a BGP route with a VRF Route Import Extended
Community, that VRF Route Import Extended Community is used.
o If the route is a BGP route without a VRF Route Import Extended
Community, get the route to the Next Hop and recurse.
I don't understand this second step. Only routes to multicast sources
have the extended community. So even if the next hop is itself the
ingress BR (i.e., if all the BRs are in the same AS), I don't see how
this will work, because MVPN procedures do not require an ingress PE to
originate a route to itself with a VRF Route Import extended community
attached. (One could make that a requirement, but I don't see it in the
draft, and that would certainly be a modification of the MVPN
procedures.)
In any case, the next hop is not necessarily the ingress BR; the next hop
may be an ASBR that is along the path to the ingress BR. Since that ASBR
may also be along the path to other ingress BRs, the route to the next
hop cannot be carrying a VRF Route Import extended community that
identifies any particular ingress BR.
o If the route is an IGP route with a RSVP-TE LSP as next hop, and
the LSP endpoint is a BR that advertises an Intra-AS I-PMSI A-D
route (BR1 in the above example), a VRF Route Import Extended
Community is constructed as BR_addr:0 to be associated with the
RPF route, where the BR_addr is the Originating Router's IP
Address of the Intra-AS I-PMSI A-D route.
This will not give the correct result unless the BRs are all in the same
IGP domain and are connected through a full mesh of RSVP-TE LSPs.
And the final step of the new procedure:
If the above procedure does not produce a usable VRF Route Import
Extended Community, then the RPF route is considered a local route
(vs. a remote route that is associated with a remote BR).
If the next hop is not a BR, presumably it's a system that plays the
role of an MVPN CE, and it has to be sent a PIM Join rather than a BGP
C-multicast Join. However, a BR generally knows which of its interfaces
are customer-facing rather than core-facing, and should not sent PIM
Joins out its core-facing interfaces. But there are conditions under
which the above procedures will cause that to happen.
Perhaps the procedures of section 3.2 are intended to have restricted
applicability, e.g., only applicable when the "core" contains a single
AS or consists of a full mesh of RSVP-TE tunnels. In that case, the
draft should clearly state the applicability restrictions.
- If there is discussion of modifying the procedure for selecting the UMH,
there should be some discussion of whether the procedures in this draft
can be used together with the P-tunnel segmentation procedures of
draft-ietf-mpls-seamless-mcast.
- I can't agree with the statement in the abstract that "no protocol
modification/extension is required". While the draft does not define new
messages or TLVs, it does specify and/or presuppose procedures that are
specific to the case of global table multicast. For instance:
* the procedures for selecting the RD to be placed in the I-PMSI, S-PMSI,
and Source Active A-D routes are different than the MVPN procedures;
* the procedures for deciding which RTs to attach to routes other than
C-multicast routes and Leaf A-D routes are not discussed in this draft,
but they should be, and I don't see how they can be exactly the same as
the MVPN procedures;
* the procedure for determining the upstream PE is not the same as the
MVPN procedure.
These are protocol modifications/extensions, and need to be addressed in a
standards track document.