net: ip: igmp: IGMP v2 membership reports are sent to 224.0.0.2 instead of the group being reported #52449
Labels
area: Networking
bug
The issue is a bug, or the PR is fixing a bug
priority: low
Low impact/importance bug
Describe the bug
The Zephyr network stack is sending IGMP v2 membership reports to the 224.0.0.2 multicast address instead of the multicast group it is being reported. When reading through RFC 2236 (http://www.faqs.org/rfcs/rfc2236.html) Section 9 this seems to be a violation. I've copy pasted the relevant text from the RFC:
The reason why I am reporting this issue is when I was reporting #52409 , with IGMP snooping enabled on my Cisco SG300 switch the STM32H7 device was not able to receive UDP IPv4 multicast data when it opened up a socket. What I observed was despite sending membership reports for 224.0.0.2 the device was able to receive mDNS multicast however, it was not able to receive multicast from a 239.255.x.x address. Hence why this issue was raised.
The leave reports are sent to the correct destination address of 224.0.0.2.
Please also mention any information which could help others to understand
the problem you're facing:
specific commit? This issue is present in v3.1 and v3.2
To Reproduce
Steps to reproduce the behavior:
net_ipv4_igmp_join
)Expected behavior
The device should send the IGMP membership report to the multicast group that is being reported and be able to receive the UDP/IP multicast data on a network with IGMP snooping enabled.
Impact
We cannot ship our product that is not able to receive UDP/IP multicast in a network with IGMP snooping enabled.
Additional context
I have a fix for this issue: in zephyr/subsys/net/ip/igmp.c:
igmp_send_generic
, the following should be changed:to
Whoever is reviewing this ticket agrees with my change, feel free to assign the ticket to me and I will send a PR for the change and quote the ticket number in the change commit.
The text was updated successfully, but these errors were encountered: