RPF check mechanism

A multicast routing protocol uses reverse path forwarding (RPF) check to ensure the multicast data delivery along the correct path and to avoid data loops.

RPF check process

A multicast device performs the RPF check on a multicast packet as follows:

  1. Chooses an optimal route back to the packet source separately from the unicast, MBGP, and static multicast routing tables.

    The term "packet source" means different things in different situations:

    • For a packet that travels along the SPT, the packet source is the multicast source.

    • For a packet that travels along the RPT, the packet source is the RP.

    • For a bootstrap message originated from the BSR, the packet source is the BSR.

    For more information about the concepts of SPT, RPT, source-side RPT, RP, and BSR, see "Configuring PIM."

  2. Selects one of the three optimal routes as the RPF route as follows:

    • If the device uses the longest prefix match principle, the route with the highest subnet mask becomes the RPF route. If the routes have the same mask, the route with the highest route preference becomes the RPF route. If the routes have the same route preference, the unicast route becomes the RPF route.

      For more information about the route preference, see Layer 3—IP Routing Configuration Guide.

    • If the device does not use the longest prefix match principle, the route with the highest route preference becomes the RPF route. If the routes have the same preference, the unicast route becomes the RPF route.

    The RPF route contains the RPF interface and RPF neighbor information.

    • If the RPF route is a unicast route or MBGP route, the outgoing interface is the RPF interface and the next hop is the RPF neighbor.

    • If the RPF route is a static multicast route, the RPF interface and RPF neighbor are specified in the route.

  3. Determines whether the packet arrived at the RPF interface.

    • If the packet arrived at the RPF interface, the RPF check succeeds and the packet is forwarded.

    • If the packet arrived at the non-RPF interface, the RPF check fails and the packet is discarded.

RPF check implementation in multicast

Implementing an RPF check on each received multicast packet brings a big burden to the device. The use of a multicast forwarding table is the solution to this issue. When the device creates a multicast forwarding entry for an (S, G) packet, it sets the RPF interface of the packet as the incoming interface of the (S, G) entry. After the device receives another (S, G) packet, it looks up the multicast forwarding table for a matching (S, G) entry.

Figure 27: RPF check process

As shown in Figure 27, assume that unicast routes are available on the network, MBGP is not configured, and no static multicast routes have been configured on Device C. Multicast packets travel along the SPT from the multicast source to the receivers. The multicast forwarding table on Device C contains the (S, G) entry, with Port A as the incoming interface.