Multicast is widely deployed in data centers for point-to-multi-point communications. It has an established set of control protocols such as IGMP and PIM that has limitations around the lack of bandwidth awareness when establishing the multicast trees. This could lead to over-subscription of network links and packet loss impacting user quality of experience. Other existing multicast issues are related to path setup time as delay translates to deterioration of user experience. In this paper, we present and implement the DiRP algorithm utilizing distributed decision making architecture to optimize multicast tree formation while maintaining low path setup time. The system is implemented using off-the-shelve commercially available switches. the proposed DiRP algorithm maintains the creation and removal of source trees based on bandwidth requirements. We test the algorithm using Cisco's Nexus commercially available switches. Testing results confirm that the DiRP Algorithm is able to setup multicast tree paths based on available bandwidth while maintaining distributed decision making in the fabric to lower path setup time. The system offers substantially lower path setup time compared to centralized systems while maintaining bandwidth awareness when setting up the fabric.