- RFC 5015
- Traditional Sparse Mode forms two trees.
- Unidirectional SPT from source to RP
- Undirectional shared tree from RP to receivers.
- Results in (*,G) and (S,G) control plane.
- Doesn’t scale well.
- Bidirectional PIM solves this by only allowing the Shared Tree (*,G) and never a SPT (S,G).
- Operations:
- Define an RP and group range as bidirectional.
- Stops formation of (S,G) for range.
- Build single (*,G) tree towards RP
- Traffic flows upstream from source to RP
- Traffic flows downstream from R to receivers
- Removes PIM Register process
- Traffic from sources always flow to RP.
- Uses Designated Forwarder for loop prevention.
- Define an RP and group range as bidirectional.
- Bidir Designated Forwarder:
- One DF is elected per PIM segment
- Lowest metric to RP wins.
- Highest IP in tie.
- Only DF can forward traffic upstream towards RP.
- All other interfaces in OIL are downstream facing.
- Removes the need for RPF check.
- Due to this all routers must agree on Bidir or loops can occur.
- One DF is elected per PIM segment
Configuration:

In this topology we’re going to setup R1 as the Rendezvous Point.


Bidirectional PIM first needs to be enabled globally, and then added on to the rp-address command. This needs to get turned on for every router in the path.
Now on R8 we’re going to join a group.


After the group Join reached the RP, R1 now sees the receiver/(*,G).
We’re going to now setup a continuous ping on R9 to the group address and see what the mroute shows on R1.

Which is still only showing the (*,G) because this is Bidirectional PIM. The full SPT does not exist, will not form.
Entire goal is to reduce the number of senders in the Multicast Table.