Multicast routing in ad-hoc networks by exchange of multicast group update
information and routing tree information among neighboring routers is
disclosed. A router propagates multicast group update information based
on the update information and the routing tree information. A router also
determines whether to forward multicast data packets based on control
information in the multicast data packets and the routing tree
information.