On Wed, Jul 27, 2005 at 01:36:15PM +0300, Avni Hillel-R58467 wrote: > Hi Matt, > > Two questions: > > A. How can a node (not the host) know who is in the rionet to broadcast to > them?
All nodes in the rionet are flagged in the active peer list. There is an active peer list kept for the rionet instance on _each node_. There is no distinction as to whether a node was the winning enumerating host or is just another processing element that found devices in the system via passing discovery. The only inherently significant about a "host" in RapidIO is that it participates in enumeration. After the system is enumerated it's no longer special (unless your particular system application designates the hosts have some special network-wide ownership of resources or something). Broadcast works the same way on all nodes by sending the same packet to every node in the active peer list. > B. How do you emulate broadcasting to all the mailboxes, in multi mbox > systems? Is this done by the node getting the broadcast in MB 0 and > forwarding it to the other MBs? rionet doesn't handle multiple mailboxes yet. However, it becomes tricky because we don't want to bridge separate Ethernet networks by policy in the driver. If two mailboxes are part of separate rio device trees, then it doesn't make sense to send broadcasts out on both mailboxes. It needs some thought and also docs on how new silicon might be implementing queues in new mailboxes. With RIO, there's so much left to be implementation specific in the silicon. It did not make sense to make assumptions and try to handle multiple mailboxes. If you have a multi mbox system it would help to have a description so we can work to support it. -Matt