Still I memorize the day when we were asked to give propose of multicast in service provider network for one of our esteemed client. The service provider client was using hierarchical route reflector design. A part from this one strange thing which we had seen that was two loopbacks were used. One loopback was used for BGP peering with route reflector server & another loopback was used for route-reflector client peering. Rest all the basics services were already deployed like layer 2 & layer 3 vpn etc.
Prior to this we had already designed multicast for service provider network. For multicast design we proposed BSR mode for rp advertisements. Network consists of 300+ routers and all were able to receive the rp updates properly. But as soon as the multicast stream started no router was able to receive the stream. After that we traced the rpf (reverse path forwarding) and aghast to see rpf was showing failure.
The next instant I replied this was the reason because we were using two loopbacks. But no one was satisfied with my answer. But after a day I proved myself right by showing them a document which explicitly shows that if you are using two loopbacks for multicast then you would not be able to receive the multicast stream.
What’s the reason why it happened so? Actual whenever the multicast peering is made it uses its loopback address for multicast group address update. It always replies with that loopback from which it receives the updates. But now in case of two loopbacks on single router one loopback is receiving the stream from the upstream router and for sending the stream another loopback is being used which forces rpf to fail. So the next time if you design the multicast network kindly check if service provider is using two loopbacks and both for bgp peering then you will not be able to implement multicast in that network.