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 | ||