[ewg] [PATCHv8 06/11] ipoib: avoid ipoib over IBoE
IPoIB is an implementation of IP over Infiniband transport. In the case of IBoE, the link layer is Ethernet so IP can work directly over Ethernet, so disable IPoIB for none IB_LINK_LAYER_INFINIBAND ports. Signed-off-by: Eli Cohen --- drivers/infiniband/ulp/ipoib/ipoib_main.c |5 + 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c index 06014d2..5e6c2de 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_main.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c @@ -1362,6 +1362,8 @@ static void ipoib_add_one(struct ib_device *device) } for (p = s; p <= e; ++p) { + if (rdma_port_link_layer(device, p) != IB_LINK_LAYER_INFINIBAND) + continue; dev = ipoib_add_port("ib%d", device, p); if (!IS_ERR(dev)) { priv = netdev_priv(dev); @@ -1383,6 +1385,9 @@ static void ipoib_remove_one(struct ib_device *device) dev_list = ib_get_client_data(device, &ipoib_client); list_for_each_entry_safe(priv, tmp, dev_list, list) { + if (rdma_port_link_layer(device, priv->port) != IB_LINK_LAYER_INFINIBAND) + continue; + ib_unregister_event_handler(&priv->event_handler); rtnl_lock(); -- 1.7.0 ___ ewg mailing list ewg@lists.openfabrics.org http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg
Re: [ewg] [PATCHv8 06/11] ipoib: avoid ipoib over IBoE
> @@ -1383,6 +1385,9 @@ static void ipoib_remove_one(struct ib_device *device) > dev_list = ib_get_client_data(device, &ipoib_client); > > list_for_each_entry_safe(priv, tmp, dev_list, list) { > +if (rdma_port_link_layer(device, priv->port) != > IB_LINK_LAYER_INFINIBAND) > +continue; Why do we need this chunk here? How could a netdev get on our list if we never create IPoIB interfaces for IBoE ports? - R. -- Roland Dreier || For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/index.html ___ ewg mailing list ewg@lists.openfabrics.org http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg
Re: [ewg] [PATCHv8 06/11] ipoib: avoid ipoib over IBoE
On Wed, May 05, 2010 at 03:27:51PM -0700, Roland Dreier wrote: > > @@ -1383,6 +1385,9 @@ static void ipoib_remove_one(struct ib_device > *device) > >dev_list = ib_get_client_data(device, &ipoib_client); > > > >list_for_each_entry_safe(priv, tmp, dev_list, list) { > > + if (rdma_port_link_layer(device, priv->port) != > IB_LINK_LAYER_INFINIBAND) > > + continue; > > Why do we need this chunk here? How could a netdev get on our list if > we never create IPoIB interfaces for IBoE ports? > Right, this is not necessary and can be removed. ___ ewg mailing list ewg@lists.openfabrics.org http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg
Re: [ewg] [PATCHv8 06/11] ipoib: avoid ipoib over IBoE
OK, I applied this with just the first chunk. -- Roland Dreier || For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/index.html ___ ewg mailing list ewg@lists.openfabrics.org http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg