Page 1 of 1

Multicast Receptions on MOD54417

Posted: Wed Apr 19, 2017 1:52 pm
by rlupish
Using NNDK 2.7.5 -
Our application requires dedicating each of the 2 MOD54417 Network interfaces to a specific multicast address. I have created 2 separate tasks, one to service interface 1 and the other to service interface 2, each with a dedicated Fifo queue. The setup is as follows:

Connection to Interface 1: IP Address set (via IPSetup) to XX.Y.ZZ.NN, Subnet Mask 255.255.240.0;
The dedicated task is programmed to listen ONLY to Broadcast Address Group 239.255.AA.BB at a specified port on Interface 1, per line in multicast.h:
void RegisterMulticastFifo( IPADDR group, WORD dest_port, OS_FIFO *pfifo, int interface = 0 );
where we specify the interface = 1;

Connection to Interface 2: IP Address set (via IPSetup) to XX.Y.QQ.NN, Subnet Mask 255.255.240.0;
The dedicated task is programmed to listen ONLY to Broadcast Group Address 239.255.CC.DD at a specified port on Interface 2, also per the above line in multicast.h:
where we specify the interface = 2;

(NOTE: the interface argument is NOT described at all in the multicast.h file, so it is unclear whether 0 and 1 are needed, or 1 and 2, respectively, for the 2 interfaces. I have tried both sets of values.)

With my test setup, I can only send out broadcasts out one group IP at a time.
Both NetBurner Ethernet ports are connected to a switch, to which the broadcast sender is also connected.

So here's the scenario:
1) Sending out broadcasts out to Group Address 239.255.AA.BB, works fine. If I disconnect the Ethernet cable from NetBurner RJ-45 connector 0 (interface 1), the corresponding task reports that receptions are interrupted as expected. All's well. Reconnect, and receptions are re-established. SFSG...
2) Sending out broadcasts out to Group Address 239.255.CC.DD, also works fine. HOWEVER, if I disconnect the Ethernet cable from NetBurner RJ-45 connector 1 (interface 2), the corresponding task DOES NOT report that receptions are interrupted. If, just for fun, I disconnect the Ethernet cable from the NetBurner RJ-45 connector 0 ... the task dedicated to receiving on interface 2 now reports that receptions are interrupted!

It would appear that the association of each of the two tasks to a specified interface is not working as expected, and both tasks are responding to broadcasts arriving on Interface 1.

Am I missing something in setting up the Registering of the Multicast receptions with the Fifo :?: Am I not understanding something about the association of the interfaces with the Fifo queues :?:

Ron :?

Re: Multicast Receptions on MOD54417

Posted: Wed Apr 19, 2017 2:45 pm
by pbreed
submit a support ticket.
The Multicast code predates having multiple interfaces and its quite possible this is broken in some way.

Paul

Re: Multicast Receptions on MOD54417

Posted: Fri Apr 21, 2017 2:01 pm
by sblair
There were some bugs in 2.7.7 I found with regards to Multicast on the '417. The issues I found were related to the interface # not getting passed down to the lower functions: SendIGMPBelong(), FixHeaderAndSendViaInterface(), UnregisterMulticastFifo(), etc... This may be some of the issues you are seeing, or it may be something different.

Dan did a patch to 2.7.7 to fix these for me. (Paul see ticket #35386).

Re: Multicast Receptions on MOD54417

Posted: Tue Apr 25, 2017 8:58 am
by dciliske
Indeed that was the case, though I thought your issues were on the 2.8 branch.