Changing IGMP version on Debian Linux Systems
Sometimes users of our IP Multicast based probes for IPTV on Debian Linux ask how to use IGMPv2 instead of IGMPv3 (which is currently default with Debian Linux). Changing the IGMP version used does not require changes to the probe software. IGMP behaviour is defined by the Linux kernel instead.
Problem:
Probe running on Linux generates IGMPv3 messages, but the IP router involved does only understand IGMPv2
Solution:
Let us assume, you are using device ‘eth0’ on Linux based remote probe system to generate IGMP messages and also to receive IP Multicast traffic:
- Become root and cd to ‘/’
user@amrum:~$ su -
Password:
amrum:~# cd /
amrum:/#
- Enter ‘cat /proc/sys/net/ipv4/conf/eth0/force_igmp_version’
this will produce ‘0’ which means highest available version.
amrum:/# cat /proc/sys/net/ipv4/conf/eth0/force_igmp_version
0
amrum:/#
- With ‘tcpdump -i eth0 igmp’ you will receive during probe run something like:
amrum:/# tcpdump -i eth0 igmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
15:42:39.679668 IP amrum.advenage.intra > IGMP.MCAST.NET: igmp v3 report, 1 group record(s)
15:42:43.688314 IP amrum.advenage.intra > IGMP.MCAST.NET: igmp v3 report, 1 group record(s)
15:42:46.707297 IP amrum.advenage.intra > IGMP.MCAST.NET: igmp v3 report, 1 group record(s)
- To switch to IGMPv2 on ‘eth0’ enter
‘echo "2" > /proc/sys/net/ipv4/conf/eth0/force_igmp_version’
amrum:/# echo "2" > /proc/sys/net/ipv4/conf/eth0/force_igmp_version
amrum:/#
- Now check success of your change with during probe run ‘tcpdump -i eth0 igmp’:
amrum:/# tcpdump -i eth0 igmp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
15:50:03.755575 IP amrum.advenage.intra > 224.1.1.1: igmp v2 report 224.1.1.1
15:50:11.692773 IP amrum.advenage.intra > 224.1.1.1: igmp v2 report 224.1.1.1
15:50:21.679264 IP amrum.advenage.intra > 224.1.1.1: igmp v2 report 224.1.1.1
15:50:34.745108 IP amrum.advenage.intra > ALL-ROUTERS.MCAST.NET: igmp leave 224.1.1.1
15:50:38.773261 IP amrum.advenage.intra > 224.1.1.1: igmp v2 report 224.1.1.1
15:50:41.773324 IP amrum.advenage.intra > ALL-ROUTERS.MCAST.NET: igmp leave 224.1.1.1
