mirror of https://github.com/ARMmbed/mbed-os.git
Problem Statement: During multicast join sequence, InternetSocket::join_multicast_group() calls InternetSocket::modify_multicast_group(). modify_multicast_group() sets up the multicast group address (i.e., mreq.imr_multiaddr) to be joined and the interface address (i.e., mreq.imr_interface) to be used for the multicast join request. The interface address is initialized with the default value, which sets the version of interface address to NSAPI_UNSPEC. This results in LWIP::setsockopt() API to attempt IPv6 multicast join on the IPv4 interface address, hence IPv6 multicast join always fails with the protocol error. Fix: Initialize interface address version based on the multicast address version in LWIP::setsockopt(), before attempting multicast join operation. |
||
---|---|---|
.. | ||
lwip | ||
lwip-sys | ||
.mbedignore | ||
CONTRIBUTING.md | ||
LWIPInterface.cpp | ||
LWIPInterfaceEMAC.cpp | ||
LWIPInterfaceL3IP.cpp | ||
LWIPInterfacePPP.cpp | ||
LWIPMemoryManager.cpp | ||
LWIPMemoryManager.h | ||
LWIPStack.cpp | ||
LWIPStack.h | ||
lwip_tools.cpp | ||
lwip_tools.h | ||
lwipopts.h | ||
mbed_lib.json |