I was looking for lightweight tool which would help me with troubleshooting multicast on VXLAN transport network (underlay). While both vCNS and NSX have built in tools (pings of various sizes and broadcast packets) I needed something more flexibile where I could do arbitrary IGMP joins and leaves.
- if you have multiple interfaces make sure the multicast is routed through the correct one:
route add -net 126.96.36.199 netmask 240.0.0.0 dev eth0
- I had to install also glibc package:
yum -y install glibc.i686
- Make sure the kernel supports multicast
cat /boot/config-<kernel version> | grep CONFIG_IP_MULTICAST
- Enable ICMP ECHO on broadcast/multicast
- Start the smcroute daemon first:
To join and leave a multicast group use -j and -l commands:
smcroute -j eth0 188.8.131.52
smcroute -l eth0 184.108.40.206
To check current memberships use:
IGMP version can be changed with following command:
echo “2” > /proc/sys/net/ipv4/conf/eth0/force_igmp_version
Additional useful statistics about IGMP joins:
To see which hosts are member of particular IGMP group just ping it and see who replies:
[root@CentOS~]# ping 220.127.116.11
PING 18.104.22.168 (22.214.171.124) 56(84) bytes of data.
64 bytes from 126.96.36.199: icmp_seq=1 ttl=64 time=0.141 ms
64 bytes from 188.8.131.52: icmp_seq=1 ttl=64 time=0.256 ms (DUP!)
Hosts 184.108.40.206 and 220.127.116.11 replied to ping on 18.104.22.168 multicast group.