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
Multicast Receptions on MOD54417
Re: Multicast Receptions on MOD54417
submit a support ticket.
The Multicast code predates having multiple interfaces and its quite possible this is broken in some way.
Paul
The Multicast code predates having multiple interfaces and its quite possible this is broken in some way.
Paul
Re: Multicast Receptions on MOD54417
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).
Dan did a patch to 2.7.7 to fix these for me. (Paul see ticket #35386).
Re: Multicast Receptions on MOD54417
Indeed that was the case, though I thought your issues were on the 2.8 branch.
Dan Ciliske
Project Engineer
Netburner, Inc
Project Engineer
Netburner, Inc