I have several embedded machines listening and streaming rtp audio data to a multicast group. They are connected to a smart managed switch (Netgear GS108Ev2) which does basic igmp snooping and multicast filtering on its ports, so that the rest of my (W)LAN doesn't get flooded.
At start everything works fine for about 500-520 seconds. After that, they don't receive any more data until they leave and join the group again. I guess the switch is "forgetting" about the join after a timeout.
Is there any way to refresh the group membership, i.e. letting the switch know, that there ist still someone listening, without losing packets?
System info:
Arch: blackfin
# cat /proc/version
Linux version 2.6.28.10-ADI-2009R1-uCBF54x-EMM
(gcc version 4.3.3 (ADI) ) #158 PREEMPT Tue Jun 5 20:05:42 CEST 2012
A multicast group is defined by an IP address and a port number. Once a host has group membership, the host will receive any data packets that are sent to that group defined by an IP address/port number.
PROCEDURE. In order to verify if Multicast is working correctly in your network, you can use the following quick tcpdump/ping test. If the Multicast is working correctly then you should see packets arriving at the first node. Repeat this procedure in each node to verify that Multicast is OK in your network.
A device can join a group by sending an IGMP “membership report” message to the group IP address. This packet is received by a multicast router on the segment, and the router does whatever is necessary to start forwarding the data stream to this device.
Synopsis. IGMPv2 Membership Reports are generated by hosts whenever they start monitoring a multicast address, or whenever they see a Membership Query. IGMPv2 Membership Reports are generated only by IGMPv2 hosts. The IGMP Message Type for IGMPv2 Membership Reports is 6.
This is the way multicast / the IGMP protocol works. A client has to join the group periodically by sending a Membership Report or it will be assumed that he has left the group after some short timeout. However, those reports are usually sent only when receiving a Membership Query from the local multicast router. Either your clients don't receive the query or don't respond with a report.
Try to use a tool like wireshark in order to see which IGMP packets are sent through your network.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With