> -----Original Message----- > From: Jeff Squyres (jsquyres) [mailto:jsquy...@cisco.com] > Sent: Tuesday, August 20, 2013 11:07 AM > To: Steve Wise > Cc: Open MPI Developers; Indranil Choudhury > Subject: Re: [OMPI devel] openmpi-1.7.2 fails to use the RDMACM CPC > > I think you hit the nail on the head -- we typo'ed the macro name in the C > code. Doh! > > If you can confirm that this fixes the issue for you, please commit and CMR. >
Will do! > Thank you for tracking this down! > U R welcome. :) > > On Aug 20, 2013, at 11:06 AM, Steve Wise <sw...@opengridcomputing.com> wrote: > > > So is this the correct fix? > > > > [root@r9 ompi-trunk]# svn diff > > Index: ompi/mca/btl/openib/btl_openib_component.c > > =================================================================== > > --- ompi/mca/btl/openib/btl_openib_component.c (revision 29050) > > +++ ompi/mca/btl/openib/btl_openib_component.c (working copy) > > @@ -716,7 +716,7 @@ > > return OMPI_ERR_NOT_FOUND; > > } > > > > -#if defined(HAVE_IBV_LINK_LAYER_ETHERNET) > > +#if defined(HAVE_DECL_IBV_LINK_LAYER_ETHERNET) > > if (IBV_LINK_LAYER_ETHERNET == ib_port_attr->link_layer) { > > subnet_id = mca_btl_openib_get_ip_subnet_id(device->ib_dev, > > port_num); > > Index: ompi/mca/btl/openib/btl_openib.c > > =================================================================== > > --- ompi/mca/btl/openib/btl_openib.c (revision 29050) > > +++ ompi/mca/btl/openib/btl_openib.c (working copy) > > @@ -444,7 +444,7 @@ > > #ifdef HAVE_STRUCT_IBV_DEVICE_TRANSPORT_TYPE > > switch(openib_btl->device->ib_dev->transport_type) { > > case IBV_TRANSPORT_IB: > > -#if defined(HAVE_IBV_LINK_LAYER_ETHERNET) > > +#if defined(HAVE_DECL_IBV_LINK_LAYER_ETHERNET) > > switch(openib_btl->ib_port_attr.link_layer) { > > case IBV_LINK_LAYER_ETHERNET: > > return MCA_BTL_OPENIB_TRANSPORT_RDMAOE; > > Index: ompi/mca/btl/openib/connect/btl_openib_connect_udcm.c > > =================================================================== > > --- ompi/mca/btl/openib/connect/btl_openib_connect_udcm.c (revision > > 29050) > > +++ ompi/mca/btl/openib/connect/btl_openib_connect_udcm.c (working > > copy) > > @@ -389,7 +389,7 @@ > > /* If we do not have struct ibv_device.transport_device, then > > we're in an old version of OFED that is IB only (i.e., no > > iWarp), so we can safely assume that we can use this CPC. */ > > -#if defined(HAVE_STRUCT_IBV_DEVICE_TRANSPORT_TYPE) && > defined(HAVE_IBV_LINK_LAYER_ETHERNET) > > +#if defined(HAVE_STRUCT_IBV_DEVICE_TRANSPORT_TYPE) && > defined(HAVE_DECL_IBV_LINK_LAYER_ETHERNET) > > if (BTL_OPENIB_CONNECT_BASE_CHECK_IF_NOT_IB(btl)) { > > BTL_VERBOSE(("UD CPC only supported on InfiniBand; skipped on > > %s:%d", > > ibv_get_device_name(btl->device->ib_dev), > > Index: ompi/mca/btl/openib/connect/btl_openib_connect_oob.c > > =================================================================== > > --- ompi/mca/btl/openib/connect/btl_openib_connect_oob.c (revision > > 29050) > > +++ ompi/mca/btl/openib/connect/btl_openib_connect_oob.c (working > > copy) > > @@ -127,7 +127,7 @@ > > IB (this CPC will not work with iWarp). If we do not have the > > transport_type member, then we must be < OFED v1.2, and > > therefore we must be IB. */ > > -#if defined(HAVE_STRUCT_IBV_DEVICE_TRANSPORT_TYPE) && > defined(HAVE_IBV_LINK_LAYER_ETHERNET) > > +#if defined(HAVE_STRUCT_IBV_DEVICE_TRANSPORT_TYPE) && > defined(HAVE_DECL_IBV_LINK_LAYER_ETHERNET) > > if (BTL_OPENIB_CONNECT_BASE_CHECK_IF_NOT_IB(btl)) { > > opal_output_verbose(5, ompi_btl_base_framework.framework_output, > > "openib BTL: oob CPC only supported on > > InfiniBand; skipped on %s:%d", > > Index: ompi/mca/common/verbs/common_verbs_find_ports.c > > =================================================================== > > --- ompi/mca/common/verbs/common_verbs_find_ports.c (revision 29050) > > +++ ompi/mca/common/verbs/common_verbs_find_ports.c (working copy) > > @@ -170,7 +170,7 @@ > > } > > } > > > > -#if defined(HAVE_IBV_LINK_LAYER_ETHERNET) > > +#if defined(HAVE_DECL_IBV_LINK_LAYER_ETHERNET) > > static const char *link_layer_to_str(int link_type) > > { > > switch(link_type) { > > @@ -417,7 +417,7 @@ > > /* If they specified neither link layer, then we want this > > port */ > > want = true; > > } > > -#if defined(HAVE_IBV_LINK_LAYER_ETHERNET) > > +#if defined(HAVE_DECL_IBV_LINK_LAYER_ETHERNET) > > else if (flags & OMPI_COMMON_VERBS_FLAGS_LINK_LAYER_IB) { > > if (IBV_LINK_LAYER_INFINIBAND == port_attr.link_layer) { > > want = true; > > > > > > > >> -----Original Message----- > >> From: devel [mailto:devel-boun...@open-mpi.org] On Behalf Of Steve Wise > >> Sent: Tuesday, August 20, 2013 9:25 AM > >> To: 'Open MPI Developers'; 'Jeff Squyres (jsquyres)' > >> Cc: 'Indranil Choudhury' > >> Subject: Re: [OMPI devel] openmpi-1.7.2 fails to use the RDMACM CPC > >> > >> > >> Ah: > >> > >> Here's the config.log: > >> > >> configure:133950: checking whether IBV_LINK_LAYER_ETHERNET is declared > >> configure:133950: gcc -std=gnu99 -c -g -Wall -Wundef -Wno-long-long > >> -Wsign-compare > >> -Wmissing-prototypes -Wstrict-prototypes -Wcomment -pedantic > >> -Werror-implicit-function- > declaration > >> -finline-functions -fno-strict-aliasing -pthread > >> -I/usr/local/src/ompi-trunk/opal/mca/hwloc/hwloc152/hwloc/include > >> -I/usr/local/src/ompi-trunk/opal/mca/event/libevent2021/libevent > >> -I/usr/local/src/ompi-trunk/opal/mca/event/libevent2021/libevent/include > >> conftest.c >&5 > >> conftest.c:611: warning: function declaration isn't a prototype > >> configure:133950: $? = 0 > >> configure:133950: result: yes > >> > >> And I see it in opal_config.h: > >> > >> /* Define to 1 if you have the declaration of `IBV_LINK_LAYER_ETHERNET', > >> and > >> to 0 if you don't. */ > >> #define HAVE_DECL_IBV_LINK_LAYER_ETHERNET 1 > >> > >> Note the #define is HAVE_DECL_IBV_LINK_LAYER_ETHERNET but the code is > >> checking for > >> HAVE_IBV_LINK_LAYER_ETHERNET! > >> > >> No _DECL_... > >> > >> > >> > >>> -----Original Message----- > >>> From: devel [mailto:devel-boun...@open-mpi.org] On Behalf Of Steve Wise > >>> Sent: Tuesday, August 20, 2013 9:07 AM > >>> To: 'Jeff Squyres (jsquyres)' > >>> Cc: 'Open MPI Developers'; 'Indranil Choudhury' > >>> Subject: Re: [OMPI devel] openmpi-1.7.2 fails to use the RDMACM CPC > >>> > >>> > >>> > >>>> -----Original Message----- > >>>> From: Jeff Squyres (jsquyres) [mailto:jsquy...@cisco.com] > >>>> Sent: Tuesday, August 20, 2013 8:59 AM > >>>> To: Steve Wise > >>>> Cc: Open MPI Developers; Indranil Choudhury > >>>> Subject: Re: [OMPI devel] openmpi-1.7.2 fails to use the RDMACM CPC > >>>> > >>>> On Aug 20, 2013, at 9:51 AM, Steve Wise <sw...@opengridcomputing.com> > >>>> wrote: > >>>> > >>>>> I checked in the correct fix, > >>>> > >>>> Er, no. Please re-read my email -- your fix was incorrect (you're > >>>> overriding the output of an > >> AC > >>> macro). > >>>> :-) > >>>> > >>> > >>> What is the correct fix then? I've never worked with any of this AC > >>> stuff... > >>> > >>> With the existing code (prior to my broken fix), > >>> HAVE_IBV_LINK_LAYER_ETHERNET does not get > >> defined. > >>> Yet the enum and the link_type field are in verbs.h... > >>> > >>> Thanks. > >>> > >>> > >>> _______________________________________________ > >>> devel mailing list > >>> de...@open-mpi.org > >>> http://www.open-mpi.org/mailman/listinfo.cgi/devel > >> > >> _______________________________________________ > >> devel mailing list > >> de...@open-mpi.org > >> http://www.open-mpi.org/mailman/listinfo.cgi/devel > > > > > -- > Jeff Squyres > jsquy...@cisco.com > For corporate legal information go to: > http://www.cisco.com/web/about/doing_business/legal/cri/