Hello David
Indeed, in Phase 2, the spokes don’t know how to reach each other directly until they first communicate through the hub. This is because the NHRP mappings are only created when the spokes communicate with the hub. Once the communication is established, the hub updates its NHRP database and the spokes can then communicate directly. But this dynamic creation of spoke-to-spoke tunnels occurs only with unicast traffic. Multicast traffic will not trigger NHRP to create a direct spoke-to-spoke tunnel. Multicast traffic will continue to be routed via the hub until a unicast packet triggers the creation. Take a look at this NetworkLessons note for more details.
As for the ip nhrp map multicast x.x.x.x
command, you can use it in this fashion, however, it is generally not used to map multicast traffic to a specific spoke. If you had a topology with 10 spokes, you would have to issue the command for the IP address of every other spoke. When the command is used with multiple addresses, the system replicates the multicast packet for each address. The result is that multicast is sent to all of the mapped destinations essentially resulting in a broadcast. So beyond the fact that it is tedious to configure and maintain, it also defeats the purpose of multicast. More on this command can be found at this Cisco command reference.
The ip nhrp map multicast command
should only be used to point to the hub informing NHRP that multicast packets should be sent there. The reason for this is to allow the hub to process and forward multicast packets centrally, efficiently, and appropriately within a DMVPN network.
I hope this has been helpful!
Laz