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