I use the D-Link DGS-3612G switch as an example.
Create a VLAN through which multicast traffic will be received and transmitted, and be sure to assign them interfaces with an ip-address.
Next, enable PIM and activate it on the interfaces through which multicast should go (for example, the pim interface through which multicast comes from the Cisco switch and pim-local that looks into the user network):
enable pim
config pim cbsr hash_masklen 30
config pim cbsr bootstrap_period 60
config pim register_suppression_time 60
config pim register_probe_time 5
config pim last_hop_spt_switchover never
config pim crp holdtime 150 priority 192
config pim crp wildcard_prefix_cnt 0
config pim ipif pim state enable hello 30 jp_interval 60 mode sm dr_priority 1
config pim cbsr ipif pim priority -1
config pim ipif pim-local state enable hello 30 jp_interval 60 mode sm dr_priority 1
config pim cbsr ipif pim-local priority -1
Add the static address of the RP, I had to add it to the D-Link DGS-3612G twice, because I didn’t want to be transmitted with one multicast (probably a switch firmware bug).
create pim static_rp group 239.0.0.0/8 rp 10.0.11.200
create pim static_rp group 239.0.0.0/16 rp 10.0.11.200
Let’s create the static routes to the multicast source:
create iproute 10.0.11.200/255.255.255.255 192.168.24.157 1 primary
create ipmroute 10.0.11.200/32 rpf_address 192.168.24.157
We enable and configure IGMP only on the interface that looks to users:
config igmp ipif pim-local version 2 query_interval 125 max_response_time 10 robustness_variable 2 state enable
config igmp ipif pim-local last_member_query_interval 1
config igmp check_subscriber_source_network ipif pim-local disable
This completes the setup. On user switches, you can configure ISM VLAN and watch IPTV, for example, through a VLC player.
See also my articles:
Configuring IGMP snooping on Cisco
Configuring PIM on MikroTik