The next hop for multicast RPF routes learned by MBGP is not always the address of a directly-connected neighbor. For unicast routing, a router resolves the directly-connected next-hop by repeating the IGP routes. For multicast RPF routes, there are different ways to find the real next-hops:
Scanning to see if a route encompasses the BGP next hop. If one exists, this route is used. If not, the tables are scanned for the best matching route.
Checking to see if the recursed next hop is taken from the protocol routing table with the lowest administrative distance (protocol preference). This means that the operating system algorithm must perform multiple lookups in the order of the lowest admin distance. Unlike recursion on the unicast routing table, the longest prefix match rule does not take effect; protocol preference is considered before prefix length. For example, the route 10.0.0.0/14 learned via MBGP is selected over the route 10.0.0.0/16 learned via BGP.