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