Menu

#235 TRDP MD Listener issue if both unicast and multicast is used on the same com id

1.4.2.0
closed
2019-06-14
2019-02-06
No

In the special use case where a message data frame (e.g. message data notify) for the same com id is received on both unicast and multicast addressing, the listener scheme does not work properly.

A listener has to be added for the multicast group. -> this listener does not receive the unicast messages due to the filters set in (trdp_mdcom.c:trdp_mdHandleRequest())
As such as second listener has to be added with multicast group 0. With the current filter rules, this listener now receives both the unicast and multicast messages which might cause issues - e.g. if different callback functions are registered on both listeners.

Proposed change - adapt filter rule for multicast group to also take into account the received message:
if ( (iterListener->addr.mcGroup != 0 || vos_isMulticast(appHandle->pMDRcvEle->addr.destIpAddr))
&&
iterListener->addr.mcGroup != appHandle->pMDRcvEle->addr.destIpAddr )

Discussion

  • Bernd Löhr

    Bernd Löhr - 2019-03-15
    • assigned_to: Stefan Bender
     
  • Bernd Löhr

    Bernd Löhr - 2019-03-15

    Is related to #235, #243, #236, #230

     
  • Stefan Bender

    Stefan Bender - 2019-03-20

    Thank you, I have integrated the proposed change.

     
  • Stefan Bender

    Stefan Bender - 2019-06-12
    • status: open --> pending
     
  • Bernd Löhr

    Bernd Löhr - 2019-06-14
    • Status: pending --> closed
     

Log in to post a comment.

MongoDB Logo MongoDB