Distributing C-Multicast Routes Overview
While non-C-multicast multicast virtual private network (MVPN) routes (Type 1 – Type 5) are generally used by all provider edge (PE) routers in the network, C-multicast MVPN routes (Type 6 and Type 7) are only useful to the PE router connected to the active C-S or candidate rendezvous point (RP). Therefore, C-multicast routes need to be installed only in the VPN routing and forwarding (VRF) table on the active sender PE router for a given C-G. To accomplish this, Internet draft draft-ietf-l3vpn-2547bis-mcast-10.txt specifies to attach a special and dynamic route target to C-multicast MVPN routes (Figure 1).
![Attaching a Special and Dynamic Route Target to C-Multicast MVPN Routes](../../images/g041541.gif)
The route target attached to C-multicast routes is also referred to as the C-multicast import route target and should not to be confused with route target import (Table 1). Note that C-multicast MVPN routes differ from other MVPN routes in one essential way: they carry a dynamic route target whose value depends on the identity of the active sender PE router at a given time and can change if the active PE router changes.
Route Target Import Attached to VPN-IPV4 Routes |
Route Target Attached to C-Multicast MVPN Routes |
---|---|
Value generated by the originating PE router. Must be unique per VRF table. |
Value depends on the identity of the active PE router. |
Static. Created upon configuration to help identify to which PE router and to which VPN the VPN unicast routes belong. |
Dynamic because if the active sender PE router changes, then the route target attached to the C-multicast routes must change to target the new sender PE router. For example, a new VPN source attached to a different PE router becomes active and preferred. |
A PE router that receives a local C-join determines the identity of the active sender PE router by performing a unicast route lookup for the C-S or candidate rendezvous point (router) [candidate RP] in the unicast VRF table. If there is more than one route, the receiver PE router chooses a single forwarder PE router. The procedures used for choosing a single forwarder are outlined in Internet draft draft-ietf-l3vpn-2547bis-mcast-bgp-08.txt and are not covered in this topic.
After the active sender (upstream) PE router is selected, the receiver PE router constructs the C-multicast MVPN route corresponding to the local C-join.
After the C-multicast route is constructed, the receiver PE router needs to attach the correct route target to this route targeting the active sender PE router. As mentioned, each PE router creates a unique VRF route target import community and attaches it to the VPN-IPv4 routes. When the receiver PE router does a route lookup for C-S or candidate RP, it can extract the value of the route target import associated with this route and set the value of the C-import route target to the value of the route target import.
On the active sender PE router, C-multicast routes are imported only if they carry the route target whose value is the same as the route target import that the sender PE router generated.
Constructing C-Multicast Routes
A PE router originates a C-multicast MVPN route in response to receiving a C-join through its PE-CE interface. See Figure 2 for the formats in the C-multicast route encoded in MCAST-VPN NLRI. Table 2 describes each field.
![C-Multicast Route Type MCAST-VPN NLRI Format](../../images/g041542.gif)
Field |
Description |
---|---|
Route Distinguisher |
Set to the route distinguisher of the C-S or candidate RP (the route distinguisher associated with the upstream PE router). |
Source AS |
Set to the value found in the |
Multicast Source Length |
Set to 32 for IPv4 and to 128 for IPv6 C-S or candidate RP IP addresses. |
Multicast Source |
Set to the IP address of the C-S or candidate RP. |
Multicast Group Length |
Set to 32 for IPv4 and to 128 for IPv6 C-G addresses. |
Multicast Group |
Set to the C-G of the received C-join. |
This same structure is used for encoding both Type 6 and Type 7 routes with two differences:
The first difference is the value used for the multicast source field. For Type 6 routes, this field is set to the IP address of the candidate RP configured. For Type 7 routes, this field is set to the IP address of the C-S contained in the (C-S, C-G) message.
The second difference is the value used for the route distinguisher. For Type 6 routes, this field is set to the route distinguisher that is attached to the IP address of the candidate RP. For Type 7 routes, this field is set to the route distinguisher that is attached to the IP address of the C-S.
Eliminating PE-PE Distribution of (C-*, C-G) State Using Source Active Autodiscovery Routes
PE routers must maintain additional state when the C-multicast routing protocol is Protocol Independent Multicast-Sparse Mode (PIM-SM) in any-source multicast (ASM). This is a requirement because with ASM, the receivers first join the shared tree rooted at the candidate RP (called a candidate RP tree or candidate RPT). However, as the VPN multicast sources become active, receivers learn the identity of the sources and join the tree rooted at the source (called a customer shortest-path tree or C-SPT). The receivers then send a prune message to the candidate RP to stop the traffic coming through the shared tree for the group that they joined to the C-SPT. The switch from candidate RPT to C-SPT is a complicated process requiring additional state.
Internet draft draft-ietf-l3vpn-2547bis-mcast-bgp-08.txt specifies optional procedures that completely eliminate the need for joining the candidate RPT. These procedures require PE routers to keep track of all active VPN sources using one of two options. The first option is to colocate the candidate RP on one of the PE routers. The second option is to use the Multicast Source Discovery Protocol (MSDP) between one of the PE routers and the customer candidate RP.
In this approach, a PE router that receives a local (C-*, C-G) join creates a Type 6 route, but does not advertise the route to the remote PE routers until it receives information about an active source. The PE router acting as the candidate RP (or that learns about active sources via MSDP) is responsible for originating a Type 5 route. A Type 5 route carries information about the active source and the group addresses. The information contained in a Type 5 route is enough for receiver PE routers to join the C-SPT by originating a Type 7 route toward the sender PE router, completely skipping the advertisement of the Type 6 route that is created when a C-join is received. Figure 3 shows the format of a source active (SA) autodiscovery route. Table 3 describes each format.
![Source Active Autodiscovery Route Type MCAST-VPN NLRI Format](../../images/g041543.gif)
Field |
Description |
---|---|
Route Distinguisher |
Set to the route distinguisher configured on the router originating the SA autodiscovery route. |
Multicast Source Length |
Set to 32 for IPv4 and to 128 for IPv6 C-S IP addresses. |
Multicast Source |
Set to the IP address of the C-S that is actively transmitting data to C-G. |
Multicast Group Length |
Set to 32 for IPv4 and to 128 for IPv6 C-G addresses. |
Multicast Group |
Set to the IP address of the C-G to which C-S is transmitting data. |
Receiving C-Multicast Routes
The sender PE router imports C-multicast routes into the VRF table based on the route target of the route. If the route target attached to the C-multicast MVPN route matches the route target import community originated by this router, the C-multicast MVPN route is imported into the VRF table. If not, it is discarded.
Once the C-multicast MVPN routes are imported, they are translated back to C-joins and passed on to the VRF C-PIM protocol for further processing per normal PIM procedures.