On Mon, Apr 20, 2015 at 11:06:59AM -0600, Jason Gunthorpe wrote: > On Mon, Apr 20, 2015 at 12:03:38PM +0300, Haggai Eran wrote: > > From: Guy Shapiro <gu...@mellanox.com> > > > > Add namespace support to the IB-CM layer. > > > - Each CM-ID now has a network namespace it is associated with, assigned at > > creation. This namespace is used as needed during subsequent action on the > > CM-ID or related objects. > > There is really something weird about this layering. At the CM layer > there should be no concept of an IP address, it only deals with GIDs. > > So how can a CM object have a network namespace associated with it? > > > { > > av->port = port; > > av->pkey_index = wc->pkey_index; > > ib_init_ah_from_wc(port->cm_dev->ib_device, port->port_num, wc, > > - grh, &av->ah_attr, &init_net); > > + grh, &av->ah_attr, net); > > There is something deeply wrong with adding network namespace > arguments to verbs. > > For rocee the gid index clearly specifies the network namespace > to use, so much of this should go away and have rocee get the > namespace from the gid index. > > Ie in ib_init_ah_from_wc we have the ib_wc which contains the sgid > index. > > I'm really not excited at how many places are gaining a net when those > layers shouldn't even need to care about IP layer details. Just acting > as a pass through for rocee doesn't make sense. >
I had the same feeling when I saw the addition of the network namespace to the MAD code, especially the RMPP code. It seems like there should be a better way to deal with this. My gut says that the namespace should be handled separate from the ib_init_ah_from_wc. Perhaps as a secondary call used only when the namespace is needed? But I'm not sure when it is appropriate/needed. Ira -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html