Menu

#73 TRDPLight: Multicast "join" fails on Windows system with two ethernet interfaces

1.3.0.0
closed
1367 (1)
2014-11-25
2014-11-24
No

In file .../src/common/trdp_utils.c, and function "trdp_requestSocket()":

/ On Linux, binding to an interface address will prevent receiving of MCs! It'll work on Windows, though /
if (vos_isMulticast(mcGroup) && rcvMostly)
{
bindAddr = 0;
}

This condition is failing on a Windows7 PC computer with 2 ethernet interfaces running TRDP protocol just on one of them. As bind address is "0", sometimes the IGMP messages to subscribe to PD multicast groups are sent through the incorrect ethernet interface. So, as the TRDP ethernet interface is connected to a switch which is managing multicast flows, the multicast frames are not sent by the PC computer because no IGMP subscription was detected by the ethernet switch on this port. Once this condition is removed, everything is working fine.

Discussion

  • Armin-Hagen Weiss

    Created vos_determineBindAddr() in vos_sock.c to differenciate between the different OS.

     
  • Armin-Hagen Weiss

    • labels: --> 1367
    • status: open --> closed
    • assigned_to: Armin-Hagen Weiss
     

Log in to post a comment.

MongoDB Logo MongoDB