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 22.214.171.124 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 126.96.36.199
smcroute -l eth0 188.8.131.52
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 184.108.40.206
PING 220.127.116.11 (18.104.22.168) 56(84) bytes of data.
64 bytes from 22.214.171.124: icmp_seq=1 ttl=64 time=0.141 ms
64 bytes from 126.96.36.199: icmp_seq=1 ttl=64 time=0.256 ms (DUP!)
Hosts 188.8.131.52 and 184.108.40.206 replied to ping on 220.127.116.11 multicast group.