Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753560AbbDGSt6 (ORCPT ); Tue, 7 Apr 2015 14:49:58 -0400 Received: from mga14.intel.com ([192.55.52.115]:19820 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751215AbbDGStz (ORCPT ); Tue, 7 Apr 2015 14:49:55 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.11,539,1422950400"; d="scan'208";a="691608678" From: "Hefty, Sean" To: Michael Wang , Roland Dreier , "linux-rdma@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-nfs@vger.kernel.org" , "netdev@vger.kernel.org" CC: Hal Rosenstock , Tom Tucker , Steve Wise , Hoang-Nam Nguyen , Christoph Raisch , infinipath , Eli Cohen , "Latif, Faisal" , Upinder Malhi , "Trond Myklebust" , "J. Bruce Fields" , "David S. Miller" , "Weiny, Ira" , PJ Waskiewicz , "Nikolova, Tatyana E" , Or Gerlitz , Jack Morgenstein , Haggai Eran , Ilya Nelkenbaum , Yann Droneaud , Bart Van Assche , Shachar Raindel , Sagi Grimberg , Devesh Sharma , Matan Barak , Moni Shoua , Jiri Kosina , Selvin Xavier , Mitesh Ahuja , "Li RongQing" , Rasmus Villemoes , "Estrin, Alex" , "Doug Ledford" , Eric Dumazet , "Erez Shitrit" , Tom Gundersen , Chuck Lever Subject: RE: [PATCH v2 11/17] IB/Verbs: Reform link_layer_show() and ib_uverbs_query_port() Thread-Topic: [PATCH v2 11/17] IB/Verbs: Reform link_layer_show() and ib_uverbs_query_port() Thread-Index: AQHQcS+BXK6zpItRBkmtWIXr0BN7Hp1B5B5A Date: Tue, 7 Apr 2015 18:49:52 +0000 Message-ID: <1828884A29C6694DAF28B7E6B8A82373A8FBE2FA@ORSMSX109.amr.corp.intel.com> References: <5523CCD5.6030401@profitbricks.com> <5523CF30.7000608@profitbricks.com> In-Reply-To: <5523CF30.7000608@profitbricks.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.22.254.138] Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by nfs id t37Io9S9002245 Content-Length: 1950 Lines: 49 > diff --git a/drivers/infiniband/core/sysfs.c > b/drivers/infiniband/core/sysfs.c > index cbd0383..aa53e40 100644 > --- a/drivers/infiniband/core/sysfs.c > +++ b/drivers/infiniband/core/sysfs.c > @@ -248,14 +248,10 @@ static ssize_t phys_state_show(struct ib_port *p, > struct port_attribute *unused, > static ssize_t link_layer_show(struct ib_port *p, struct port_attribute > *unused, > char *buf) > { > - switch (rdma_port_get_link_layer(p->ibdev, p->port_num)) { > - case IB_LINK_LAYER_INFINIBAND: > + if (rdma_transport_ib(p->ibdev, p->port_num)) > return sprintf(buf, "%s\n", "InfiniBand"); > - case IB_LINK_LAYER_ETHERNET: > + else > return sprintf(buf, "%s\n", "Ethernet"); > - default: > - return sprintf(buf, "%s\n", "Unknown"); > - } > } > > static PORT_ATTR_RO(state); > diff --git a/drivers/infiniband/core/uverbs_cmd.c > b/drivers/infiniband/core/uverbs_cmd.c > index a9f0489..3eb6eb5 100644 > --- a/drivers/infiniband/core/uverbs_cmd.c > +++ b/drivers/infiniband/core/uverbs_cmd.c > @@ -515,8 +515,10 @@ ssize_t ib_uverbs_query_port(struct ib_uverbs_file > *file, > resp.active_width = attr.active_width; > resp.active_speed = attr.active_speed; > resp.phys_state = attr.phys_state; > - resp.link_layer = rdma_port_get_link_layer(file->device- > >ib_dev, > - cmd.port_num); > + resp.link_layer = rdma_transport_ib(file->device->ib_dev, > + cmd.port_num) ? > + IB_LINK_LAYER_INFINIBAND : > + IB_LINK_LAYER_ETHERNET; > > if (copy_to_user((void __user *) (unsigned long) cmd.response, > &resp, sizeof resp)) Both of the above check the transport in order to determine the link layer. These values are exposed to user space. Does anyone know what link layer iWarp returns to user space? ????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?