On Wed, 16 Sep 2015, Doug Ledford wrote: > On 09/15/2015 07:53 PM, Christoph Lameter wrote: > > On Tue, 15 Sep 2015, Jason Gunthorpe wrote: > > > >> The mcast list in the core is soley for listing subscriptions for > >> inbound - ie receive. Abusing it for send-side is probably the wrong > >> direction overall. > > > > Ok then a simple approach would be to port timeout logic from > > OFED-1.5.X. > > It's the simple fix, but not the right fix. I would prefer to find the > right fix for upstream.
We would have to track which sockets have sent sendonly multicast traffic. Some sort of a refcount on the sendonly multicast group that gets decremented when the socket is closed down. We need some sort of custom callback during socket shutdown. The IPoIB layer is not a protocol otherwise we would have a shutdown callback to work with. Hmmm... For the UDP protocol the shutdown function is not populated in the protocol methods. There is an encap_destroy() that is called on udp_destroy_sock(). We could add another check in udp_destroy_sock() that does a callback for IPoIB. That could then release the refcount. Question then is how do we know which socket has done a sendonly join to which multicast groups? We cannot use the regular multicast list for a socket. So add another list? -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html