|
Hi again Roland,
In looking at the code, this
IPv6 group (all routers)
(0xff12:601b:ffff:0:0:0:0:2) is going
through
the send only path in
ipoib_multicast.c::ipoib_mcast_send where:
spin_lock_irqsave(&priv->lock, flags);
mcast = __ipoib_mcast_find(dev, mgid);
if (!mcast) {
/* Let's create a new send only group now */
ipoib_dbg_mcast(priv, "setting up send only multicast group for "
IPOIB_GID_FMT "\n", IPOIB_GID_ARG(*mgid));
mcast = ipoib_mcast_alloc(dev, 0);
if (!mcast) {
ipoib_warn(priv, "unable to allocate memory for "
"multicast structure\n");
dev_kfree_skb_any(skb);
goto out;
}
set_bit(IPOIB_MCAST_FLAG_SENDONLY, &mcast->flags);
mcast->mcmember.mgid = *mgid;
__ipoib_mcast_add(dev, mcast);
list_add_tail(&mcast->list, &priv->multicast_list);
}
if (!mcast->ah) {
if (skb_queue_len(&mcast->pkt_queue) < IPOIB_MAX_MCAST_QUEUE)
skb_queue_tail(&mcast->pkt_queue, skb);
else
dev_kfree_skb_any(skb);
if (mcast->query)
ipoib_dbg_mcast(priv, "no address vector, "
"but multicast join already started\n");
else if (test_bit(IPOIB_MCAST_FLAG_SENDONLY, &mcast->flags))
ipoib_mcast_sendonly_join(mcast);Although the sendonly_join code has been changed to
do a full member rather than send only join,
it does not fall back to create the group if it
does not already exist. One wouldn't expect a
send only
join to create the group if it didn't already
exist.
Any idea on why this group is send only ?
Don't end nodes need to both send and receive on the
all routers group ?
-- Hal
|
_______________________________________________ openib-general mailing list [EMAIL PROTECTED] http://openib.org/mailman/listinfo/openib-general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
