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