[Pkg-ofed-commits] [dapl] 02/21: Imported Upstream version 2.0.42
Ana Beatriz Guerrero López
ana at moszumanska.debian.org
Wed Jul 9 14:22:03 UTC 2014
This is an automated email from the git hooks/post-receive script.
ana pushed a commit to branch master
in repository dapl.
commit 608460e55650ab8a0d9f0f78652e1c40d52c1b57
Author: Ana Guerrero López <ana at ekaia.org>
Date: Wed Jul 9 13:40:10 2014 +0200
Imported Upstream version 2.0.42
---
COPYING | 16 +-
ChangeLog | 3654 ++++++++++++++++-
LICENSE.txt | 235 ++
LICENSE2.txt | 30 +
LICENSE3.txt | 340 ++
Makefile.am | 261 +-
Makefile.in | 4198 +++++++++++++-------
NEWS | 0
aclocal.m4 | 330 +-
config.h.in | 9 +
config/compile | 142 -
config/config.guess | 866 ++--
config/config.sub | 351 +-
config/depcomp | 172 +-
config/install-sh | 517 ++-
config/ltmain.sh | 37 +-
config/missing | 104 +-
configure | 1523 +++++--
configure.in | 103 +-
dapl.spec | 114 +-
dapl.spec.in | 98 +-
dapl/common/dapl_adapter_util.h | 25 +-
dapl/common/dapl_cno_util.c | 40 -
dapl/common/dapl_cr_accept.c | 11 +-
dapl/common/dapl_cr_callback.c | 34 +-
dapl/common/dapl_cr_util.c | 2 +-
dapl/common/dapl_cr_util.h | 3 +-
dapl/common/dapl_debug.c | 451 ++-
dapl/common/dapl_ep_connect.c | 21 +-
dapl/common/dapl_ep_create.c | 3 +-
dapl/common/dapl_ep_disconnect.c | 1 +
dapl/common/dapl_ep_free.c | 40 +-
dapl/common/dapl_ep_modify.c | 6 +
dapl/common/dapl_ep_query.c | 1 +
dapl/common/dapl_ep_util.c | 79 +-
dapl/common/dapl_ep_util.h | 22 +-
dapl/common/dapl_evd_connection_callb.c | 26 +-
dapl/common/dapl_evd_dequeue.c | 11 +-
dapl/common/dapl_evd_dto_callb.c | 8 +-
dapl/common/dapl_evd_resize.c | 13 +-
dapl/common/dapl_evd_util.c | 554 ++-
dapl/common/dapl_evd_util.h | 15 +-
dapl/common/dapl_hca_util.c | 16 +-
dapl/common/dapl_ia_open.c | 4 +
dapl/common/dapl_ia_query.c | 3 +-
dapl/common/dapl_ia_util.c | 12 +-
dapl/common/dapl_lmr_free.c | 19 +-
dapl/common/dapl_lmr_query.c | 1 +
dapl/common/dapl_psp_query.c | 2 +-
dapl/common/dapl_pz_query.c | 2 +-
dapl/common/dapl_rmr_bind.c | 15 +-
dapl/common/dapl_rmr_query.c | 1 +
dapl/common/dapl_rsp_create.c | 15 +-
dapl/common/dapl_rsp_query.c | 2 +-
dapl/common/dapl_sp_util.c | 5 +
dapl/common/dapl_srq_create.c | 7 +-
dapl/common/dapl_srq_query.c | 1 +
dapl/common/dapl_timer_util.c | 48 +-
dapl/common/dapl_timer_util.h | 1 +
dapl/include/dapl.h | 27 +-
dapl/include/dapl_debug.h | 19 +-
dapl/openib_cma/{dapl_ib_cm.c => cm.c} | 702 ++--
dapl/openib_cma/dapl_ib_dto.h | 472 ---
dapl/openib_cma/dapl_ib_extensions.c | 329 --
dapl/openib_cma/dapl_ib_qp.c | 331 --
dapl/openib_cma/dapl_ib_util.c | 1094 -----
dapl/openib_cma/dapl_ib_util.h | 308 +-
dapl/openib_cma/device.c | 730 ++++
dapl/openib_cma/linux/openib_osd.h | 1 +
dapl/openib_common/collectives/fca_provider.c | 1400 +++++++
dapl/openib_common/collectives/fca_provider.h | 100 +
dapl/openib_common/collectives/ib_collectives.h | 228 ++
.../dapl_ib_cq.c => openib_common/cq.c} | 437 +-
.../dapl_ib_common.h} | 363 +-
dapl/{openib_scm => openib_common}/dapl_ib_dto.h | 45 +-
.../ib_extensions.c} | 229 +-
.../dapl_ib_mem.c => openib_common/mem.c} | 29 +-
dapl/openib_common/qp.c | 682 ++++
dapl/openib_common/util.c | 849 ++++
dapl/openib_scm/cm.c | 2008 ++++++++++
dapl/openib_scm/dapl_ib_cm.c | 1681 --------
dapl/openib_scm/dapl_ib_cq.c | 705 ----
dapl/openib_scm/dapl_ib_mem.c | 382 --
dapl/openib_scm/dapl_ib_qp.c | 471 ---
dapl/openib_scm/dapl_ib_util.c | 725 ----
dapl/openib_scm/dapl_ib_util.h | 340 +-
dapl/openib_scm/device.c | 787 ++++
dapl/openib_scm/linux/openib_osd.h | 2 +-
dapl/openib_ucm/cm.c | 2382 +++++++++++
dapl/openib_ucm/dapl_ib_util.h | 159 +
dapl/openib_ucm/device.c | 687 ++++
dapl/{openib_scm => openib_ucm}/linux/openib_osd.h | 18 +-
dapl/udapl/dapl_cno_query.c | 2 +-
dapl/udapl/dapl_cno_wait.c | 9 +
dapl/udapl/dapl_evd_query.c | 2 +-
dapl/udapl/dapl_evd_set_unwaitable.c | 9 +-
dapl/udapl/dapl_evd_wait.c | 32 +-
dapl/udapl/dapl_init.c | 3 +-
dapl/udapl/dapl_lmr_create.c | 87 -
dapl/udapl/libdaploucm.map | 7 +
dapl/udapl/linux/dapl_osd.h | 24 +-
dat/common/dat_api.c | 67 +-
dat/common/dat_sr.c | 111 +-
dat/common/dat_sr.h | 10 +
dat/common/dat_strerror.c | 110 +
dat/include/dat2/dat_ib_extensions.h | 787 +++-
dat/include/dat2/dat_platform_specific.h | 6 +-
dat/udat/linux/dat_osd.c | 2 +-
dat/udat/udat.c | 6 +
dat/udat/udat_api.c | 3 +
dat/udat/udat_sr_parser.c | 8 +-
doc/dat.conf | 61 +
man/dapltest.1 | 17 +-
man/dat.conf.5 | 56 +-
test/dapltest/Makefile.in | 318 +-
test/dapltest/NEWS | 0
test/dapltest/cmd/dapl_fft_cmd.c | 10 +-
test/dapltest/cmd/dapl_limit_cmd.c | 31 +-
test/dapltest/cmd/dapl_main.c | 10 +-
test/dapltest/cmd/dapl_params.c | 6 +
test/dapltest/cmd/dapl_performance_cmd.c | 18 +-
test/dapltest/cmd/dapl_quit_cmd.c | 10 +-
test/dapltest/cmd/dapl_server_cmd.c | 13 +-
test/dapltest/cmd/dapl_transaction_cmd.c | 32 +-
test/dapltest/common/dapl_endian.c | 4 -
test/dapltest/include/dapl_common.h | 2 +
test/dapltest/include/dapl_fft_cmd.h | 1 +
test/dapltest/include/dapl_limit_cmd.h | 1 +
test/dapltest/include/dapl_params.h | 1 +
test/dapltest/include/dapl_performance_cmd.h | 1 +
test/dapltest/include/dapl_quit_cmd.h | 1 +
test/dapltest/include/dapl_server_cmd.h | 1 +
test/dapltest/include/dapl_server_info.h | 4 +-
test/dapltest/include/dapl_transaction_cmd.h | 3 +-
test/dapltest/mdep/linux/dapl_mdep_user.h | 5 +
test/dapltest/test/dapl_client.c | 2 +-
test/dapltest/test/dapl_fft_queryinfo.c | 4 +-
test/dapltest/test/dapl_fft_util.c | 6 +-
test/dapltest/test/dapl_limit.c | 5 +-
test/dapltest/test/dapl_performance_client.c | 2 +-
test/dapltest/test/dapl_performance_server.c | 2 +-
test/dapltest/test/dapl_server.c | 12 +-
test/dapltest/test/dapl_test_util.c | 2 +-
test/dapltest/test/dapl_transaction_stats.c | 10 +
test/dapltest/test/dapl_transaction_test.c | 173 +-
test/dapltest/test/dapl_transaction_util.c | 182 +-
test/dtest/Makefile.am | 6 +-
test/dtest/Makefile.in | 170 +-
test/dtest/dtest.c | 640 ++-
test/dtest/dtestcm.c | 1168 ++++++
test/dtest/dtestx.c | 110 +-
151 files changed, 25830 insertions(+), 11897 deletions(-)
diff --git a/COPYING b/COPYING
index 2012c04..35ba319 100644
--- a/COPYING
+++ b/COPYING
@@ -1,7 +1,7 @@
#
# Copyright (c) 2002-2005, Network Appliance, Inc. All rights reserved.
# Copyright (c) 2005 Voltaire Inc. All rights reserved.
-# Copyright (c) 2005 Intel Corporation. All rights reserved.
+# Copyright (c) 2005-2010 Intel Corporation. All rights reserved.
# Copyright (c) 2004-2005, Mellanox Technologies, Inc. All rights reserved.
# Copyright (c) 2003 Topspin Corporation. All rights reserved.
# Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
@@ -9,19 +9,13 @@
# This Software is licensed under one of the following licenses:
#
# 1) under the terms of the "Common Public License 1.0" a copy of which is
-# in the file LICENSE.txt in the root directory. The license is also
-# available from the Open Source Initiative, see
-# http://www.opensource.org/licenses/cpl.php.
+# in the file LICENSE.txt in the root directory.
#
# 2) under the terms of the "The BSD License" a copy of which is in the file
-# LICENSE2.txt in the root directory. The license is also available from
-# the Open Source Initiative, see
-# http://www.opensource.org/licenses/bsd-license.php.
+# LICENSE2.txt in the root directory.
#
# 3) under the terms of the "GNU General Public License (GPL) Version 2" a
-# copy of which is in the file LICENSE3.txt in the root directory. The
-# license is also available from the Open Source Initiative, see
-# http://www.opensource.org/licenses/gpl-license.php.
+# copy of which is in the file LICENSE3.txt in the root directory.
#
# Licensee has the right to choose one of the above licenses.
#
@@ -32,5 +26,3 @@
# notice, one of the license notices in the documentation
# and/or other materials provided with the distribution.
#
-
-
diff --git a/ChangeLog b/ChangeLog
index 7b86f8e..ba9e5ae 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,3655 @@
+commit 7c1fb7a46e1d94fb07a640bdd8a1f5292d82eb2b
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Apr 15 14:48:54 2014 -0700
+
+ dapltest: increase DTO evd size to prevent CQ overflow on limit_rpost test
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 8bd2437ccb1299b5f82809b9f42d029625b4f647
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Apr 15 13:44:16 2014 -0700
+
+ Creation of reserved SP moves EP state to DAT_EP_STATE_RESERVED even in failure
+ cases. Reserve EP after successfully binding the listening port.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 80f9eed66c01afecd3553e66baa64fecbb9347ba
+Author: Dave Goodell <dgoodell at cisco.com>
+Date: Mon Mar 24 14:07:37 2014 -0700
+
+ dapl: fix string bug in dapls_dto_op_str
+
+ This led to indexing off the end of the array and gave surprising
+ results for OP_RECV_UD.
+
+commit 2ce4712c357e6b796d63e38dddb536cac650fa5c
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Mar 17 14:20:08 2014 -0700
+
+ Release 2.0.41
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 43f35cd944b578162d8d4627b8419a1534cf1edc
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Mar 14 10:47:06 2014 -0700
+
+ dapltest: change server port, from 45278 to 62000, out of registered IANA range
+
+ The existing port 45278 is in the registered port range.
+
+ RFC 6335:
+ System Ports, well known, 0-1023 (assigned by IANA)
+ User Ports, registered, 1024-49151 (assigned by IANA)
+ Dynamic Ports, private or Ephemeral, 49152-65535 (never assigned)
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 12251e447cfee4cb8aea02c14549e990f7c92784
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Mar 13 09:55:29 2014 -0700
+
+ dat: lower log level on load errors of provider library
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 30ce6e3ab4f8cf375e0671be7f85c519b00fc1cb
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Mar 4 10:52:49 2014 -0800
+
+ dat: dat_ia_open should close provider after failure
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 77630fdf56d478f25e0bee8bd9b0d1b0ce10e818
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Mar 4 10:48:55 2014 -0800
+
+ dapltest: set default limit max to 1000
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 622daca65b403c9b561dff4ed57421bdeeac731f
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Mar 4 10:30:02 2014 -0800
+
+ openib: add new provider specific attributes
+
+ DAT_IB_PROVIDER_NAME = UCM/CMA/SCM
+ DAT_IB_DEVICE_NAME = ibv_get_device_name
+ DAT_IB_CONNECTIVITY_MODE = DIRECT/PROXY
+ DAT_IB_RDMA_READ = TRUE/FALSE
+ DAT_IB_NODE_GUID = xxxx:xxxx:xxxx:xxxx
+ DAT_IB_PORT_STATE = ibv_port_state_str
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 2860312f368be59fa5027f3fe87bce2bcf6f5280
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Mar 3 15:04:12 2014 -0800
+
+ dapltest: update scripts for regression testing purposes
+
+ cl.sh and srv.sh update to provide better examples and
+ a methods to quickly regression test any dapltest changes.
+
+ usage: srv.sh devicename
+ where devicename is provider (default = ofa-v2-mlx4_0-1)
+
+ usage: cl.sh hostname testname devicename
+ where testname
+ stop - request DAPLtest server to exit.
+ conn - simple connection with limited dater transfer
+ trans - single transaction test
+ transm - transaction test: multiple transactions [RW SND, RDMA]
+ transt - transaction test: multi-threaded, single transaction
+ transme - transaction test: multi-endpoints per thread
+ transmet - transaction test: multi: threads and endpoints per thread
+ transmete - transaction test: multi threads == endpoints
+ perf - Performance test
+ threads - multi-threaded single transaction test.
+ threadsm - multi: threads and endpoints, single transaction test.
+ rdma-write - RDMA write
+ rdma-read - RDMA read
+ bw - bandwidth
+ latb - latency tests, blocking for events
+ latp - latency tests, polling for events
+ lim - limit tests.
+ regression - loop over a collection of all tests.
+ where devicename is provider (default = ofa-v2-mlx4_0-1)
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit f15ff784b9385e6964d7efad3219ca508df29f13
+Author: swise at opengridcomputing.com <swise at opengridcomputing.com>
+Date: Mon Mar 3 14:35:43 2014 -0800
+
+ dapltest: Add final send/recv "sync" for transaction tests.
+
+ The transaction tests need both sides to send a sync message after running the test. This ensures that all remote operations are complete before dapltest deregeisters memory and disconnects the endpoints.
+
+ Without this logic, we see intermittent async errors on iwarp devices because a read response or write arrives after the rmr has been destroyed.
+ I believe this is more likely to happen with iWARP than IB because iWARP completions only indicate the local buffer can be reused. It doesn't imply that the message has even arrived at the peer, let alone been placed in the peer application's memory.
+
+ Changes from V1:
+
+ - allocate new send/recv buffers for the Final Sync message.
+
+ - post the Final Sync recv buffer at the beginning of the final iteration of a test.
+
+ - tests ok on cxgb4 and mlx4 devices.
+
+ Signed-off-by: Steve Wise <swise at opengridcomputing.com>
+
+commit 9457b7008424131e9c9d08e3dd09ff2becab78fe
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Feb 10 13:07:00 2014 -0800
+
+ Release 2.0.40
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 8d36d4b0250418b0a257f47d40c6ddcfebd6b614
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Sun Feb 9 23:34:43 2014 -0800
+
+ dist: ib collective extension include files missing
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 3248d857058e3a1dfd0405adc71ae1002fe947d6
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Sun Feb 9 23:24:29 2014 -0800
+
+ dapltest: the quit command is missing changes for -n option.
+
+ Server-port was not being set properly during param init phase on the client side.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 36beb63db58b79404902c5d55ba518147bdaa5ca
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Sun Feb 9 22:55:17 2014 -0800
+
+ dat.conf: remove v1, add Mellanox Connect-IB and Intel Xeon Phi MIC
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit bf625e3eb450141b7dc924e6d40d83bbb02db354
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Feb 10 13:01:47 2014 -0800
+
+ NULL undefined on Fedora, incorrectly using kernel stddef.h
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit ef14daf0585119ba3cae24e7fa0943ff032117ed
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Oct 3 16:05:06 2013 -0700
+
+ Release 2.0.39
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit d398aef3c8bbd4fbadb113a5d8e324153e555cea
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Oct 3 15:21:08 2013 -0700
+
+ dapltest: fix endian swap issue with performance test
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 53534445d649812061b1849b1a77a3499ba0cdd0
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Oct 1 15:40:17 2013 -0700
+
+ SCM: getifaddrs modfications for better out of the box experience
+
+ socket cm will now walk list of interfaces and ignore loopback
+ and ignore IB devices, unless the IB netdev is the only device.
+ Works better in a heterogenous environment with a mix of net device.
+ Tested with br0, mic0, and mic0:ib netdev mixes.
+ Overriding with DAPL_SCM_NETDEV still works as is.
+
+ Signed-off-by: Patrick Mccormick <patrick.m.mccormick at intel.com>
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 3315b8148ba52da67e422cf9afe6fa35d2161885
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Oct 1 14:03:51 2013 -0700
+
+ ucm, scm: UD mode triggers list_head assert with large scale alltoall test
+
+ 1024+ ranks, IMB alltoall may hit assert when running Intel MPI in UD mode.
+
+ CR clean up was implemented with EP to CR references still linked.
+ During cr_accept, the CR remote_ia_address is linked to EP object
+ by mistake with UD mode. UD mode my have multiple CRs per EP so
+ no direct mappings to CR memory can exist unless RC mode which
+ always has one EP to CR mapping.
+
+ In scm, ucm: for CM object free with CR references the search and
+ unlinking from SP must be under SP lock to serialize. Also,
+ cleanup thread wakeup logic to only trigger the thread if
+ reference count indicates the need for more processing.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 40bf5a11b3c8b9767fee95fdbb544c5ddb05777f
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Jul 22 12:37:21 2013 -0700
+
+ Release 2.0.38
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 54d5fb2180f6f27141455d5252d26f40fd04d28f
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Jul 16 16:12:37 2013 -0700
+
+ dapltest: add -n parameter to override default server port number (45278)
+
+ Modify all tests and commands to take a new -n parameter option for server
+ listen port. The default port, when running multiple EP's and threads,
+ will sometimes collide and fail with EADDRINUSE on iWARP configurations
+ using rdma_bind_addr with sin_port=0.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 617952fec1b8ca5ec5fc96d5568b90c1ba833ca3
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Jul 12 11:52:33 2013 -0700
+
+ ucm,scm: UD mode creates many CR objects per EP that needs cleaned up
+
+ After connection is established and the AH is provided to consumer
+ on UD connect establishment there is no need to keep the CR object
+ on the SP. For large clusters this results in a growing memory
+ footprint for CR objects and long cleanup times on device close.
+
+ Change ucm and scm providers to unlink and free CR resources
+ during CM object free if this is a UD QP and CONN_EST state.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 43a4b28c39199ca47d3af1f456e065cf7fbd741c
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Jun 24 14:19:22 2013 -0700
+
+ cma: add DAPL_CM_TOS environment variable to enable passing a TOS to the RDMA CM
+
+ Signed-off-by Matthew Finlay <matt at mellanox.com>
+ Acked-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 7e791ac2b328982d98cb88a41e0037b5cc26a693
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Jun 6 18:22:52 2013 -0700
+
+ Release 2.0.37
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit b10a904e2b782b77098b4bed03d244bdef5eba5b
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed May 29 16:59:09 2013 -0700
+
+ common: add support for ia name during dat_ia_query
+
+ the device name was not being updated during a query. Copy
+ the hca name into ia_attr->adapter_name for consumers.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit a1428ea1aa05567c806062f87428d204ea002c55
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed May 29 16:53:18 2013 -0700
+
+ common: dapl_os_atomic_inc/dec() not working as expected on ppc64 machines.
+
+ Signed-off-by: Pradeep Satyanarayana <pradeep at us.ibm.com>
+ Acked-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 704950f9ab6e03347dc4f1ac2bcd7d2b6b8fb8eb
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed May 29 16:45:20 2013 -0700
+
+ dapltest: ppc64 endian issue with exchanged mem handle and address
+
+ Signed-off-by: Pradeep Satyanarayana <pradeep at us.ibm.com>
+ Signed-off-by: Aravinda Venkatramana <Aravinda.Venkatramana at emulex.com>
+ Acked-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit ee9dadbfe5a2b4f89419a2ce60953b987bf60144
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Jul 5 10:00:28 2012 -0700
+
+ Release 2.0.36
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 30e1e33a7e5617ccd39da8b54df3fda8fe273f20
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Jul 5 09:58:21 2012 -0700
+
+ scm: increase ACK timeout to 20 for a default value to match other providers.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit cb18396c3a3a44e1d7f025be95d416a78ad1e4f0
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon May 14 14:51:38 2012 -0700
+
+ common: allow qp modify in init state
+
+ Allow consumer to modify attributes via dat_ep_modify
+ in init state.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 885ded2eed3be6d3b3fb8ff3d5ba3eadf9aeaa98
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu May 10 14:57:31 2012 -0700
+
+ common: check for valid states during ep posting
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit f23517eeef4d43445f14b9555829dc358d33eefd
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu May 10 13:35:55 2012 -0700
+
+ dat.conf: keep list of providers in order for backward compatibility
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 9e8f991ed9374a540ef8657f87993d6f81bd7a08
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu May 10 10:49:09 2012 -0700
+
+ ucm: record and silently drop a duplicate reject CM message
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit a135cfc506e28b12e27a31b80146699c31bd2282
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Apr 25 13:37:53 2012 -0700
+
+ windows: new version of getlocalipaddr not portable
+
+ revert to the original getaddrinfo method for windows
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 4cedaeed09769be14ea16ad5a75b63d3889085d1
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Apr 25 13:36:52 2012 -0700
+
+ dapltest: DFLT_QLEN is defined in multiple tests
+
+ add #ifdef checking in transaction test.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 4726416988a587c8baa395a08787d16f0dd21374
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Apr 25 13:10:39 2012 -0700
+
+ Release 2.0.35
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 4988c58427b9f54f7e0a1465513c9625fa1ac1d6
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Apr 25 13:07:10 2012 -0700
+
+ config/build: remove post/postun hacking used to modify dat.conf
+
+ Return to the tried and true method of managing configuration
+ files via %config directive and remove ugly sed editing methods.
+ The dat.conf includes both v1 and v2 device entries to insure
+ backward compatibility. Add doc/dat.conf
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 294aa2f58fe4c27826337dc44f8c2d238938d252
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Apr 23 10:35:24 2012 -0700
+
+ config: clean up help option displays with ext-type options
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit e286d99817d28597a4c11b242c6c2278a284e396
+Author: stan smith <stan.smith at intel.com>
+Date: Mon Apr 23 10:32:00 2012 -0700
+
+ windows: Provide auto-detect between RoCE and Infiniband for Windows.
+
+ For RoCE, enable transport global ID use.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit dd0003426101be19206ba68b22d27b55677e0589
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Apr 19 17:40:45 2012 -0700
+
+ ucm: update UD cm provider to support new CM stat and error counters
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 47685e12497a8f9eec4f37225a4b1e44649aab04
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Apr 19 17:40:03 2012 -0700
+
+ scm: update socket cm provider to support new CM stat and error counters
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 50ed4fcc7a998877dcb17af7cde2ee8896295b7f
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Apr 19 17:15:22 2012 -0700
+
+ commom: add cm, link, and diag event counters in IB extended builds
+
+ Add additional event monitoring capabilities during runtime to help
+ isolate issues during scaling in lieu of logging/printing warning
+ messages. Counters have been added to provider CM services and counters
+ have been added and mapped to sysfs ib_cm, device port and device
+ diag counters. ibdev_path is used for device sysfs counters.
+
+ uDAPL CM events are tracked on a per IA instance via internal
+ provider counters. The ib_cm, link, and diag events are tracked on a
+ per platform basis via sysfs. For these running counters a start
+ and stop function is provided for sampling and mapping to DAPL
+ 64 bit counters. All counters, along with new start and stop functions,
+ are provided via dat_ib_extensions.h. New IB extension version is 2.0.7
+
+ New DCNT_IA_xx counters include 40 cm, 9 link, and 9 diag types.
+
+ To enable new counters (default build is disabled):
+ ./configure --enable-counters
+
+ New bitmappings have been added to DAPL_DBG_TYPE environment
+ variable to automatically start/stop counters and log
+ errors if counters are enabled. The following will control
+ CM, LINK, and DIAG respectively:
+
+ DAPL_DBG_TYPE_CM_ERRS = 0x080000,
+ DAPL_DBG_TYPE_LINK_ERRS = 0x100000,
+ DAPL_DBG_TYPE_DIAG_ERRS = 0x400000,
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 0fc4298cad74f47b10c59b1808c8077910fc7c9d
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Apr 17 15:24:22 2012 -0700
+
+ scm: use ioctl SIOCIFCONF to get complete list of configured netdev interfaces
+
+ replace usage of getaddrinfo since is doesnt actually return bound addresses
+ and can return the loopback address in some configurations. Some
+ systems may not have eth0 configured so you cannot assume eth0 as a non-loopback
+ default netdev.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 844076f2a0b749db4648c7a3cff16b328fc94b5b
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Feb 17 10:28:48 2012 -0800
+
+ ucm: UD send failures at scale, ucm_send ERR: get_smsg(hd=149,tl=150)
+
+ Full sendq should retry polling completions instead of failing.
+ When sendq is full and all requests are pending the get send message
+ code should retry polling for completions and not return error on first
+ empty CQ attempt. Give HCA a chance to complete some batched requests.
+ Also, clean up the send message error logging.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit d15865106ffbd37de07e5adea7c31a4e79b5fe5c
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Feb 6 14:04:37 2012 -0800
+
+ scm: fix retry count on connection pending timeout
+
+ Retry count not being decremented on connection TIMEOUT.
+ Also, cleanup log messages on CONN and REP pending and
+ add local port to output.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit c7a61ae813c8f8fe8b8fb326bf115bc77be8fea4
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Feb 6 14:03:20 2012 -0800
+
+ ucm: cleanup debug message, ntohl on p_size is incorrect
+
+ private data size is a short, change to ntohs on log message
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 7779fe08d1577cf4949c48c6a7e7c2e52ff71a6b
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Jan 30 10:19:29 2012 -0800
+
+ cma, scm, ucm: allow EP (QP) creation without EVD (CQ)
+
+ Provide ability to create a EP/QP with no EVD/CQ on either the
+ request or receive queue. The current implementation allows on
+ receive queue but not request queue. Not all ofa devices support
+ a null CQ so if necessary create a dummy CQ at the time of
+ QP creation. Also, if no CQ is specified set appropriate QP
+ max wr/sge attributes to zero.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 79888537df15161107487378372fd8c1dc8c764f
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Jan 30 10:09:42 2012 -0800
+
+ common: add DAPL_DBG_TYPE_CM_STATS (0x40000) to debug log options
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 16b0d53e4b734dbc2644ca9b08c536aebbc5d1cb
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Jan 25 11:54:29 2012 -0800
+
+ common: dapls_ep_flush_cq will segfault when no CQ is attached to EP
+
+ add check for NULL request/receive EVD (cq) before flushing.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 960538d9c5cf944e1d58104e43483d91337bccd2
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Jan 25 11:50:21 2012 -0800
+
+ common: ep_create should allow max_request_iov attribute setting of zero
+
+ When creating an EP without a request EVD (cq) the max_request_iov
+ and max_request_sge will be 0. Allow this combination when checking
+ attribute settings for ARG6.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit ae9bd7d8b18f0f63a5ab8c049aa7b1010ab27ce0
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Jan 18 15:47:12 2012 -0800
+
+ common: add check for NULL handle on ext calls, SRQ free, and helper functions
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit f77dcf8ad81261f466e7bb0bb63dfed33c062e90
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Jan 13 12:01:26 2012 -0800
+
+ common: add missing sub-types to dat_strerror()
+
+ "unknown minor error" string returned with valid sub types.
+ Update function for sub-type error codes in dat_error.h.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit d4963d5b18220091e85fb8fab882906b29382739
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Jan 12 09:54:59 2012 -0800
+
+ common: extended CR event processing missing rejects on errors
+
+ When processing an inbound CR event callback a non-user reject should be
+ sent to client in the case of a non-listening SP, allocation error,
+ or EVD overrun. Changes made to dapls_evd_post_cr_event_ext callback.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 391006dfded6601488f32a3e10de329a575ab355
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Jan 12 09:39:46 2012 -0800
+
+ ucm: incorrectly sends user reject during CR callback errors
+
+ Add reason checking on provider rejects and set appropriate op type
+ in reject message. Reject can be called from cr callback during
+ failures. User reject will be IB_CM_REJ_REASON_CONSUMER_REJ.
+ Add warning message on active side.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 292c633250b9e0b6644e4d529170123fc5f301e7
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Jan 10 15:42:24 2012 -0800
+
+ common: change dbg level on CR callback if not listening on SP
+
+ Change from from CM to CM_WARN level and include in non-debug build.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 3b35315460b7412605affff6f9a22532c738e1c9
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Jan 9 15:03:21 2012 -0800
+
+ scm: incorrectly sends user reject during CR callback errors
+
+ Add reason checking on provider rejects and set appropriate op type
+ in reject message. Reject can be called from cr callback during
+ failures. User reject will be IB_CM_REJ_REASON_CONSUMER_REJ.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 285f3798c1b006f0e614fee2ecd58049eb5fabd3
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Jan 9 10:29:26 2012 -0800
+
+ dat: add check for NULL handle on IA calls
+
+ check added to dats_get_ia_handle()
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit d29a85aecd0976be0ea677c4d55ee80b8c9b5f52
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Dec 7 16:39:55 2011 -0800
+
+ cma,scm,ucm: extra reference on EP, with RSP, causes dat_ep_free() to hang
+
+ Need to add check for RSP or PSP provider type service points during
+ passive side accepts before taking CR reference on the EP. In these
+ cases, the EP is already linked to inbound CR.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit c5ff770c2ef572561f409181d2627d645334a9bf
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Dec 7 16:34:17 2011 -0800
+
+ common: RSP service points incorrectly freed during CR callback
+
+ The RSP service point is being removed because of improper
+ state/flag checking during CR callback. Add state check
+ for DAPL_SP_STATE_RSP_LISTENING.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit cf402be628dd54c3139cc66af30232b13ef0c70a
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Dec 2 15:45:30 2011 -0800
+
+ common: clean up dat_rsp_create log message
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 2bdbcdb883dc1de3fc5f53b1a2accc9b56801b02
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Dec 2 15:44:04 2011 -0800
+
+ common: cleanup debug message on EVD overflows
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit b880f8a612f1b031aa403a2a924ab605b28f2986
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Dec 2 15:31:09 2011 -0800
+
+ scm: return correct event error code when remote host refuses requests
+
+ changed from TIMEOUT to NON_PEER_REJECTED
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 442588d75b3408fb2072c567cb673061c65c1f75
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Dec 2 15:29:08 2011 -0800
+
+ dapltest: server CR EVD is too small for multi-client configurations.
+
+ Increase default size from 8 to 32.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit a5acb2355958501a0a0855bd9b1d533f29148626
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Dec 2 15:28:31 2011 -0800
+
+ Common: CR EVD overflow causes segfault.
+
+ The CR is freed up incorrectly before unlinking with SP.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit df31e386354a4755b0cd416d27a1f9334340ca65
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Nov 2 16:36:22 2011 -0700
+
+ Release 2.0.34
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit be8891b39ab9817216fd5736c6e2cce98ec78e91
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Nov 2 10:40:02 2011 -0700
+
+ scm: change debug message level for listen/bind errors
+
+ reduce to CM_WARN instead of general WARN level.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit a938e5db62a0fbbf8020eb1b526b090f44bc67c2
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Nov 2 10:29:34 2011 -0700
+
+ common: increase default IB ack timer from 16 to 20
+
+ For larger, more congested fabrics, a larger ACK timer is needed.
+ Consumers can still change default with environment variable
+ DAPL_ACK_TIMER if they need to increase or decrease.
+
+ This applies to SCM and UCM providers only. The CMA provider, which
+ uses rdma_cm, has no way to control ack timer with current API.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 989628832a12f4f0124947f1896bef51b9bbb3c9
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Nov 1 13:44:24 2011 -0700
+
+ common: remote ia address null pointer creates seg fault
+
+ add NULL ptr check and return DAT_INVALID_PARAMETER, DAT_INVALID_ARG2
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 3c2dbc16a09a0fb430e44ba023e1cc5bb87fa529
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Nov 1 12:40:21 2011 -0700
+
+ common: posting events on full queue returns wrong error code
+
+ Return DAT_QUEUE_FULL instead of DAT_INSUFFICIENT_RESOURCES
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit ae55f888f976de8225178fdec343a89bdeb28001
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Nov 1 11:43:55 2011 -0700
+
+ common: dat_ep_modify seg faults with null ep_param ptr
+
+ add additional NULL ptr check for arg3 ep_param
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit edbd39693482397ec6d1e4b6783d42be8c66332b
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Oct 28 12:27:16 2011 -0700
+
+ common: dat_evd_free seg faults with resized software EVD
+
+ dapl_evd_resize is attempting to resize a CQ but there is no
+ CQ attached to a software EVD. Add check for cq_handle
+ before resizing.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 6d23b0cf6487fc39367528e7673e9629fcc04ee2
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Oct 28 10:23:51 2011 -0700
+
+ common: remove assert for incorrect events during cm_request
+
+ Simply print a warning message. Connection callback doesn't
+ forward invalid events to consumer so no need to assert.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit e42b630d9866ec5ad4d2425c7ad96507a6e16b96
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Oct 26 16:02:56 2011 -0700
+
+ dat: dat_cno_query with NULL cno_handle causes segmentation fault
+
+ add check for NULL handle in dat library
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit f179ce281b382f005d1553d2401b05f50284aede
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Oct 26 13:03:50 2011 -0700
+
+ scm: dat_psp_create returns wrong error code on bind/listen failure
+
+ The SCM provider changed to return DAT_INVALID_PARAMTER instead of
+ incorrect DAT_CONN_QUAL_UNAVAILABLE error code on any bind or
+ listen failure.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit e8c41c05b356fc1a1305dbb80b41f0d3218a6aa2
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Oct 26 09:12:10 2011 -0700
+
+ scm: socket connect request count is reset improperly on retry
+
+ Include the current retry count with the new connect request call
+ and set according after creating the new cm object.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit e8d3537444e311b68d47f015d6de952e31234bc8
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Oct 24 13:59:55 2011 -0700
+
+ scm: when hostname has loopback addr assigned, default to eth0 instead of failing
+
+ There are some cases where the eth0 device is configured with an IP address
+ but the getaddrinfo() will only return loopback address because the
+ hostname is configured in the /etc/hosts file with 127.0.0.1. In this case,
+ the provider will now retry address on eth0 before failing the open.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 0c13d50320cd8aeac6be809d2dd6f3d6ca675ab0
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Oct 24 13:57:01 2011 -0700
+
+ scm: add port number to error log during hca_open failures
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit eb026ba0e9f37f131b84ea8971ba18ee2101d592
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Oct 24 13:40:45 2011 -0700
+
+ common: query calls return incorrect IA handle to consumer
+
+ The IA handle from the consumer perspective is an IA vector and
+ not the provider IA address handle. Need to convert IA handle
+ to IA vector for consumer calls.
+
+ Modify dats_ia_get_handle call to convert both ways depending
+ on handle type provided so a dapl provider can convert to vector
+ on query calls. This fix is backward compatible with older libdat2
+ libraries. Function is already exported and syntax is unchanged.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 9b891e7ec048cdc8905c70780ef9ca27af0a4002
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Sep 22 13:42:15 2011 -0700
+
+ common: srq create asserts with !dapl_llist_is_empty(head) failed
+
+ return DAT_NOT_IMPLEMENTED before allocating any resources
+ until there is a provider that supports SRQ's.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 7707d4d19e0359b621a3be1cee7ae59edb0a11b0
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Aug 29 12:31:38 2011 -0700
+
+ Release 2.0.33
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit c4fc0ba2038c771f3f2cd9d262c3a802603e6c7b
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Sun Aug 28 19:10:37 2011 -0700
+
+ scm,ucm: fix compatibility issues and set minimum protocol support
+
+ allow latest version to work with previous versions to allow
+ compatibility back to OFED 1.5, dapl-2.0.23. If rdma_atomic_in
+ is not exchanged default back to original settings set by
+ consumer.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 2b118e5549e1d7a5cba0cf0f5e7877935c259360
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Aug 19 13:19:38 2011 -0700
+
+ build: link librdmacm dependency to ib_acm usage for ucm and scm providers
+
+ Add -lrdmacm to XLIBS for ucm and scm providers. Only set with
+ conditional use of ib_acm as defined by DAPL_USE_IBACM.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 648d46ae8964cddee521aa6b8f2c00a37d286c32
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Aug 19 12:40:24 2011 -0700
+
+ build: add selective enable/disable-xxx build switch for each provider
+
+ The following switches have been added to configure:
+
+ --disable-cma (disables the rdma_cm dapl provider build)
+ --disable-scm (disables the socket cm provider build)
+ --disable-ucm (disables the IB UD cm provider build)
+
+ all providers are enabled by default.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit d083cd1d0ee9dfceb14c9cc75a1129f2a247a8bf
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Aug 19 10:24:32 2011 -0700
+
+ build: add extended header files to EXTRA_DIST and fix missing backslash
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit e76221985709bc2aee356e621ec78dffabdc0aef
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Aug 19 10:23:42 2011 -0700
+
+ build: set IB extended coll-type to none by default
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit a55bac341a6d9e95965290d0c73cfe8b252b0dd5
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Sun Aug 7 23:02:54 2011 -0700
+
+ common: change errno mapping of EINVAL to DAT_INVALID_PARAMETER
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit aea52cce4dbc5fb42debbc77282784c64a826653
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Sun Aug 7 22:59:27 2011 -0700
+
+ build: add IB collective and FCA provider to dapl build package as an option
+
+ New collective support and the FCA provider will only be built with
+ configure option of "--enable-coll-type=fca". Dependencies include
+ fca devel package, fca library, and mverbs library. This will not
+ be included in default builds.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 66399e8a751474be605cc62050b2b1408f3418b6
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Sun Aug 7 22:54:36 2011 -0700
+
+ common: add new dapls_evd_post_event_ext call for extended events
+
+ Add prototype and code to post extended events on dispatcher and
+ include collective definitions to dat_event_str function.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit cf704c68249f9f93c0624ebaf552b1811013f15f
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Sun Aug 7 22:53:45 2011 -0700
+
+ ucm: add support for IB collective providers
+
+ Add collective member address and threading information
+ on a per transport basis. Call create/free service with
+ HCA open/close.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 9911d103d8aa4c0ecf797fe653979aaa6b82b40d
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Sun Aug 7 22:53:09 2011 -0700
+
+ scm: add support for IB collective providers
+
+ Add collective member address and threading information
+ on a per transport basis. Call create/free service with
+ HCA open/close.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 65946e9ed1b4e57dda85ee8254f6bca4c8232b96
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Sun Aug 7 22:47:21 2011 -0700
+
+ cma: add support for IB collective providers
+
+ Add collective member address and threading information
+ on a per transport basis. Call create/free service with
+ HCA open/close.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit d7f275728eeca3341f10c720ed3325295327e2c1
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Sun Aug 7 22:45:04 2011 -0700
+
+ common: add supported collective types in named attributes for query
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit f5817ec85e0d43ee6aca287327cce06a92f65cc4
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Sun Aug 7 22:41:48 2011 -0700
+
+ common: add collective call mappings via standard dapli_post_ext()
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit cab8890d96b20e5afa7f8afe3af5fb087af9a104
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Sun Aug 7 22:39:32 2011 -0700
+
+ common: new debug bitmask definition for extension logging
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 09ab18c78faf698811ec08fcfc001c755fa44faa
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Aug 17 10:29:01 2011 -0700
+
+ common: new IB collective provider for Mellanox Fabric Collective Agent
+
+ Support for bcast, barrier, reduce, allreduce, allgather, allgatherv
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 5dc60f1aba17becf0788bcb519b17a47dc4be69c
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Sun Aug 7 22:06:09 2011 -0700
+
+ dat: add definitions for MPI offloaded collectives in IB transport extensions
+
+ The collective extensions are designed to support MPI and general
+ multicast operations over IB fabrics that support offloaded collectives.
+ Where feasible, they come as close to MPI semantics as possible.
+ Unless otherwise stated, all members participating in a data collective
+ operation must call the associated collective routine for the data
+ transfer operation to complete. Unless otherwise stated, the
+ root collective member of a data operation will receive its own portion
+ of the collective data. In most cases, the root member can prevent
+ sending/receiving data when such operations would be redundant. When root
+ data is already "in place" the root member may set the send and/or receive
+ buffer pointer argument to NULL.
+
+ Unlike standard DAPL movement operations that require registered
+ memory and LMR objects, collective data movement operations employ
+ pointers to user-virtual address space that do not require
+ pre-registration by the application. From a resource usage point
+ of view, the API user should consider that the provider implementation
+ my perform memory registrations/deregistration on behalf of the
+ application to accomplish a data transfer.
+
+ Most collective calls are asynchronous. Upon completion, an event
+ will be posted to the EVD specified when the collective was created.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit d3ac07bc2caf82e8d2cd9d0ad50472f697538bd0
+Author: sean.hefty at intel.com <arlin.r.davis at intel.com>
+Date: Wed Jun 22 10:40:17 2011 -0700
+
+ common: cleanup debug messages when building with ibacm feature
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit d7778868d352e97be618523eeb0468e485490c0e
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Sun Feb 13 21:14:33 2011 -0800
+
+ Release 2.0.32
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit ef80301e5799bd5657071e6bf4a1787711b5c878
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Sat Feb 12 12:03:19 2011 -0800
+
+ cma: reduce output log level in disconnect from WARN to CM_WARN
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 0ca585d4c3e5043e3000786eee7293c3fc4818e3
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Sat Feb 12 11:46:08 2011 -0800
+
+ ucm: delay freeing of active side UD cm object in case RTU is dropped
+
+ The ucm was freeing the UD CM object to quickly so a retried REPLY
+ was dropped and the passive side never received the AH info via RTU.
+ Keep active side UD cm objects on work queue until QP is destroyed
+ so RTU can be resent if necessary.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit a4de5f009dfe303788e08e26d46c5e0c68f20e6e
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Sat Feb 12 11:36:35 2011 -0800
+
+ ucm: cm object needs to be on work queue before req sent on wire
+
+ With this delay in cm object queuing there is potential for replies
+ being dropped coming back with a NO MATCH. Start with INIT
+ state and queue it up, move to state REP_PENDING when
+ sending out on the wire to start request timer.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 342d0eb23c7da570d6f787474389377f706e8f14
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Feb 4 14:41:45 2011 -0800
+
+ ucm, scm: remove use of usec_sleep delays and use events for disc and destroy
+
+ use pthread mutex when processing and waiting for disconnect completions
+ and for CM object destruction. Add f_event, d_event to cm object.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 02a298eca46a00e3cd26f694d54b8194efc231d1
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Jan 20 18:31:30 2011 -0800
+
+ common: reduce default max inline data size because of performance anomaly
+
+ Increasing max inline causes small message rates to decrease from
+ 4M/sec when set to 64 to about 1M/sec when set to 400. This has
+ been observed on latest mlx4 adapters. Set default to 64 until resolved.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 14402cefc4ad90f4bd826f60bdeef7ad82909041
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Jan 20 11:05:02 2011 -0800
+
+ common: dapls_evd_dto_wait() dbg message should print status and not errno
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 7050cd7b4756ed98072513ee9c3672f0cb63a97d
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Jan 17 14:43:58 2011 -0800
+
+ ucm, scm: exchange max_qp_rd_atom and limit outstanding requests
+
+ exchange and add proper checking to limit outstanding
+ rdma reads and atomics. Use one of the reserve bytes
+ in CM message protocol to exchange limits and reset
+ EP attribute rdma_out and set QP RTS attribute properly.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 080b172cf26ab3202cfb4a1f231e849ea911473f
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Jan 4 20:22:12 2011 -0800
+
+ scm: retry socket connect on ECONNREFUSED under heavy load
+
+ with large scale workloads a linux server starts rejecting
+ socket connect requests. Add retry logic for connection refused
+ errors.
+
+ increasing net.ipv4.tcp_max_syn_backlog to 2048 will also reduce the
+ chance of these errors when scaling up.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit fee5b15e67c60d9d39005ff99655f2c41c418d37
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Jan 4 16:25:29 2011 -0800
+
+ common: qp modify RTR using wrong ep attribute parameter for dest_rd_atomic
+
+ max_rdma_read_in should be used instead of max_rdma_read_out
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit b2df3373fec12f16df712e6e2e35d8a3799f3452
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Dec 10 14:26:07 2010 -0800
+
+ Release 2.0.31
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 2bebd3f72ecd73e2df80ca4712f0f470647f196b
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Dec 10 14:19:45 2010 -0800
+
+ common: clean up build warning for unused variable event_ptr
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 07947b64b776e0c55051bd2db16829fec310db32
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Dec 10 13:49:47 2010 -0800
+
+ scm, ucm: set RAI_NOROUTE flag with rdma_getaddrinfo() call to avoid blocking.
+
+ if path is not returned, print warning message and use default SL.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 910f52dc040e56d80aa71ec2220c04d11184a9f7
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Dec 10 13:47:15 2010 -0800
+
+ cma: definition for dapl_sp_remove_ep() is missing in cm.c
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 04d577b6b5232d1eb7a741caa963e6181008ebd6
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Dec 6 16:06:47 2010 -0800
+
+ libdat: static provider entries created for local SR database not freed
+
+ During load (dat_sr_init) the SR database is created with all dat.conf entries
+ but are never cleaned up during unload. Add new functions dat_sr_remove_all()
+ and dat_sr_remove() calls to cleanup and deallocate SR database entries and
+ database via dat_sr_fini().
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 9acb2c022a40d9a92a7aad5663be4ad02434de2f
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Dec 6 16:02:13 2010 -0800
+
+ libdat: memory leak in static registration during parsing
+
+ The platform_params char string, allocated when
+ parsing dat.conf, is not freed.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 384c1d71872fdd422b64e7b0e1f7b025f18a7ab2
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Dec 3 16:13:31 2010 -0800
+
+ common: increase default IB inline send threshold to 400
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 70b05fed377f37665d9444d1710c0e251d63bf8a
+Author: Pradeep Satyanarayana <pradeeps at linux.vnet.ibm.com>
+Date: Fri Dec 3 15:52:55 2010 -0800
+
+ common cq: a mixup of errno and the -1 return from poll in dapls_wait_comp_channel
+
+ call should return errno and not status returned from poll.
+
+ Signed-off-by: Pradeep Satyanarayana <pradeeps at linux.vnet.ibm.com>
+
+commit f0984b3134ac6019e849dc3d449fa33c553344a8
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Dec 3 14:56:21 2010 -0800
+
+ ucm: release UD cm objects after AH is exchanged to avoid duplicate request drops
+
+ When EP is in UD mode, AH resolution is handled with DAT connection semantics
+ connect and accept. Since AH info can be resolved for the same EPs you can
+ get false duplicate requests because a previous CR from is still on the
+ CM processing list. The CM object will remain on the EP free list and not
+ be freed until EP is destroyed given the possibilty of consumer accessing CR
+ private data buffer.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 334326f1e76c07c08f032df1f69f259a088639dd
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Dec 3 14:52:26 2010 -0800
+
+ ucm: decrease timeout retry count for disconnect requests
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 48c594ba32507e49e4c28be0fc7094df96b52340
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Dec 3 14:24:40 2010 -0800
+
+ ucm: hold lock when sending cm_msgs to sync timer start with packet send
+
+ releasing the lock after setting start timer and before
+ ucm_send could result in incorrect timeout on CM operations
+ if thread is scheduled out when releasing lock.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 4395b4d95e39d460ead28fc7fe76a3cfcbf16935
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Dec 3 14:02:25 2010 -0800
+
+ ucm: add debugging to include process id for better scale up debug aids
+
+ use part of the resv[] area of the cm_msg to include local and
+ remote process ids. Add more debug messages to help isolate
+ problems related to many process problems.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit c269c9ab83a72a2b4ffa972697b83572410d9cea
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Dec 3 10:25:46 2010 -0800
+
+ cma: disconnect can block for excessive times waiting for rdma_cm DREP timeout
+
+ rdma_cm uses the same timeout values for connect and disconnect
+ request/reply. Disconnect abrupt option allows DAT consumers to
+ specify a prompt disconnect with immediate event. If the remote
+ node goes down or is non-responsive a CM disconnect event could
+ take minutes. Add a time limit waiting for event and move EP to
+ disconnected state to prevent callback from issuing duplicate
+ disconnect event via callback. The EP to CM linking will
+ cleanup/cancel any pending events before destroying cm_id.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 4c8275ce6d6243fab26e09bff4227db600197c30
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Nov 16 14:48:10 2010 -0800
+
+ ucm: configure the recv channel FD to non-blocking
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 551ae2d65d6bf891183b0f9d6c68612120147d07
+Author: Stan Smith <stan.smith at intel.com>
+Date: Fri Oct 29 10:11:41 2010 -0700
+
+ windows: Missing librdmacm include path for build
+
+ Signed-off-by: stan smith <stan.smith at intel.com>
+
+commit 15148cdd23f641bd7d7642a17f7155c18ba0d76c
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Oct 28 11:12:33 2010 -0700
+
+ debug build: only timestamp if sending to stdout to avoid performance hit
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit f80928c991c6df0b6e9b344067f7f9c004c17263
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Oct 28 11:11:12 2010 -0700
+
+ common: print out errors on free build and not just debug builds
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 7479741ae44627c32af8f8265507ce589c96d8ed
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Oct 22 11:58:19 2010 -0700
+
+ cma: fix debug build issue
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 4ae116163655e5042f57ec22233624065d652552
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Oct 22 10:15:15 2010 -0700
+
+ scm, ucm: MPI spawn test on oversubcribed server taking excessive time to complete
+
+ Simultanious DREQ processing from user and CM thread caused some improper
+ state change on UCM. State change can incorrectly change from FREE back
+ to DISC in certain corner cases. Add checking on internal disconnect call
+ to prevent double callback events and improper state change.
+
+ For SCM, a remote DREQ will shutdown socket which will cause POLLERR
+ on the disconnected FD. This will in turn cause the cm_thread to
+ wakeup continuously unnecessarily. Fix thread thrashing by moving
+ CM object to FREE state and removing object FD from pollfd array.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit e26513e47d75f96de47020951f1813c1a09d238d
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Oct 22 10:04:21 2010 -0700
+
+ common: add high resolution time stamps and thread id to sdtout debug logs
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 794e3807b019df7163b09745048980632a48fcc2
+Author: ardavis <ardavis at cst-linux.(none)>
+Date: Fri Oct 22 10:01:12 2010 -0700
+
+ common: modify debug in dat_evd_dequeue to reduce noise, only output on non-empty
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 779f2a93f95d7e1d6b18061401cffb0ee56a2b37
+Author: sean.hefty at intel.com <root at cst-linux.(none)>
+Date: Tue Oct 19 13:54:42 2010 -0700
+
+ cma: rdma_destroy_id called twice during device open bind error
+
+ Signed-off-by: Pradeep Satyanarayana <pradeeps at linux.vnet.ibm.com>
+
+commit 9c4026b3658f4f350d2b9cf4cbbda0cdc8f26482
+Author: ardavis <ardavis at cst-linux.(none)>
+Date: Tue Oct 19 09:52:45 2010 -0700
+
+ common: dat_evd_dequeue (poll_cq) fails with invalid parameter after EP (qp) free
+
+ Failure occured during Intel MPI spawn test on windows.
+ The QP's need to be flushed and processed via EVD's during
+ the EP (QP) destroy to avoid an error on poll_cq. IBAL
+ provider was not moving to ERR state during QP destroy.
+
+ Better flush CQ processing was added and pushed down to the provider
+ level via dapls_ib_qp_free() where it can move QP to ERR, flush CQ,
+ and then free QP after flushing. Because there is no QP_ERR_FLUSH
+ state on a QP the spin on poll_cq (until empty) after modify_qp
+ to ERR could return empty and before all WQE's are flushed. This
+ could result in a CQE being added to CQ with a invalid QP reference.
+ So, an additional check was added to flush_evds for the recv_q to
+ poll_cq until all recv's pending are complete. For transmit_q there
+ is no quarantee that the posted work is signaled and so the best
+ that can be done is poll_cq until empty.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit 3685811d2c481d1e55d79962710f8779553c0d88
+Author: ardavis <ardavis at cst-linux.(none)>
+Date: Mon Oct 11 12:24:31 2010 -0700
+
+ ucm: allow configuration of CM burst (signal) threshold on posting
+
+ Add new DAPL_UCM_TX_BURST environment variable, default=50.
+ Every 50 posted send messages will signal event which
+ is 10 percent blocks of default 500 message limit.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 167f4d8e50f96f771d1ca50042f61713800e9987
+Author: ardavis <ardavis at cst-linux.(none)>
+Date: Mon Oct 11 12:23:50 2010 -0700
+
+ cma: fix debug build
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit af828468ce884615b39afacae4e5270e38fba9a6
+Author: ardavis <ardavis at cst-linux.(none)>
+Date: Thu Oct 7 14:29:21 2010 -0700
+
+ windows: debug version of windows does not build.
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit 3da73eccadfbec9b8725c53cf37eb9802342c4d0
+Author: ardavis <ardavis at cst-linux.(none)>
+Date: Thu Oct 7 11:14:03 2010 -0700
+
+ Allow DAPL out of band connection models to use ibacm to obtain
+ path record data. This will enable support for a wider range of
+ topologies, where the SL is required from the SA to prevent
+ deadlock.
+
+ DAPL will obtain path record data using rdma_getaddrinfo, provided
+ that IB ACM support is enabled. On failure, dapl will fall back to
+ using its default SL value. The IB ACM can be configured to cache
+ path information or always query the SA to ensure that the SL that is
+ obtained is current.
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit 8be031e229dfc6afcf7b637d2ea78e43048b7223
+Author: ardavis <ardavis at cst-linux.(none)>
+Date: Mon Sep 27 11:12:08 2010 -0700
+
+ ucm: add missing map file for UCM provider
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 78ae5ca6bc5ca16772d70e4c4e7b76982efac0fa
+Author: ardavis <ardavis at cst-linux.(none)>
+Date: Fri Sep 24 10:47:30 2010 -0700
+
+ ibal: delay QP transition during disconnect phase
+
+ ibal provider calls ib_cm_drep in response to receiving
+ a dreq. The result is that the user's QP is transitioned
+ through the error state, which fails any outstanding send
+ operations and flushes all receives. The disconnect request
+ is then reported to the user.
+
+ Since a user can receive errors from the QP before they are
+ aware of a pending disconnect request, the application may
+ respond to the errors as, well, actual errors. Fix this by
+ delaying the QP transition until the user responds to the
+ dreq.
+
+ This fixes an error with Intel MPI running over the ibal
+ dapl provider with a 'spawn' test.
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit 17d4b3d1ef11ca4de535e64dfffa20e4771bfb1d
+Author: ardavis <ardavis at cst-linux.(none)>
+Date: Thu Sep 23 13:50:05 2010 -0700
+
+ Revert "ibal: delay QP transition during disconnect phase"
+
+ This reverts commit 4eda455d9bc80c35743b3a2f6773e6c4a500affc.
+
+commit 4eda455d9bc80c35743b3a2f6773e6c4a500affc
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Sep 22 10:35:24 2010 -0700
+
+ ibal: delay QP transition during disconnect phase
+
+ The ibal provider calls ib_cm_drep in response to receiving
+ a dreq. The result is that the user's QP is transitioned
+ through the error state, which fails any outstanding send
+ operations and flushes all receives. The disconnect request
+ is then reported to the user.
+
+ Since a user can receive errors from the QP before they are
+ aware of a pending disconnect request, the application may
+ respond to the errors as, well, actual errors. Fix this by
+ delaying the QP transition until the user responds to the
+ dreq.
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+ ---
+
+commit 6fefe33f9e691d4527a6e077ae1fe71bf138a41c
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Sep 20 10:42:41 2010 -0700
+
+ common: restructure EVD processing to handle EP destruction phase
+
+ EVD processing in the common code will return unformated events
+ if EP context is invalid as a result of destruction. During
+ EP destruction, add changes to flush EVD and process DTO completions
+ before the EP freeing is called. Simplified the locking in the
+ EVD code to eliminate the unecessary and very confusing condition
+ checking of evd_producer_locking_needed.
+
+ new dapls_ep_flush_cqs() call created to syncronize flush and
+ event processing.
+
+ unnecessary KDAPL code removed in the EVD processing.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit 9a52436fab39201ccccc76cde10c0fc6f54f5585
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Sep 13 16:19:44 2010 -0700
+
+ ibal: sync QP destruction and device close
+
+ Make QP destruction synchronous to ensure that no callbacks are
+ in progress for a QP after dapl has destroyed it. This fixes a
+ use after free error accessing the dapl ep structure from a qp
+ callback that results in an application crash.
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit 8b9b644ad2b33f1e21a43be364feee6dd4fc13ec
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Sep 13 15:06:42 2010 -0700
+
+ ucm: remove unnecessary debug warning in async callback
+
+ The switch() cases print when necessary.
+
+ signed-off-by: stan smith <stan.smith at intel.com>
+
+commit 9073d757198ea2aa43a7b97e75e64fcb1b4c40cf
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Aug 9 14:28:20 2010 -0700
+
+ Release 2.0.30
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit f85be199252d12d27c7b7814771a4ca83a43d0c8
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Aug 9 14:25:09 2010 -0700
+
+ common: increase default logging to include warnings
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 59489448a7918ab2a1a4b9bcac7e4661cdd97a23
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Aug 9 14:19:50 2010 -0700
+
+ common: add more debug levels for cm logging
+
+ DAPL_DBG_TYPE_CM_EST = 0x8000,
+ DAPL_DBG_TYPE_CM_WARN = 0x10000
+
+ Add level for connection establishment and events
+ and for retries/timer events.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 70c509bca8409d55ad7c4a248f453956d163778b
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Aug 2 09:51:30 2010 -0700
+
+ common: cleanup CR linkings after DTO error on EP
+
+ Add cleanup to remove CR from SP and EP
+ during DTO errors in dapli_evd_cqe_to_event.
+
+ dapl_sp_remove_ep needs to remove cr_ptr
+ reference from EP before freeing cr object.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 319430b3bbfb8692dd3d21a21633bfee74cf5b7c
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Aug 2 09:49:23 2010 -0700
+
+ ucm: cleanup CM debug warning messages
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 7118731a890e9188bb02dc7a5b21ffd832855e9e
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Jul 23 15:17:53 2010 -0700
+
+ scm, ucm: improperly handles pkey check/query in host order
+
+ Convert consumer input to network order before verbs
+ query pkey check.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit c5504925b8b98006f421d53475e8ecd55b76f9dd
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Jul 12 15:57:34 2010 -0700
+
+ The linux compatability header file _errno.h is moving out of verbs.h.
+ Include _errno.h in the windows osd header files, similar to how
+ errno.h is included in the linux osd header files.
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit 455e9d6d0aeb753a9ecb4a130b0b237e1ffd4146
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Jun 30 12:03:41 2010 -0700
+
+ windows: update SOURCES files to link winverbs.lib, which is
+ needed for common ofa providers.
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit b441934f5e55582ef01a91c01da720334345a452
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Jun 17 12:58:22 2010 -0700
+
+ Release 2.0.29
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 6c6a482b8ad33d134f0631019b249bd0fea71007
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Jun 17 12:40:21 2010 -0700
+
+ scm, ucm: add pkey, pkey_index, sl override for QP's
+
+ On a per open basis, add environment variables
+ DAPL_IB_SL and DAPL_IB_PKEY and use on
+ connection setup (QP modify) to override default
+ values of 0 for SL and PKEY index. If pkey is
+ provided then find the pkey index with
+ ibv_query_pkey for dev_attr.max_pkeys.
+ Will be used for RC and UD type QP's.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 876942781e9bf72302184f3534a2ddc4068550ac
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Jun 10 11:40:45 2010 -0700
+
+ cma: remove dependency on rdma_cma_abi.h
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit b34ea37650b5eefeedfc463345775ff568df259e
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Jun 2 14:13:05 2010 -0700
+
+ configure: need a false conditional for verbs attr.link_layer member check
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 977f11871d3d4e98f602f890ade1c31cf4169c9c
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Jun 2 10:05:03 2010 -0700
+
+ ucm: incorrectly freeing port on passive side after reject
+
+ cm_release was incorrectly freeing a client port
+ assuming it was the server listening port. Move
+ the listening port cleanup to remove_conn_listner
+ and only cleanup client ports in cm_release.
+
+ Error Messages indicating problem:
+
+ CM_REQ retry 1 [lid, port, qpn]: 9 ff9a 340085 -> 9 6fa 34004e Time(ms) 1999 > 1600
+ DUPLICATE: op REQ st CM_CONNECTED [lid, port, qpn]: 9 6fa 0x0 <- 0x9 ff9a 0x340085
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 7aedfb1e9dcb9e2841ebe3496bb9aae33c1f6a5b
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Jun 2 09:45:42 2010 -0700
+
+ ucm: modify debug CM output for consistency, all ports, qpn in hex
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 8e776ff0621cee1824be224b7a32f79e89b0ebc2
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon May 24 16:44:25 2010 -0700
+
+ Release 2.0.28
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 8fdbd949ef464aa57b13743ab087ea72f035fbc3
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon May 24 16:28:05 2010 -0700
+
+ config: add conditional check for new verbs port_attr.link_layer
+
+ Check for link_layer type ETHERNET and set global for GID
+ configuration on modify QP.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 1ce0875fb2ac6120cfee006b48a20a4ec38f599b
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon May 24 10:30:28 2010 -0700
+
+ dat.conf: update manpage with latest provider information, add examples
+
+ Add information regarding OpenFabrics provider choices
+ and explain cma, scm, and ucm providers.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 9c42d5872feb07f25f003e01263a3062ebc3bdbb
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed May 19 16:38:53 2010 -0700
+
+ cma, scm: new provider entries for Mellanox RDMA over Ethernet device
+
+ Add options for netdev eth2 and eth3 for cma and for device mlx4_0 port 1 and 2 for scm.
+
+ ofa-v2-cma-roe-eth2 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "eth2 0" ""
+ ofa-v2-cma-roe-eth3 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "eth3 0" ""
+ ofa-v2-scm-roe-mlx4_0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx4_0 1" ""
+ ofa-v2-scm-roe-mlx4_0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx4_0 2" ""
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit d947e05317fe7fef19c90f772ec8f458ff52b196
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed May 19 15:17:58 2010 -0700
+
+ dapltest: server info devicename is not large enough for dapl_name storage
+
+ Server info device name is a 80 char array but the dapl device name
+ that is copied is 256 bytes. Increase started_server.devicename definition.
+ Chalk one up for windows SDK OACR (auto code review).
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit c7a7a886af194cf735ee1eb62d9e14967d51249a
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed May 19 14:48:49 2010 -0700
+
+ windows: comp_channel.cpp is included by util.c in the openib_common.
+
+ Remove it from device.c in individual providers to avoid
+ duplicate definitions.
+
+ Line endings were corrected to linux format from windows as part of
+ the change.
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit bcaa400778d14a977d5cd224056baa0cff06126d
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed May 19 14:45:55 2010 -0700
+
+ windows: need to include linux directory to pick up _errno.h
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit c616a8549db461e39feed71f0f10228313d17b90
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon May 17 16:22:30 2010 -0700
+
+ scm: check for hca object before signaling thread
+
+ There may not be an hca object attached to cm object
+ when freeing during cleanup.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 1dbba72741da267f71903a9f2ec03628f3e8a47a
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon May 17 16:15:21 2010 -0700
+
+ scm, cma: fini code can be called multiple times and hang via fork
+
+ The providers should protect against forked child exits and
+ not cleanup until the parent init actually exits. Otherwise,
+ the child will hang trying to cleanup dapl thread. Modify to
+ check process id for proper init to fini cleanup and limit
+ cleanup to parent only.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit b35cb1b16a9dda349dbb19bce9f9bd4afb7240a4
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri May 14 16:20:52 2010 -0700
+
+ scm: add option to use other network devices with environment variable DAPL_SCM_NETDEV
+
+ New environment variable can be used to set the netdev
+ for sockets to use instead of the default network device
+ returned using gethostname.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit cfdf8bb8951b1c19b8e42d58e4ec26070fdc078e
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri May 14 10:27:50 2010 -0700
+
+ scm: cr_thread occasionally segv's when disconnecting all-to-all MPI static connections
+
+ Note: no valid calltrace for segv on cr_thread because
+ of state changing in switch statement from another
+ thread, jumped unknown location.
+
+ Program received signal SIGSEGV, Segmentation fault.
+ [Switching to Thread 0x41a65940 (LWP 1328)]
+ 0x00002b2e7d9d5134 in ?? ()
+
+ Add cm object locking on all state change/checking. When
+ freeing CM object wakeup cr_thread to process
+ state change to CM_FREE.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 4b04afc32940ac42fb2a9bc789a537b527d149fe
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu May 13 10:31:17 2010 -0700
+
+ scm: SOCKOPT ERR Connection timed out on large clusters
+
+ Large scale all to all connections on +1000 cores
+ the listen backlog is reached and SYN's are dropped
+ which causes the connect to timeout. Retry connect
+ on timeout errors.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 625369f991982f020c04156f312ecf2ecafd77b3
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon May 10 12:46:17 2010 -0700
+
+ ucm: UD mode, active side cm object released to soon, the RTU could be lost.
+
+ Will see following message with DAPL_DBG_TYPE set for Errors & Warnings (0x3):
+ ucm_recv: NO MATCH op REP 0x120 65487 i0x60005e c0x60005e < 0xd2 19824 0x60006a
+
+ The cm object was released on the active side after the connection
+ was established, RTU sent. This is a problem if the RTU is lost
+ and the remote side retries the REPLY. The RTU is never resent.
+ Keep the cm object until the EP is destroyed.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 83eec7f19a7442fe568dea685cee7b02fef2f4d1
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon May 10 12:35:51 2010 -0700
+
+ cma, ucm: cleanup issues with dat_ep_free on a connected EP without disconnecting.
+
+ During EP free, disconnecting with ABRUPT close flag, the disconnect should wait
+ for the DISC event to fire to allow the CM to be properly destroyed upon return.
+
+ The cma must also release the lock when calling the blocking rdma_destroy_id given
+ the callback thread could attempt to acquire the lock for reference counting.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit da83172db68d05f54b2c1c77b84ecf86dea0c693
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Apr 28 15:37:27 2010 -0700
+
+ ucm: increase default UCM retry count for connect reply to 15
+
+ On very large clusters UCM is timing out with retries at 10.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 5c710a197bb60268e99e8d1cd7fa26f89b366172
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Apr 27 11:20:08 2010 -0700
+
+ scm: remove modify QP to ERR state during disconnect on UD type QP
+
+ The disconnect on a UD type QP should not modify QP to error
+ since this is a shared QP. The disconnect should be treated
+ as a NOP on the UD type QP and only be transitioned during
+ the QP destroy (dat_ep_free).
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 64c8009f7ba48c22a6829862447ab5f67c66ba55
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Apr 8 16:32:02 2010 -0700
+
+ windows: remove static paths from dapltest scripts
+
+ signed-off-by: stan smith <stan.smith at intel.com>
+
+commit 84b78b0b586ee25c7ab78e2c5f7f19a3ce3f21ee
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Apr 8 09:38:57 2010 -0700
+
+ common: EP links to EVD, PZ incorrectly released before provider CM objects freed.
+
+ unlink/clear references after ALL CM objects linked to EP are freed.
+ Otherwise, event processing via CM objects could reference the handles
+ still linked to EP. After CM objects are freed (blocking) these handles
+ linked to EP are guaranteed not to refereence from underlying provider.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 297e149e7af631663ecc60472a3ee093a7f72059
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Apr 7 11:12:21 2010 -0700
+
+ common: remove unnecessary lmr lkey hashing and duplicate lkey checking
+
+ lmr lkey hashing is too restrictive given the returned lkey could be
+ the same value for different regions on some rdma devices. Actually,
+ this checking is really unecesssary and requires considerable overhead
+ for hashing so just remove hashing of lmr lkey's. Let verbs device
+ level do the checking and validation.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 96fba2ee7a0a1766f200c9486e62aad46d18bb09
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Mar 29 12:20:34 2010 -0800
+
+ ibal: output completion code in deciaml & hex as intended
+
+ sign-off-by: stan smith <stan.smith at intel.com>
+
+commit 753f7d35c814367f431deeb307e6decd933a8b5a
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Mar 16 15:02:44 2010 -0800
+
+ ucm: set timer during RTU_PENDING state change.
+
+ The timer thread may pick up an unitialized timer
+ value and timeout before the reply was sent.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 9fc851021d91b282054cf28b4f83f7e5d376f228
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Mar 16 14:47:58 2010 -0800
+
+ ucm: fix issues with new EP to CM linking changes
+
+ Add EP locking around QP modify
+ Remove release during disconnect event processing
+ Add check in cm_free to check state and schedule thread if necessary.
+ Add some additional debugging
+ Add processing in disconnect_clean for conn_req timeout
+ Remove extra CR's
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit a5da5e4dac52366a9fe9efeb9a128bd4511481e2
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Mar 16 14:18:06 2010 -0800
+
+ scm: add EP locking and cm checking to socket cm disconnect
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 7f733cd1a9acd4b9b270a807673290362050053d
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Mar 16 09:44:44 2010 -0800
+
+ scm: new cm_ep linking broke UD mode over socket cm
+
+ Add EP locking around modify_qp for EP state.
+ Add new dapli_ep_check for debugging EP
+ Cleanup extra CR's
+ Change socket errno to dapl_socket_errno() abstraction
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit a528267020972e0c449f240ba72a0cc80a5d372e
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Mar 16 09:17:01 2010 -0800
+
+ openib common: add some debug prints to help isolate QP type issues
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit fdfdc439d091c878c74d23b9ac46a3320379199d
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Mar 16 09:15:12 2010 -0800
+
+ common: dapl_event_str function missing 2 IB extended events
+
+ Add all IB extended events in event string print function
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 2bf3eb939e9a584ae0fe2de70f16cdcca8acf014
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Mar 16 09:12:11 2010 -0800
+
+ common: dat_ep_connect should not set timer UD endpoints
+
+ connect for UD type is simply AH resolution and doesn't
+ need timed. The common code is not designed to handle
+ multiple timed events on connect requests so just ignore
+ timing UD AH requests.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 73ca06debe4735dfc11f44076a13dde079657b2e
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Mar 15 10:23:47 2010 -0800
+
+ ucm: fix error path during accept_usr reply failure
+
+ if accept_usr fails when sending reply the EP was
+ being linked to CM instead of properly unlinked.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 944ef4445faceeb90bb61d4e377274ad0fd6711f
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Mar 8 13:56:28 2010 -0800
+
+ ibal: add missing windows makefile
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 1d53e8eb90e6f74b41e7767e1c71851ff4ec73fd
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Mar 8 12:53:45 2010 -0800
+
+ ibal: changes for EP to CM linking and synchronization.
+
+ Windows IBAL changes to allocate and manage CM objects
+ and to link them to the EP. This will insure the CM
+ IBAL objects and cm_id's are not destroy before EP.
+ Remove windows only ibal_cm_handle in EP structure.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 4b939076aa32bb52957fcc6791e187c9433d4c24
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Feb 24 12:00:07 2010 -0800
+
+ scm: add support for canceling conn request that times out.
+
+ print warning message during timeout.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit f38fc04d517ee6c0560b271298293c56cc619522
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Feb 24 11:28:04 2010 -0800
+
+ scm, cma, ucm: consolidate dat event/provider event translation
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 41739dab38a4be8076ecd9e61b5e175cf91ab322
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Feb 24 11:26:25 2010 -0800
+
+ common: missed linking changes from atomic to acquire/release
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 7ff4f840bf1150fa2c2f541c93d810622ea9733b
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Feb 24 10:03:57 2010 -0800
+
+ common: add CM-EP linking to support mutiple CM's and proper protection during destruction
+
+ Add linking for CM to EP, including reference counting, to insure syncronization
+ during creation and destruction. A cm_list_head has been added to the EP object to
+ support multiple CM objects (UD) per EP. If the CM object is linked to an EP it
+ cannot be destroyed.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit c9fbd6e7a8131d4077039d5da716b618727d4009
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Feb 23 16:26:41 2010 -0800
+
+ Release 2.0.27-1
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 454c27b1f357c7c3070e459b25d12929f86304ca
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Feb 22 09:42:17 2010 -0800
+
+ windows: add scm makefile
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 66ac48d5280bcf0453760c6e22909de6b8519b6d
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Feb 22 09:41:13 2010 -0800
+
+ Windows does not require rdma_cma_abi.h, move the include from common code and to OSD file.
+
+ Signed-off-by: stan smith <stan.smith at intel.com>
+
+commit c05c41c31f01e1ddef91e92998ca66d258fafe3d
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Feb 19 14:52:01 2010 -0800
+
+ Windows patch to fix IB_INVALID_HANDLE name collision
+
+ signed-off-by: stan smith <stan.smith at intel.com>
+
+commit 712e7e5ba71f8a4344dfff481a9be870eefefe25
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Feb 8 13:49:35 2010 -0800
+
+ scm: dat_ep_connect fails on 32bit servers
+
+ memcpy for remote IA address uses incorrect sizeof for a pointer type.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 3040fa78d7d22c8f76c88dc77cedde09f016eb67
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Feb 5 11:51:16 2010 -0800
+
+ undefined symbol: dapls_print_cm_list
+
+ call prototype should be dependent on DAPL_COUNTERS.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit cbeebe422b952d679f49429be8ba045a62d7f4ac
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Feb 5 11:39:21 2010 -0800
+
+ Cleanup CM object lock before freeing CM object memory
+
+ Running windows application verifiier for uDAPL validation
+ for all 3 providers. Cleanup memory lock leaks found
+ by verifier.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 855a8e4aa83fa2e4f7847122415106f49286f4ca
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Feb 3 16:21:30 2010 -0800
+
+ destroy verbs completion channels created via ia_open or ep_create.
+
+ Completion channels are created with ia_open for CNO events and
+ with ep_create in cases where DAT allows EP(qp) to be created with
+ no EVD(cq) and IB doesn't. These completion channels need to be
+ destroyed at close along with a CQ for the EP without CQ case.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 4da540591148e47dd912851cc7314776f2f7622e
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Feb 3 11:06:45 2010 -0800
+
+ Update Copyright file and include the 3 license files in distribution
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 9011abd4b1470c65bfe81eef5a2f3a81060cec81
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Feb 2 14:43:03 2010 -0800
+
+ When copying private_data out of rdma_cm events, use the
+ reported private_data_len for the size, and not IB maximums.
+ This fixes a bug running over the librdmacm on windows, where
+ DAPL accessed invalid memory.
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 5da33bb3b9c230c08492f85d13caa330ce65906e
+Author: Sean Hefty <sean.hefty at intel.com>
+Date: Thu Jan 28 10:19:20 2010 -0800
+
+ dapl/cma: fix referencing freed address
+
+ DAPL uses a pointer to reference the local and remote addresses
+ of an endpoint. It expects that those addresses are located
+ in memory that is always accessible. Typically, for the local
+ address, the pointer references the address stored with the DAPL
+ HCA device. However, for the cma provider, it changes this pointer
+ to reference the address stored with the rdma_cm_id.
+
+ This causes a problem when that endpoint is connected on the
+ passive side of a connection. When connect requests are given
+ to DAPL, a new rdma_cm_id is associated with the request. The
+ DAPL code replaces the current rdma_cm_id associated with a
+ user's endpoint with the new rdma_cm_id. The old rdma_cm_id is
+ then deleted. But the endpoint's local address pointer still
+ references the address stored with the old rdma_cm_id. The
+ result is that any reference to the address will access freed
+ memory.
+
+ Fix this by keeping the local address pointer always pointing
+ to the address associated with the DAPL HCA device. This is about
+ the best that can be done given the DAPL interface design.
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit 66dbb5f20bf494eb3f5041655b478059165c5f1b
+Author: Sean Hefty <sean.hefty at intel.com>
+Date: Tue Jan 26 15:13:03 2010 -0800
+
+ dapl: move close device after async thread is done
+
+ using it
+
+ Before calling ibv_close_device, wait for the asynchronous
+ processing thread to finish using the device. This prevents
+ a use after free error.
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit 560b235adc799fa710571ca63cbc3e4fa6374ff2
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Jan 11 09:03:10 2010 -0800
+
+ Release 2.0.26-1
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 73dfb32ace6aff2fdb21e54689342fd551822286
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Dec 22 14:00:33 2009 -0800
+
+ openib_common: add check for both gid and global routing in RTR
+
+ check for valid gid pointer along with global route setting
+ during transition to RTR. Add more GID information to
+ debug print statement in qp modify call.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 7aab18fd8ff3f201b0a4b6c76896667b29f103c4
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Dec 4 12:31:22 2009 -0800
+
+ openib_common: remote memory read privilege set multi times
+
+ duplicate setting of read privilege in dapls_convert_privileges
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 016e2c40b8ac2fe18993e9fb7122ecb9b439e5eb
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Dec 4 12:25:30 2009 -0800
+
+ ucm, scm: DAPL_GLOBAL_ROUTING enabled causes segv
+
+ socket cm and ud cm providers support QP modify with is_global
+ set and GRH. New v2 providers didn't pass GID information
+ in modify_qp RTR call and incorrectly byte swapped the already
+ network order GID. Add debug print of GID during global modify.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 7b0c596c7b4ad619f65da9f79dcbc4376e651dde
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Nov 24 22:16:58 2009 -0800
+
+ Release 2.0.25-1
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 3197bffff478ad7ff5eff9220fa0528e42e6b56e
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Nov 24 22:15:46 2009 -0800
+
+ winof scm: initialize opt for NODELAY setsockopt
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 8559ec069329249592f367b5b8f61427cbad0a46
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Nov 24 11:29:46 2009 -0800
+
+ Release 2.0.25
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 0983c66cbd9511128c1fa221470c4c983903e420
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Nov 24 08:58:44 2009 -0800
+
+ winof cma: windows definition for EADDRNOTAVAIL missing
+
+ Signed-off-by: stan smith <stan.smith at intel.com>
+
+commit 4fbbcfa1d7bf7a843b27e351d35f3ffbc2ac4db8
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Nov 24 08:54:26 2009 -0800
+
+ scm: client side setsockopt NODELAY fails if data arrives before setting
+
+ Move setsockopt before connect to avoid race with data.
+ Seems to fail on windows. Not seen on linux.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 9dfa9a06d55101fed0773028ce7ab85330514c67
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Nov 18 09:52:40 2009 -0800
+
+ cma: setup_listener Cannot assign requested address
+
+ Colliding with RDS port of 18634. rdma_cm can return
+ either EADDRINUSE or EADDRNOTAVAIL if the bind fails.
+ Add check for either and return proper DAT_CONN_QUAL_IN_USE.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 0698fb56d533a5225cbc3a5a4b8ab2e2d56b7502
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Nov 18 09:43:38 2009 -0800
+
+ common: seg fault in dapl_evd_wait with multi-thread application using CNO's.
+
+ If we are dealing with event streams besides a CQ event stream,
+ be conservative and set producer side locking. Otherwise, no.
+ Check for CNO is missing, CNO is not considered CQ event stream.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 4d26a280572a58248b0796e4d5ed01ea5d67be46
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Nov 18 09:37:48 2009 -0800
+
+ ucm: inbound DREQ/DREP handshake should transition QP.
+
+ During release, when receiving a disconnect request from remote peer
+ instead of a disconnect call from the client, the QP didn't get properly
+ set in ERR state and didn't flush the queue during disconnect processing.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 87965cd15bbfa38b00ed2d77a4ea5a76f76cf4a3
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Nov 2 08:24:53 2009 -0800
+
+ winof: Remove duplicate include of comp_channel.cpp from cm.c as it is included in opensm_ucb/device.c.
+
+ Signed-off-by: stan smith <stan.smith at intel.com>
+
+commit 737fa288b72fad19a1fc3e762eb9f2c471ce6ddd
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Oct 30 13:19:21 2009 -0800
+
+ Release 2.0.24
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 9fe7506ff9ddf1ae6297cfc6a9dd4d6a57e1939e
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Oct 30 12:57:22 2009 -0800
+
+ winof: Utilize WinOF version of inet_ntop() for Windows OSes which do not support inet_ntop().
+
+ Signed-off-by: stan smith <stan.smith at intel.com>
+
+commit d56c645a2bf234e9e0cf215b112c2aa9d5e01945
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Oct 30 07:17:26 2009 -0800
+
+ ucm: windows build issue with new CQ completion channel
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 2d2e7e1e185c08542ee31b0e77561a1eeb4bde6c
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Oct 30 06:35:33 2009 -0800
+
+ winof: add ucm provider to windows build
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 94b2206093607214e0a9709651460692e8196e1c
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Oct 30 06:32:56 2009 -0800
+
+ winof: add missing build files for ibal, scm
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 66b76d7a8035b9164b69781d7630a0c77ce1bb5a
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Oct 28 09:52:50 2009 -0800
+
+ scm: connection peer resets under heavy load, incorrect event on error
+
+ Under heavy load, we get a peer reset from the remote stack. In this
+ case retry the socket connection for this QP setup.
+
+ Add debugging with PID's and socket ports to help isolate
+ these types of socket scaling issues.
+
+ Report correct UD event during error, check remote_ah creation.
+
+ Fix dapl_poll return codes for single event type only.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit f8108a9bda0200355107fdd6c43cb5885f47d648
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Oct 28 09:47:37 2009 -0800
+
+ ucm: increase default reply and rtu timeout values.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 9c13d0d01c78eeb5071e802fbb53811cdb377059
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Oct 28 07:48:20 2009 -0800
+
+ ucm: change some debug message levels and add check for valid UD REPLY during retries.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 1c404bb3dcc0a45e21ef3aa973d59714413beae0
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Oct 27 10:37:45 2009 -0800
+
+ ucm: increase timers during subsequent retries
+
+ check/process create_ah errors during connect phase
+ cleanup some debug messaging.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit cd8c48586f53e846de4fbe10994b73ba457f6406
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Oct 19 10:38:36 2009 -0700
+
+ ucm, scm: address handles need destroyed when freeing Endpoints with UD QP's.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit ce19f5744c0dd9461c09d999b309e8f0e2242767
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Oct 16 14:42:00 2009 -0700
+
+ openib_common: ignore pd free errors, clear pd_handle and return.
+
+ some older adapters have some issues
+ with pd free so just clear handle and return
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 81f5ac17d9039e2edcd8324f7d5ed5f66fcff9f2
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Oct 16 08:52:21 2009 -0700
+
+ ucm: using UD type QP's, ucm reports wrong reject event when user rejects AH resolution request.
+
+ During rejects, both usr and ucm internal, the qp_type does not get initialized
+ so the check for UD type QP messages fail on active side and the wrong
+ event gets generated. Initialize saddr.ib information before sending reject
+ back to active side.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit f0214e5a7a81a68819d308cb921eb75f5246207d
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Oct 16 07:57:25 2009 -0700
+
+ ucm, scm, cma: Fix CNO support on DTO type EVD's
+
+ EVD wait_object should be used for CNO processing
+ and not the direct CQ event channels. Add proper
+ checking for DTO type EVD's with CNO at wait
+ and wakeup.
+
+ UCM missing support for collective EVD's under a
+ CNO. Add support to create common channel for
+ collective EVD's during device open. Add support
+ in cm_thread to check this channel. Also,
+ during disconnect, move QP to error to properly
+ flush queue instead of moving to reset and init.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 960950a7d9f5437dd831bd56ca2ad0c06cb4e324
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Oct 15 09:19:45 2009 -0700
+
+ ucm: fix lock init bug in ucm_cm_find
+
+ the lock should be setup as pointer to lock
+ not lock structure. Cleanup lock and list
+ in cm_find function and cm_print function.
+
+ Add debug aid by passing process id in
+ msg resv area. cleanup cr references
+ and change to cm for consistency.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit f86fec772f2d82eaf60228d288b295e0b7b86c59
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Oct 14 10:03:47 2009 -0700
+
+ ucm: fix build problem with latest windows ucm changes
+
+ define dapls_thread_signal as inline
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 87b6c8ba92f3063a35d49bdb49d6cd0a5100a36c
+Author: Sean Hefty <sean.hefty at intel.com>
+Date: Wed Oct 14 09:34:22 2009 -0700
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit 9fdd8d74f2cba83e9cf513256933f5241495c1da
+Author: Sean Hefty <sean.hefty at intel.com>
+Date: Wed Oct 14 09:34:18 2009 -0700
+
+ The HCA should not be closed until all resources have been released.
+ This results in a hang on windows, since closing the device frees
+ the event processing thread.
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit f9833db469f2d686842bb1d52d1ea53b74fa72a8
+Author: Sean Hefty <sean.hefty at intel.com>
+Date: Wed Oct 14 09:34:13 2009 -0700
+
+ Fix build warning when compiling on 32-bit systems.
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit c80515bd4b1bd11a125dc17e3f7db44240ee1fff
+Author: Sean Hefty <sean.hefty at intel.com>
+Date: Wed Oct 14 09:34:07 2009 -0700
+
+ Trying to deregister the same memory region twice leads to an
+ application crash on windows.
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit 6aa2c0d901daa9cfca7e771c1df2ead074d230bd
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Oct 14 07:59:23 2009 -0700
+
+ dat: reduce debug message level when parsing for location of dat.conf
+
+ Don't output failover to default /etc/dat.conf from
+ sysconfdir at ERROR level. Reduce to DAT_OS_DBG_TYPE_SR.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit e4038e078747201b57203f16ba793b7fc22c12f2
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Oct 8 16:23:22 2009 -0700
+
+ ucm: update ucm provider for windows environment
+
+ add dapls_thread_signal abstraction and a new
+ cm_thread function specific for windows.
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit d80ce42390eb57b9c4f816b4df063f90bd5699bc
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Oct 8 16:02:52 2009 -0700
+
+ ucm: add timer/retry CM logic to the ucm provider
+
+ add reply, rtu and retry count options via
+ environment variables. Times in msecs.
+ DAPL_UCM_RETRY 10
+ DAPL_UCM_REP_TIME 400
+ DAPL_UCM_RTU_TIME 200
+
+ Add RTU_PENDING and DISC_RECV states
+
+ Add check timer code to the cm_thread
+ and the option to the select abstaction
+ to take timeout values in msecs.
+ DREQ, REQ, and REPLY will all be timed
+ and retried.
+
+ Split out reply code and disconnect_final
+ code to better facilitate retry timers.
+ Add checking for duplicate messages.
+
+ Added new UD extension events for errors.
+ DAT_IB_UD_CONNECTION_REJECT_EVENT
+ DAT_IB_UD_CONNECTION_ERROR_EVENT
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 1186bfc949f4bb7278c30c2c59b7fcb6d5142638
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Oct 2 14:49:52 2009 -0700
+
+ Release 2.0.23
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit a5f1220cfd96983c9c89a595d80fab7ddcb1a954
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Oct 2 14:48:15 2009 -0700
+
+ cma: cannot reuse the cm_id and qp for new connection, must reallocate a new one.
+
+ When merging common code base the dapls_ib_reinit_ep mistakely
+ modified QP to reset then init for all providers. Will
+ not work for rdma_cm (cma provider) since the cm_id cannot
+ be reused. Add build check for _OPENIB_CMA_ to pull in correct
+ free and reallocate method for reinit_ep.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 7b07435495de0938e59be064fe8642cfd739f1ac
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Oct 2 13:50:12 2009 -0700
+
+ scm, cma: update DAPL cm protocol revision with latest address/port changes
+
+ CM protocol changed, roll revision to 6.
+ The socket cm could be competing with address space if
+ application is using sockets above to exchange information
+ like dapltest, and MPI consumers. Adjust port on listen
+ and connect to reduce the chance of port collision with
+ application above.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 9cc1e76b672f7ff1231b4d113bd4dd1a016d1410
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Oct 2 12:47:37 2009 -0700
+
+ ucm: modify IB address format to align better with sockaddr_in6
+
+ Restructure the dcm_addr union to map the IB side
+ closer to sockaddr6 and initialize family to
+ AF_INET6 to insure callee allocates enough memory
+ for ucm dat_ia_address type. Put qpn in flowinfo
+ and gid in sin6_addr. Change the test suites
+ to print address information based on AF_INET
+ or AF_INET6 instead of using specific IB address
+ union from the provider.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit f50dbe6e82bd471845adf27829b2e07234a0a86a
+Author: Sean Hefty <sean.hefty at intel.com>
+Date: Wed Sep 30 14:29:03 2009 -0700
+
+ Add definition for getpid similar to that used by the other dtest apps.
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit 51147412fad72c00115b595955760e80ff0be7d5
+Author: Sean Hefty <sean.hefty at intel.com>
+Date: Wed Sep 30 14:28:57 2009 -0700
+
+ WinOF provides a common implementation of gettimeofday that should
+ be used instead.
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit 732fc84cee036126282715ea157bdb619fc11ec7
+Author: Sean Hefty <sean.hefty at intel.com>
+Date: Wed Sep 30 14:27:50 2009 -0700
+
+ The completion manager was updated to provide an abstraction that
+ better mimicked how fd's were used. Update dapl to use this
+ abstraction, rather than the older completion manager api.
+
+ This helps minimize changes between linux and windows.
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit fc1855b7738838d3865389405f017b87d223f743
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Sep 30 14:26:47 2009 -0700
+
+ dtestcm: remove IB verb definitions
+
+ Remove gid and qp_type references from test app.
+ Print address infomation in sockaddr and
+ ucm provider format with qpn and lid.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 36a885d4267be7b3c6c1086372d321121ae03dee
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Sep 30 10:44:14 2009 -0700
+
+ dtest, dtestx: remove IB verb definitions
+
+ remove gid and qp_type checking from test suite.
+ Print address infomation in sockaddr and
+ ucm provider format with qpn and lid.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 23445bbbd3a09f7f5e666a000d5c7c3b22dd95b3
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Sep 28 10:59:36 2009 -0700
+
+ scm: tighten up socket options to insure similiar behavior on Windows and Linux.
+
+ Add IPPROTO_TCP to create socket. Specify device IP address
+ when binding instead of INADDR_ANY and remove setsocketopt
+ REUSEADDR on the listen socket to avoid any issues with
+ portability. Don't want duplicate port bindings.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit b31b64d60abe7c6c1a83484db97176d225076b30
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Sep 28 10:46:26 2009 -0700
+
+ cma: improve serialization of destroy and event processing
+
+ WinOF testing with slightly different scheduler and verbs
+ showed some issues with cleanup. Add better protection around
+ destroy and event processing thread.
+
+ Remove destroy flag and add refs counting to conn objects
+ to block destroy until all references are cleared. Add
+ locking aroung ref counting and passive and active
+ event processing.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit a4adf463695ba75beaa1fe79d514346bf5fe2cb5
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Sep 28 10:42:52 2009 -0700
+
+ scm: improve serialization of destroy and state changes
+
+ WinOF testing with slightly different scheduler and verbs
+ showed some issues with cleanup. Add better protection around
+ destroy and move state change before socket send to insure
+ correct state in multi-thread environment targeting the same
+ device on send and recv.
+
+ Change DCM_RTU_PENDING to DCM_REP_PENDING and
+ and add static definition to local routines for better
+ readability.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 29358ccc587db55fe5f5a1b14eed9e0e31f5f02c
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Sep 17 08:56:06 2009 -0700
+
+ common: no cleanup/release code for timer thread
+
+ dapl_set_timer() creates a thread to process timers for dat_ep_connect
+ but provides no mechanism to destroy/exit during dapl library unload.
+ Timers are initialized in library init code and should be released
+ in the fini code. Add a dapl_timer_release call to the dapl_fini
+ function to check state of timer thread and destroy before exiting.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit e287ce12f5b0108ef83186aae305f25af8cdd02c
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Sep 17 08:53:29 2009 -0700
+
+ scm, cma: dapli_thread doesn't always get teminated on library close.
+
+ DAPL doesn't actually wait for the async processing thread to exit before
+ allowing the library to close. It will wait up to 10 seconds, which under
+ heavy load isn't enough time. Since the thread is created by an application
+ level thread, it will continue to run as long as the application runs. But
+ if the application closes the library, then all library data and code is
+ invalid, which can result in the thread running something that's not
+ library code and accessing freed memory.
+
+ With this change, I was able to run mpi ping-pong, 16 ranks on a single
+ system (scm provider) without crashes 1300 times.
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit 5bffe521c6ad7a5ce10457a5d7b25814522a0cde
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Sep 9 13:10:35 2009 -0700
+
+ ucm: tighten up locking with CM processing, state changes
+
+ tighten up locking on CM processing and state changes
+ and reduce the send completion threshold to 50 from 100
+ to replenish the request message faster.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit e38daa8448bc3b73c53e54ffc9ac47b9cfc2af89
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Sep 9 09:44:03 2009 -0700
+
+ ucm: For UD type QP's, return CR p_data with CONN_EST event on passive side.
+
+ Intel MPI uses the p_data provided with CONN_EST as a reference to the
+ UD pair and remote rank. The ucm provider was overwriting the CR p_data
+ with the ACCEPT p_data. Change to save CR p_data but also provide
+ storage for user provided ACCEPT p_data in case the REPLY is lost
+ and needs retransmitted.
+
+ p_data size was provided to event processing in network order
+ instead of host order.
+
+ For new QP's create new address handles and do not use
+ existing AH's created for the CM. Different PD's are
+ associated with each.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 0bc6a0954bc1a1a61e1b1cbc5c280f69ed168453
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Sep 8 09:14:46 2009 -0700
+
+ ucm: cleanup extra cr/lf
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 6e7df65a884b4e068135e64dcb3ec660f4c7ab14
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Sep 8 09:11:37 2009 -0700
+
+ ucm: fix issues with UD QP's.
+
+ private data size not in host order when processing
+ connection events.
+
+ ud extentions event should include original ia_addr
+ and qpn used during connection and not the IB qpn.
+
+ ucm QP service resource cleanup in wrong order.
+
+ cleanup extra cr/lf device.c
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit e7c3090945c13f80abb929643fc975465afeeb53
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Sep 3 10:45:56 2009 -0700
+
+ winof: Convert windows version of dapl and dat libaries to use private heaps.
+
+ This allows for better support of memory registration caching by upper
+ level libaries (MPI) that use SecureMemoryCacheCallback.
+
+ It also makes it easier to debug heap corruption issues.
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit bc3c8a34558880c8d09a03e3eb7c3f50d7762c67
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Sep 2 14:01:51 2009 -0700
+
+ dtest, dtestx: modifications for UD QP testing with ucm provider.
+
+ remote_addr is wrong for IP remote address.
+
+ The dtestx requires the server connect back to the client
+ for the UD test. With the ucm provider you need to provide
+ the QPN and the LID which you cannot get until the dtest
+ client starts. So, for now, don't support UD testing
+ on UCM providers.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit e4555143ca71ebe18d8c9f027e2e7a5282088a30
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Sep 2 13:54:59 2009 -0700
+
+ scm, ucm: UD QP support was broken when porting to common openib code base.
+
+ create remote_ah was moved out of modify_qp_state function but not
+ included in the RTU and ACCEPT code for UD QP's. qp type check
+ should be on daddr not saddr in ucm cm code.
+
+ QP number must be converted to host order before supplying remote_ah,
+ and qp number to consumer.
+
+ Modify QP state to RTR for UD QP mask setting incorrect.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 375d368494bb2f9bb44c82073abc60e01ac28615
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Sep 1 13:02:24 2009 -0700
+
+ cma: cleanup warning with unused local variable, ret, in disconnect
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 72d1c0c984919809ecd94b2e4ede31ec56668518
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Sep 1 12:36:31 2009 -0700
+
+ cma: remove debug message after rdma_disconnect failure
+
+ DAPL automatically calls rdma_disconnect() when a disconnect request is
+ received. If the user also calls disconnect, that calls rdma_disconnect() as
+ well, but the connection has already been disconnected by DAPL and is no longer
+ valid. The result is that the user's call to rdma_disconnect() will fail. Do
+ not display an error message if this occurs.
+
+ Locking could be added to prevent calling rdma_disconnect() multiple times, but
+ since the librdmacm provides synchronization to trap this, we might as well take
+ advantage of it.
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit 290c568030da6df398a4afb932b5d4f9bd585c26
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Sep 1 12:27:43 2009 -0700
+
+ scm: socket errno check needs O/S dependent wrapper
+
+ Intel MPI checks the uDAPL error code when calling dat_psp_create() to see if
+ the port number that it provides is in use or not. Convert winsock error codes
+ to unix errno values.
+
+ This fixes the following error reported by Intel MPI:
+ 'DAPL provider is not found and fallback device is not enabled'
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit 03b6d1b58ae03058a509c54ffe27147cc44d1851
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Sep 1 12:13:16 2009 -0700
+
+ dapltest: update script files for WinOF
+
+ Cleanup 64-bit paths now that WinOF is always installed into '\Program Files\WinOF'.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit e38585be89e9fa8f139002a3fe1a82eb86438f93
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Sep 1 12:10:21 2009 -0700
+
+ cma: conditional check for new rdma_cm definition.
+
+ RDMA_CM_EVENT_TIMEWAIT_EXIT is new to OFED 1.4
+ add conditional check so dapl can build and run
+ against older OFED 1.3 stacks
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 83af586b77aa905b63de6dd6010cd60e91487a9e
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Aug 20 09:13:43 2009 -0700
+
+ Release 2.0.22
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 48bc0dc95093ccbfe5e01cef4877c128e2caaf77
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Aug 20 09:12:47 2009 -0700
+
+ dapltest: add mdep processor yield and use with dapltest
+
+ Be thread scheduler friendly and release the current thread thus allowing other threads to run.
+
+ Signed off by Stan Smith stan.smith at intel.com
+
+commit e13f255a06b9d2a2ed4eec9a62f9fe105d0c26d7
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Aug 18 10:15:15 2009 -0700
+
+ ucm: Add new provider using a DAPL based IB-UD cm mechanism for MPI implementations.
+
+ New provider uses it's own CM protocol on top of IB-UD queue pairs.
+ During device open, this provider creates a UD queue pair and
+ returns local address information via dat_ia_query. This 24 byte
+ opaque address must be exchange out-of-band before connecting to a
+ server via dat_ep_connect. This provider is targeted for MPI
+ implementations that already exchange address information
+ during mpi_init phase.
+
+ Future release may provide some ARP mechanism via multicast.
+
+ dtest, dtestx, and dtestcm was modified to report the lid and qpn
+ information on the server side so you can provide appropriate
+ destination address information for the client test suite.
+
+ dapltest will not work with this provider.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 38d224dd95896c7e60f0bc0ffa52b26ab78f489b
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Aug 4 20:54:12 2009 -0700
+
+ Release 2.0.21
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit ed4999a26043c9c3c73c792b21d24ced1df1553c
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Aug 4 20:49:09 2009 -0700
+
+ scm: Fix disconnect. QP's need to move to ERROR state in
+ order to flush work requests and notify consumer. Moving to
+ RESET removed all requests but did not notify consumer.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 512f1d7a480f06a1fa491d21870e560ad111c4d0
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Aug 4 20:48:03 2009 -0700
+
+ modify dtest.c to cleanup CNO wait code and consolidate into
+ collect_event() call. After waking up from CNO wait the
+ consumer must check all EVD's. The EVD's under the CNO
+ could be dropped if already triggered or could come in any order.
+ DT_RetToString changed to DT_RetToStr and DT_EventToSTr
+ changed to DT_EventToStr for consistency.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 024e36975d37a1556bf68145e1573f637d269bfc
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Aug 4 20:47:17 2009 -0700
+
+ CNO events, once triggered will not be returned during the cno wait.
+ Check for triggered state before going to sleep in cno_wait. Reset
+ triggered EVD reference after reporting.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 6d6c72a49158d10825929111d6b4df1c6d2bb589
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Sun Aug 2 14:21:09 2009 -0700
+
+ CNO support broken in both CMA and SCM providers.
+
+ CQ thread/callback mechanism was removed by mistake. Still
+ need indirect DTO callbacks when CNO is attached to EVD's.
+
+ Add CQ event channel to cma provider's thread and add
+ to select for rdma_cm and async channels.
+
+ For scm provider there is not easy way to add this channel
+ to the select across sockets on windows. So, for portablity
+ reasons 2 thread is started to process the ASYNC and
+ CQ channels for events.
+
+ Must disable EVD (evd_endabled=FALSE) during destroy
+ to prevent EVD events firing for CNOs and re-arming CQ while
+ CQ is being destroyed.
+
+ Change dtest to check EVD after CNO timesout.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 6fe8bd1d8f44777211e816b72e0b2a6d22900207
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Jul 30 08:02:30 2009 -0700
+
+ common osd: include winsock2.h for IPv6 definitions.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit bd26383900d18962aeeff54fa59922009091ecfc
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Jul 29 08:02:15 2009 -0700
+
+ common osd: include w2tcpip.h for sockaddr_in6 definitions.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit f25544f14554200a6714accef5f761b0269b5819
+Author: Sean Hefty <sean.hefty at intel.com>
+Date: Mon Jul 27 15:07:33 2009 -0700
+
+ DAPL introduced the concept of directly waiting on the CQ for
+ events by adding a compile time flag and special handling in the common
+ code. Rather than using the compile time flag and modifying the
+ common code, let the provider implement the best way to wait for
+ CQ events.
+
+ This simplifies the code and allows the common openib providers to
+ optimize for Linux and Windows platforms independently, rather than
+ assuming a specific implementation for signaling events.
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit 1548405a377d2bd17938df69419e9bcf3364d91a
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Jul 16 12:41:22 2009 -0700
+
+ dapltest: Implement a malloc() threshold for the completion reaping.
+
+ change byte vector allocation to stack in functions:
+ DT_handle_send_op, DT_handle_rdma_op & DT_handle_recv_op.
+
+ When allocation size is under the threshold, use a stack local
+ allocation instead of malloc/free. Move redundant bzero() to
+ be called only in the case of using local stack allocation as
+ DT_Mdep_malloc() already does a bzero(). Consolidate error handling
+ return and free()check to a single point by using goto.
+
+ Signed-off-by: Stan Smith <stan.smith at intel.com>
+
+commit f6311ca7295230bf9efbcddc639fa8e1065b1f3d
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Jul 16 12:32:09 2009 -0700
+
+ scm: handle connected state when freeing CM objects
+
+ The QP could be freed before being disconnected
+ so the provider needs process disconnect before freeing
+ the CM object. The disconnect clean will finish
+ the destroy process during the disc callback.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 4387359106ce398b29847982883016f7fd48b372
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Jul 8 12:49:43 2009 -0700
+
+ scm, dtest: changes for winof gettimeofday and FD_SETSIZE settings.
+
+ scm changes to set FD_SETSIZE with expected value and
+ prevent windows override.
+
+ dtest: remove gettimeofday implementation for windows
+ specific implemenation etc\user\gtod.c
+
+ general EOL cleanup
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 3542a83d8a31f5ac68adf3aa44e3ebf1265068df
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Jul 6 09:24:07 2009 -0700
+
+ scm: set TCP_NODELAY sockopt on the server side for sends.
+
+ scm provider sends small messages from both server and client
+ sides. Set NODELAY on both sides to avoid send delays either
+ way.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 9d591180392856935b9c3befbab2243dd8daf628
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Jul 2 14:16:52 2009 -0700
+
+ windows: remove obsolete files in dapl/udapl source tree
+
+ SOURCES,makefile,udapl.r,udapl_exports.src,udapl_sources.c
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 85c238ee0a41dd0a4a24b3d422f34674b0183161
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Jul 2 14:11:20 2009 -0700
+
+ dtestcm: add UD type QP option to test
+
+ Add -u for UD type QP's during connection setup.
+ Will setup UD QPs and provide remote AH
+ in connect establishment event. Measures
+ setup/exchange rates.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 89a2211526e37b1db58fc0ea663b330bc19125c8
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Jul 2 14:07:36 2009 -0700
+
+ scm: destroy QP called before disconnect
+
+ Handle the case where QP is destroyed before
+ disconnect processing. Windows supports
+ reinit_qp during a disconnect call by
+ destroying the QP and recreating the
+ QO instead of state change from reset
+ to init. Call disconnect in destroy
+ CM code to handle this unexpected state.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 6eb35b7d69a896c256b1031337d3353575cd07b4
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Jul 2 14:03:12 2009 -0700
+
+ cma: add support for rdma_cm TIME_WAIT event.
+
+ Nothing to process, simply ack the event.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit b6c56b3052ecd3e36c32092ee62ff0c724da5ad4
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Jul 1 07:58:32 2009 -0700
+
+ scm: remove old udapl_scm code replaced by openib_scm.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 5bbae42a56e1cca678d590ac4c841dd61e839d74
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Jul 1 07:53:18 2009 -0700
+
+ winof: fix build issues after consolidating cma, scm code base.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 6bd1d931c4d0d4cbafac383f225140120aee4c51
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Jul 1 07:51:59 2009 -0700
+
+ cma: lock held when exiting as a result of a rdma_create_event_channel failure.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit b8a14ff1cc257defa2f74373d143600f5f471823
+Author: Sean Hefty <sean.hefty at intel.com>
+Date: Mon Jun 29 12:34:54 2009 -0700
+
+ windows: all dlist functions have been moved to the header file.
+ remove references to dlist.c
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit 1a081a0a467e4773a641e8edc876a7a4d7a30ca8
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Jun 29 12:13:48 2009 -0700
+
+ dtestcm windows: add build infrastructure for new dtestcm test suite
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit c37d7a25dca97011ea76e2a541f936d10ca658e0
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon Jun 29 08:57:46 2009 -0700
+
+ openib_common: reorganize provider code base to share common mem, cq, qp, dto functions
+
+ add new openib_common directory with cq, qp, util, dto, mem function calls
+ and definitions. This basically leaves the unique CM and Device definitions
+ and functions to the individual providers directory of openib_scm and openib_cma.
+
+ modifications to dapl_cr_accept required. ep->cm_handle is allocated
+ and managed entirely in provider so dapl common code should not update
+ ep_handle->cm_handle from the cr->cm_handle automatically. The provider
+ should determine which cm_handle is required for the accept.
+
+ openib_cma defines _OPENIB_CMA_ and openib_scm defines _OPENIB_SCM_ for provider
+ specific build needs in common code.
+
+commit 961a4083ffb646c070137abd33e9ba2ea9482685
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Jun 26 14:45:34 2009 -0700
+
+ scm: fixes and optimizations for connection scaling
+
+ Prioritize accepts on listen ports via FD_READ
+ process the accepts ahead of other work to avoid
+ socket half_connection (SYN_RECV) stalls.
+
+ Fix dapl_poll to return DAPL_FD_ERROR on
+ all event error types.
+
+ Add new state for socket released, but CR
+ not yet destroyed. This enables scm to release
+ the socket resources immediately after exchanging
+ all QP information. Also, add state to str call.
+
+ Only add the CR reference to the EP if it is
+ RC type. UD has multiple CR's per EP so when
+ a UD EP disconnect_clean was called, from a
+ timeout, it destroyed the wrong CR.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit a60a9e1fce5588cb23f41391b48acf04edd82499
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Jun 26 14:31:19 2009 -0700
+
+ scm: double the default fd_set_size
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 17d5e1692db4ae1eb09aa919d5607f22851d7ec5
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Jun 26 14:28:30 2009 -0700
+
+ scm: EP reference in CR should be cleared during ep_destroy
+
+ The EP reference in the CR should be set to null
+ during the EP free call to insure no further
+ reference back to a mem freed EP.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit ebb820364cec9d72285c005a0874e7d459a9ff7d
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Jun 26 14:23:35 2009 -0700
+
+ dtestx: fix conn establishment event checking
+
+ not catching error cases on client side
+ when checking for event number and UD type
+ && should have been ||
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 747b793898042e3011fbad4b2d1285d2c040cb13
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Jun 26 14:18:37 2009 -0700
+
+ dtestcm: new test to measure dapl connection rates.
+
+ new test suite added to measure connection
+ rates of providers. Used to compare cma, scm,
+ and other providers under development.
+
+ dtestcm USAGE
+
+ s: server
+ c: connections (default = 1000)
+ b: burst rate of conn_reqs (default = 100)
+ m: multi-listens (set to burst setting )
+ v: verbose
+ w: wait on event (default, polling)
+ d: delay before accept
+ h: hostname/address of server, specified on client
+ P: provider name (default = OpenIB-v2-ib0)
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit d58fbc3a870a060ead882e1d15c6d245cdf39096
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Jun 19 20:59:16 2009 -0700
+
+ Release 2.0.20
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit beebe0066b47d7bf476925ff280bad2a3db38324
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri Jun 19 20:52:51 2009 -0700
+
+ common,scm: add debug capabilities to print in-process CM lists
+
+ Add a new debug bit DAPL_DBG_TYPE_CM_LIST.
+ If set, the pending CM requests will be
+ dumped when dat_print_counters is called.
+ Only provided when built with -DDAPL_COUNTERS
+
+ Add new dapl_cm_state_str() call for state
+ to string conversion for debug prints.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit b1c51f1e68993d9306e3ebd48bd3a1f0e9878fa3
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Tue Jun 16 09:22:31 2009 -0700
+
+ scm: disconnect EP before cleaning up orphaned CR's during dat_ep_free
+
+ There is the possibility of dat_ep_free being called
+ with RC CR's still in connected state. Call disconnect
+ on the CR before marking for destroy.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 531d223455a88c885d6c5f7b1d7e158c1079fbce
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Jun 10 12:05:17 2009 -0700
+
+ dapltest: windows scripts updated
+
+ Support added for provider specification and general simplification of internal workings.
+
+ Signed-off-by: Stan Smith <stan.smith at intel.com>
+
+commit 049d1ea08643d4c4eff761741641d37bb3f01fc1
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Jun 10 09:18:09 2009 -0700
+
+ scm: private data is not handled properly via CR rejects.
+
+ For both RC and UD connect requests, the private
+ data is not being received on socket and passed
+ back via the active side REJECT event.
+
+ UD requires new extended reject event type of
+ DAT_IB_UD_CONNECTION_REJECT_EVENT to distiquish
+ between RC and UD type rejects.
+
+ cr_thread exit/cleanup processing fixed to insure
+ all items are off the list before exiting.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 3c26870e276a934e2009090e0fca8bdc36c1be67
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Jun 10 09:09:56 2009 -0700
+
+ scm: cleanup orphaned UD CR's when destroying the EP
+
+ UD CR objects are kept active because of direct private data references
+ from CONN events. The cr->socket is closed and marked inactive but the
+ object remains allocated and queued on the CR resource list. There can
+ be multiple CR's associated with a given EP and there is no way to
+ determine when consumer is finished with event until the dat_ep_free.
+ Schedule destruction for all CR's associated with this EP during
+ free call. cr_thread will complete cleanup with state of SCM_DESTROY.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 73abd3f58fa7b14241fad98912ef27c7b4fdb47e
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Jun 10 09:05:32 2009 -0700
+
+ scm: provider specific query for default UD MTU is wrong.
+
+ Change the provider specific query DAT_IB_TRANSPORT_MTU
+ to report 2048 for new default MTU size.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 27c0d7edc4c931b808a7c5a24bd5aa2625b48aa1
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Jun 10 10:06:59 2009 -0700
+
+ scm: update CM code to shutdown before closing socket
+
+ data could be lost without calling shutdown on the socket
+ before closing. Update to shutdown and then close. Add
+ definition for SHUT_RW to SD_BOTH for windows.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+ ---
+
+commit 536ec3103c15c1fed4367326c9117660345e0eab
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Jun 4 13:48:18 2009 -0700
+
+ dapltest: windows script dt-cli.bat updated
+
+ scn should be scm
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit e8991b8f0877b0e2e857717e1140c679e9266abe
+Author: Sean Hefty <sean.hefty at intel.com>
+Date: Thu Jun 4 08:19:12 2009 -0700
+
+ dapl/windows cma provider: add support for network devices based on index
+
+ The linux cma provider provides support for named network devices, such
+ as 'ib0' or 'eth0'. This allows the same dapl configuration file to
+ be used easily across a cluster.
+
+ To allow similar support on Windows, allow users to specify the device
+ name 'rdma_devN' in the dapl.conf file. The given index, N, is map to a
+ corresponding IP address that is associated with an RDMA device.
+
+ Signed-off-by: Sean Hefty <sean.hefty at intel.com>
+
+commit 79fa3e7d241f740bc886dd075f24fcbc611306de
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu Jun 4 08:00:29 2009 -0700
+
+ openib: remove 1st gen provider, replaced with openib_cma and openib_scm
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 624039247cdc0db7aa040dfbb4dced00f2cf9006
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri May 29 08:21:10 2009 -0700
+
+ dapltest: update windows script files
+
+ Enhancement to take DAPL provider name as cmd-line arguement.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit b93baa07b7bbaeb7a55fa817c354d0c94783d61f
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Thu May 28 15:30:05 2009 -0700
+
+ dapltest: update windows batch files in sripts directory
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 2f185c6b5e464c4fc9e84ad3e90cc2b86aebf9aa
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon May 18 14:00:02 2009 -0700
+
+ windows_osd/linux_osd: new dapl_os_gettid macro to return thread id
+
+ Change dapl_os_getpid inline to macro on windows and add dapl_os_gettid
+ macros on linux and windows to return thread id.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 984303824cd0c3e248a789066cf665ced8e1ae5b
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon May 18 13:53:59 2009 -0700
+
+ windows: missing build files for common and udapl sub-directories
+
+ Add dapl/dapl_common_src.c and dapl/dapl_udapl_src.c
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 3be4ccf9681a975e74a5aa05e3f7912477f342a7
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon May 18 09:06:19 2009 -0700
+
+ windows: add build files for openib_scm, remove /Wp64 build option.
+
+ Add build files for windows socket cm and change build
+ option on windows providers. The new Win7 WDK issues a
+ depreciated compiler option warning for /Wp64
+ (Enable 64-bit porting warnings)
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 163112cfeb6e409886b3cb7f85da7ce003300d5c
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Mon May 18 08:50:35 2009 -0700
+
+ scm: multi-hca CM processing broken. Need cr thread wakeup mechanism per HCA.
+
+ Currently there is only one pipe across all
+ device opens. This results in some posted CR work
+ getting delayed or not processed at all. Provide
+ pipe for each device open and cr thread created
+ and manage on a per device level.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit e6e799f623df6ef136ffc5388251d3f3a38c8a91
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri May 15 11:06:19 2009 -0700
+
+ dtest: add connection timers on client side
+
+ Add timers for active connections and print
+ results. Allow polling or wait on conn event.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit d656bbf619123deaed6e8985e52207e5415f359f
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri May 15 09:48:38 2009 -0700
+
+ linux_osd: use pthread_self instead of getpid for debug messages
+
+ getpid provides process ids which are not unique. Use unique thread
+ id's in debug messages to help isolate issues across many device
+ opens with multiple CM threads.
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 92bb0d2933d3d1546e18f0479475f3daf5b92052
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Fri May 1 10:18:05 2009 -0700
+
+ windows ibal-scm: dapl/dirs file needs updated to remove ibal-scm
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
+commit 9c37d9d667fb7e8f21841bbec4a84b2c652fffe1
+Author: Arlin Davis <arlin.r.davis at intel.com>
+Date: Wed Apr 29 23:13:36 2009 -0700
+
+ Release 2.0.19
+
+ Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
+
commit 0ef94459e0a0175233b43b3fcbaaac2596e1042d
Author: Arlin Davis <arlin.r.davis at intel.com>
Date: Wed Apr 29 14:33:28 2009 -0700
@@ -1820,7 +5472,7 @@ Date: Tue Dec 4 13:19:27 2007 -0800
Signed-off by: Arlin Davis <ardavis at ichips.intel.com>
commit 9bc97e65c1240224d7dc9d6ac9a48e7aed199ee6
-Merge: 11a165a... abb4356...
+Merge: 11a165a abb4356
Author: Arlin Davis <arlin.r.davis at intel.com>
Date: Tue Nov 27 13:31:32 2007 -0800
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..b69ef80
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,235 @@
+Common Public License 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF
+THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+ a) in the case of the initial Contributor, the initial code and
+ documentation distributed under this Agreement, and
+
+ b) in the case of each subsequent Contributor:
+
+ i) changes to the Program, and
+
+ ii) additions to the Program;
+
+ where such changes and/or additions to the Program originate from
+ and are distributed by that particular Contributor. A Contribution
+ 'originates' from a Contributor if it was added to the Program by
+ such Contributor itself or anyone acting on such Contributor's
+ behalf. Contributions do not include additions to the Program
+ which: (i) are separate modules of software distributed in
+ conjunction with the Program under their own license agreement, and
+ (ii) are not derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor
+which are necessarily infringed by the use or sale of its Contribution
+alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this
+Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement,
+including all Contributors.
+
+2. GRANT OF RIGHTS
+
+ a) Subject to the terms of this Agreement, each Contributor hereby
+ grants Recipient a non-exclusive, worldwide, royalty-free copyright
+ license to reproduce, prepare derivative works of, publicly
+ display, publicly perform, distribute and sublicense the
+ Contribution of such Contributor, if any, and such derivative
+ works, in source code and object code form.
+
+ b) Subject to the terms of this Agreement, each Contributor hereby
+ grants Recipient a non-exclusive, worldwide, royalty-free patent
+ license under Licensed Patents to make, use, sell, offer to sell,
+ import and otherwise transfer the Contribution of such Contributor,
+ if any, in source code and object code form. This patent license
+ shall apply to the combination of the Contribution and the Program
+ if, at the time the Contribution is added by the Contributor, such
+ addition of the Contribution causes such combination to be covered
+ by the Licensed Patents. The patent license shall not apply to any
+ other combinations which include the Contribution. No hardware per
+ se is licensed hereunder.
+
+ c) Recipient understands that although each Contributor grants the
+ licenses to its Contributions set forth herein, no assurances are
+ provided by any Contributor that the Program does not infringe the
+ patent or other intellectual property rights of any other
+ entity. Each Contributor disclaims any liability to Recipient for
+ claims brought by any other entity based on infringement of
+ intellectual property rights or otherwise. As a condition to
+ exercising the rights and licenses granted hereunder, each
+ Recipient hereby assumes sole responsibility to secure any other
+ intellectual property rights needed, if any. For example, if a
+ third party patent license is required to allow Recipient to
+ distribute the Program, it is Recipient's responsibility to acquire
+ that license before distributing the Program.
+
+ d) Each Contributor represents that to its knowledge it has
+ sufficient copyright rights in its Contribution, if any, to grant
+ the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form
+under its own license agreement, provided that:
+
+ a) it complies with the terms and conditions of this Agreement; and
+
+ b) its license agreement:
+
+ i) effectively disclaims on behalf of all Contributors all
+ warranties and conditions, express and implied, including
+ warranties or conditions of title and non-infringement, and implied
+ warranties or conditions of merchantability and fitness for a
+ particular purpose;
+
+ ii) effectively excludes on behalf of all Contributors all
+ liability for damages, including direct, indirect, special,
+ incidental and consequential damages, such as lost profits;
+
+ iii) states that any provisions which differ from this Agreement
+ are offered by that Contributor alone and not by any other party;
+ and
+
+ iv) states that source code for the Program is available from such
+ Contributor, and informs licensees how to obtain it in a reasonable
+ manner on or through a medium customarily used for software
+ exchange.
+
+When the Program is made available in source code form:
+
+ a) it must be made available under this Agreement; and
+
+ b) a copy of this Agreement must be included with each copy of the
+ Program.
+
+Contributors may not remove or alter any copyright notices contained
+within the Program.
+
+Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities
+with respect to end users, business partners and the like. While this
+license is intended to facilitate the commercial use of the Program, the
+Contributor who includes the Program in a commercial product offering
+should do so in a manner which does not create potential liability for
+other Contributors. Therefore, if a Contributor includes the Program in
+a commercial product offering, such Contributor ("Commercial
+Contributor") hereby agrees to defend and indemnify every other
+Contributor ("Indemnified Contributor") against any losses, damages and
+costs (collectively "Losses") arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified
+Contributor to the extent caused by the acts or omissions of such
+Commercial Contributor in connection with its distribution of the
+Program in a commercial product offering. The obligations in this
+section do not apply to any claims or Losses relating to any actual or
+alleged intellectual property infringement. In order to qualify, an
+Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial
+Contributor to control, and cooperate with the Commercial Contributor
+in, the defense and any related settlement negotiations. The Indemnified
+Contributor may participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
+WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR
+FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible
+for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights
+under this Agreement, including but not limited to the risks and costs
+of program errors, compliance with applicable laws, damage to or loss
+of data, programs or equipment, and unavailability or interruption of
+operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
+ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further
+action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against a Contributor with
+respect to a patent applicable to software (including a cross-claim or
+counterclaim in a lawsuit), then any patent licenses granted by that
+Contributor to such Recipient under this Agreement shall terminate as
+of the date such litigation is filed. In addition, if Recipient
+institutes patent litigation against any entity (including a cross-
+claim or counterclaim in a lawsuit) alleging that the Program itself
+(excluding combinations of the Program with other software or hardware)
+infringes such Recipient's patent(s), then such Recipient's rights
+granted under Section 2(b) shall terminate as of the date such
+litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails
+to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted
+by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement,
+but in order to avoid inconsistency the Agreement is copyrighted and
+may only be modified in the following manner. The Agreement Steward
+reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement
+Steward has the right to modify this Agreement. IBM is the initial
+Agreement Steward. IBM may assign the responsibility to serve as the
+Agreement Steward to a suitable separate entity. Each new version of
+the Agreement will be given a distinguishing version number. The
+Program (including Contributions) may always be distributed subject to
+the version of the Agreement under which it was received. In addition,
+after a new version of the Agreement is published, Contributor may
+elect to distribute the Program (including its Contributions) under the
+new version. Except as expressly stated in Sections 2(a) and 2(b)
+above, Recipient receives no rights or licenses to the intellectual
+property of any Contributor under this Agreement, whether expressly, by
+implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the
+intellectual property laws of the United States of America. No party to
+this Agreement will bring a legal action under this Agreement more than
+one year after the cause of action arose. Each party waives its rights
+to a jury trial in any resulting litigation.
+
diff --git a/LICENSE2.txt b/LICENSE2.txt
new file mode 100644
index 0000000..04c1839
--- /dev/null
+++ b/LICENSE2.txt
@@ -0,0 +1,30 @@
+Copyright (c) 2002-2005, Network Appliance, Inc. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+
+ Neither the name of the Network Appliance, Inc. nor the names of
+ its contributors may be used to endorse or promote products
+ derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/LICENSE3.txt b/LICENSE3.txt
new file mode 100644
index 0000000..0ecbca2
--- /dev/null
+++ b/LICENSE3.txt
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+Version 2, June 1991
+
+Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+
+Preamble
+
+The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+The precise terms and conditions for copying, distribution and
+modification follow.
+
+GNU GENERAL PUBLIC LICENSE
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+a) You must cause the modified files to carry prominent notices
+stating that you changed the files and the date of any change.
+
+b) You must cause any work that you distribute or publish, that in
+whole or in part contains or is derived from the Program or any
+part thereof, to be licensed as a whole at no charge to all third
+parties under the terms of this License.
+
+c) If the modified program normally reads commands interactively
+when run, you must cause it, when started running for such
+interactive use in the most ordinary way, to print or display an
+announcement including an appropriate copyright notice and a
+notice that there is no warranty (or else, saying that you provide
+a warranty) and that users may redistribute the program under
+these conditions, and telling the user how to view a copy of this
+License. (Exception: if the Program itself is interactive but
+does not normally print such an announcement, your work based on
+the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+a) Accompany it with the complete corresponding machine-readable
+source code, which must be distributed under the terms of Sections
+1 and 2 above on a medium customarily used for software interchange; or,
+
+b) Accompany it with a written offer, valid for at least three
+years, to give any third party, for a charge no more than your
+cost of physically performing source distribution, a complete
+machine-readable copy of the corresponding source code, to be
+distributed under the terms of Sections 1 and 2 above on a medium
+customarily used for software interchange; or,
+
+c) Accompany it with the information you received as to the offer
+to distribute corresponding source code. (This alternative is
+allowed only for noncommercial distribution and only if you
+received the program in object code or executable form with such
+an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+NO WARRANTY
+
+11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+END OF TERMS AND CONDITIONS
+
+How to Apply These Terms to Your New Programs
+
+If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+<one line to give the program's name and a brief idea of what it does.>
+Copyright (C) <year> <name of author>
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+Gnomovision version 69, Copyright (C) year name of author
+Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+This is free software, and you are welcome to redistribute it
+under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+`Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+<signature of Ty Coon>, 1 April 1989
+Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/Makefile.am b/Makefile.am
index fa47165..47a9d9c 100755
--- a/Makefile.am
+++ b/Makefile.am
@@ -17,12 +17,31 @@ endif
if EXT_TYPE_IB
XFLAGS = -DDAT_EXTENSIONS
-XPROGRAMS_CMA = dapl/openib_cma/dapl_ib_extensions.c
-XPROGRAMS_SCM = dapl/openib_scm/dapl_ib_extensions.c
+XPROGRAMS = dapl/openib_common/ib_extensions.c
+XHEADERS =
+XLIBS =
+if DEFINE_COUNTERS
+XFLAGS += -DDAPL_COUNTERS
+endif
+if COLL_TYPE_FCA
+XFLAGS += -DDAT_IB_COLLECTIVES -DDAT_FCA_PROVIDER
+XPROGRAMS += dapl/openib_common/collectives/fca_provider.c
+XHEADERS += dapl/openib_common/collectives/ib_collectives.h dapl/openib_common/collectives/fca_provider.h
+XLIBS += -lfca
+endif
else
XFLAGS =
-XPROGRAMS_CMA =
-XPROGRAMS_SCM =
+XPROGRAMS =
+XHEADERS =
+XLIBS =
+endif
+
+if DAPL_USE_IBACM
+XLIBS += -lrdmacm
+endif
+
+if DEFINE_ATTR_LINK_LAYER
+XFLAGS += -DDEFINE_ATTR_LINK_LAYER
endif
if DEBUG
@@ -31,41 +50,83 @@ else
AM_CFLAGS = -g -Wall -D_GNU_SOURCE -DDAT_CONF="\"$(sysconfdir)/dat.conf\""
endif
+sysconf_DATA = doc/dat.conf
+
datlibdir = $(libdir)
+if DEFINE_CMA
dapllibofadir = $(libdir)
+endif
+if DEFINE_SCM
daplliboscmdir = $(libdir)
+endif
+if DEFINE_UCM
+daplliboucmdir = $(libdir)
+endif
datlib_LTLIBRARIES = dat/udat/libdat2.la
+if DEFINE_CMA
dapllibofa_LTLIBRARIES = dapl/udapl/libdaplofa.la
+endif
+if DEFINE_SCM
daplliboscm_LTLIBRARIES = dapl/udapl/libdaploscm.la
+endif
+if DEFINE_UCM
+daplliboucm_LTLIBRARIES = dapl/udapl/libdaploucm.la
+endif
dat_udat_libdat2_la_CFLAGS = $(AM_CFLAGS) -D_GNU_SOURCE $(OSFLAGS) $(XFLAGS) \
-I$(srcdir)/dat/include/ -I$(srcdir)/dat/udat/ \
-I$(srcdir)/dat/udat/linux -I$(srcdir)/dat/common/
-
+if DEFINE_CMA
dapl_udapl_libdaplofa_la_CFLAGS = $(AM_CFLAGS) -D_GNU_SOURCE $(OSFLAGS) $(XFLAGS) \
-DOPENIB -DCQ_WAIT_OBJECT \
-I$(srcdir)/dat/include/ -I$(srcdir)/dapl/include/ \
-I$(srcdir)/dapl/common -I$(srcdir)/dapl/udapl/linux \
+ -I$(srcdir)/dapl/openib_common \
-I$(srcdir)/dapl/openib_cma \
-I$(srcdir)/dapl/openib_cma/linux
-
+endif
+if DEFINE_SCM
dapl_udapl_libdaploscm_la_CFLAGS = $(AM_CFLAGS) -D_GNU_SOURCE $(OSFLAGS) $(XFLAGS) \
-DOPENIB -DCQ_WAIT_OBJECT \
-I$(srcdir)/dat/include/ -I$(srcdir)/dapl/include/ \
-I$(srcdir)/dapl/common -I$(srcdir)/dapl/udapl/linux \
+ -I$(srcdir)/dapl/openib_common \
-I$(srcdir)/dapl/openib_scm \
-I$(srcdir)/dapl/openib_scm/linux
-
+endif
+if DEFINE_UCM
+dapl_udapl_libdaploucm_la_CFLAGS = $(AM_CFLAGS) -D_GNU_SOURCE $(OSFLAGS) $(XFLAGS) \
+ -DOPENIB -DCQ_WAIT_OBJECT \
+ -I$(srcdir)/dat/include/ -I$(srcdir)/dapl/include/ \
+ -I$(srcdir)/dapl/common -I$(srcdir)/dapl/udapl/linux \
+ -I$(srcdir)/dapl/openib_common \
+ -I$(srcdir)/dapl/openib_ucm \
+ -I$(srcdir)/dapl/openib_ucm/linux
+endif
if HAVE_LD_VERSION_SCRIPT
dat_version_script = -Wl,--version-script=$(srcdir)/dat/udat/libdat2.map
+if DEFINE_CMA
daplofa_version_script = -Wl,--version-script=$(srcdir)/dapl/udapl/libdaplofa.map
+endif
+if DEFINE_SCM
daploscm_version_script = -Wl,--version-script=$(srcdir)/dapl/udapl/libdaploscm.map
+endif
+if DEFINE_UCM
+ daploucm_version_script = -Wl,--version-script=$(srcdir)/dapl/udapl/libdaploucm.map
+endif
else
dat_version_script =
+if DEFINE_CMA
daplofa_version_script =
+endif
+if DEFINE_SCM
daploscm_version_script =
endif
+if DEFINE_UCM
+ daploucm_version_script =
+endif
+endif
#
# uDAT: libdat2.so
@@ -82,6 +143,7 @@ dat_udat_libdat2_la_SOURCES = dat/udat/udat.c \
dat/common/dat_sr.c
dat_udat_libdat2_la_LDFLAGS = -version-info 2:0:0 $(dat_version_script) -ldl
+if DEFINE_CMA
#
# uDAPL OpenFabrics rdma_cm version: libdaplofa.so
#
@@ -185,18 +247,20 @@ dapl_udapl_libdaplofa_la_SOURCES = dapl/udapl/dapl_init.c \
dapl/common/dapl_csp.c \
dapl/common/dapl_ep_post_send_invalidate.c \
dapl/common/dapl_ep_post_rdma_read_to_rmr.c \
- dapl/openib_cma/dapl_ib_util.c \
- dapl/openib_cma/dapl_ib_cq.c \
- dapl/openib_cma/dapl_ib_qp.c \
- dapl/openib_cma/dapl_ib_cm.c \
- dapl/openib_cma/dapl_ib_mem.c $(XPROGRAMS_CMA)
+ dapl/openib_common/mem.c \
+ dapl/openib_common/cq.c \
+ dapl/openib_common/qp.c \
+ dapl/openib_common/util.c \
+ dapl/openib_cma/cm.c \
+ dapl/openib_cma/device.c $(XPROGRAMS)
dapl_udapl_libdaplofa_la_LDFLAGS = -version-info 2:0:0 $(daplofa_version_script) \
-Wl,-init,dapl_init -Wl,-fini,dapl_fini \
- -lpthread -libverbs -lrdmacm
-
+ -lpthread -libverbs -lrdmacm $(XLIBS)
+endif
+if DEFINE_SCM
#
-# uDAPL OpenFabrics Socket CM version: libdaplscm.so
+# uDAPL OpenFabrics Socket CM version for IB: libdaplscm.so
#
dapl_udapl_libdaploscm_la_SOURCES = dapl/udapl/dapl_init.c \
dapl/udapl/dapl_evd_create.c \
@@ -298,15 +362,132 @@ dapl_udapl_libdaploscm_la_SOURCES = dapl/udapl/dapl_init.c \
dapl/common/dapl_csp.c \
dapl/common/dapl_ep_post_send_invalidate.c \
dapl/common/dapl_ep_post_rdma_read_to_rmr.c \
- dapl/openib_scm/dapl_ib_util.c \
- dapl/openib_scm/dapl_ib_cq.c \
- dapl/openib_scm/dapl_ib_qp.c \
- dapl/openib_scm/dapl_ib_cm.c \
- dapl/openib_scm/dapl_ib_mem.c $(XPROGRAMS_SCM)
+ dapl/openib_common/mem.c \
+ dapl/openib_common/cq.c \
+ dapl/openib_common/qp.c \
+ dapl/openib_common/util.c \
+ dapl/openib_scm/cm.c \
+ dapl/openib_scm/device.c $(XPROGRAMS)
dapl_udapl_libdaploscm_la_LDFLAGS = -version-info 2:0:0 $(daploscm_version_script) \
-Wl,-init,dapl_init -Wl,-fini,dapl_fini \
- -lpthread -libverbs
+ -lpthread -libverbs $(XLIBS)
+endif
+if DEFINE_UCM
+#
+# uDAPL OpenFabrics UD CM version for IB: libdaplucm.so
+#
+dapl_udapl_libdaploucm_la_SOURCES = dapl/udapl/dapl_init.c \
+ dapl/udapl/dapl_evd_create.c \
+ dapl/udapl/dapl_evd_query.c \
+ dapl/udapl/dapl_cno_create.c \
+ dapl/udapl/dapl_cno_modify_agent.c \
+ dapl/udapl/dapl_cno_free.c \
+ dapl/udapl/dapl_cno_wait.c \
+ dapl/udapl/dapl_cno_query.c \
+ dapl/udapl/dapl_lmr_create.c \
+ dapl/udapl/dapl_evd_wait.c \
+ dapl/udapl/dapl_evd_disable.c \
+ dapl/udapl/dapl_evd_enable.c \
+ dapl/udapl/dapl_evd_modify_cno.c \
+ dapl/udapl/dapl_evd_set_unwaitable.c \
+ dapl/udapl/dapl_evd_clear_unwaitable.c \
+ dapl/udapl/linux/dapl_osd.c \
+ dapl/common/dapl_cookie.c \
+ dapl/common/dapl_cr_accept.c \
+ dapl/common/dapl_cr_query.c \
+ dapl/common/dapl_cr_reject.c \
+ dapl/common/dapl_cr_util.c \
+ dapl/common/dapl_cr_callback.c \
+ dapl/common/dapl_cr_handoff.c \
+ dapl/common/dapl_ep_connect.c \
+ dapl/common/dapl_ep_create.c \
+ dapl/common/dapl_ep_disconnect.c \
+ dapl/common/dapl_ep_dup_connect.c \
+ dapl/common/dapl_ep_free.c \
+ dapl/common/dapl_ep_reset.c \
+ dapl/common/dapl_ep_get_status.c \
+ dapl/common/dapl_ep_modify.c \
+ dapl/common/dapl_ep_post_rdma_read.c \
+ dapl/common/dapl_ep_post_rdma_write.c \
+ dapl/common/dapl_ep_post_recv.c \
+ dapl/common/dapl_ep_post_send.c \
+ dapl/common/dapl_ep_query.c \
+ dapl/common/dapl_ep_util.c \
+ dapl/common/dapl_evd_dequeue.c \
+ dapl/common/dapl_evd_free.c \
+ dapl/common/dapl_evd_post_se.c \
+ dapl/common/dapl_evd_resize.c \
+ dapl/common/dapl_evd_util.c \
+ dapl/common/dapl_evd_cq_async_error_callb.c \
+ dapl/common/dapl_evd_qp_async_error_callb.c \
+ dapl/common/dapl_evd_un_async_error_callb.c \
+ dapl/common/dapl_evd_connection_callb.c \
+ dapl/common/dapl_evd_dto_callb.c \
+ dapl/common/dapl_get_consumer_context.c \
+ dapl/common/dapl_get_handle_type.c \
+ dapl/common/dapl_hash.c \
+ dapl/common/dapl_hca_util.c \
+ dapl/common/dapl_ia_close.c \
+ dapl/common/dapl_ia_open.c \
+ dapl/common/dapl_ia_query.c \
+ dapl/common/dapl_ia_util.c \
+ dapl/common/dapl_llist.c \
+ dapl/common/dapl_lmr_free.c \
+ dapl/common/dapl_lmr_query.c \
+ dapl/common/dapl_lmr_util.c \
+ dapl/common/dapl_lmr_sync_rdma_read.c \
+ dapl/common/dapl_lmr_sync_rdma_write.c \
+ dapl/common/dapl_mr_util.c \
+ dapl/common/dapl_provider.c \
+ dapl/common/dapl_sp_util.c \
+ dapl/common/dapl_psp_create.c \
+ dapl/common/dapl_psp_create_any.c \
+ dapl/common/dapl_psp_free.c \
+ dapl/common/dapl_psp_query.c \
+ dapl/common/dapl_pz_create.c \
+ dapl/common/dapl_pz_free.c \
+ dapl/common/dapl_pz_query.c \
+ dapl/common/dapl_pz_util.c \
+ dapl/common/dapl_rmr_create.c \
+ dapl/common/dapl_rmr_free.c \
+ dapl/common/dapl_rmr_bind.c \
+ dapl/common/dapl_rmr_query.c \
+ dapl/common/dapl_rmr_util.c \
+ dapl/common/dapl_rsp_create.c \
+ dapl/common/dapl_rsp_free.c \
+ dapl/common/dapl_rsp_query.c \
+ dapl/common/dapl_cno_util.c \
+ dapl/common/dapl_set_consumer_context.c \
+ dapl/common/dapl_ring_buffer_util.c \
+ dapl/common/dapl_name_service.c \
+ dapl/common/dapl_timer_util.c \
+ dapl/common/dapl_ep_create_with_srq.c \
+ dapl/common/dapl_ep_recv_query.c \
+ dapl/common/dapl_ep_set_watermark.c \
+ dapl/common/dapl_srq_create.c \
+ dapl/common/dapl_srq_free.c \
+ dapl/common/dapl_srq_query.c \
+ dapl/common/dapl_srq_resize.c \
+ dapl/common/dapl_srq_post_recv.c \
+ dapl/common/dapl_srq_set_lw.c \
+ dapl/common/dapl_srq_util.c \
+ dapl/common/dapl_debug.c \
+ dapl/common/dapl_ia_ha.c \
+ dapl/common/dapl_csp.c \
+ dapl/common/dapl_ep_post_send_invalidate.c \
+ dapl/common/dapl_ep_post_rdma_read_to_rmr.c \
+ dapl/openib_common/mem.c \
+ dapl/openib_common/cq.c \
+ dapl/openib_common/qp.c \
+ dapl/openib_common/util.c \
+ dapl/openib_ucm/cm.c \
+ dapl/openib_ucm/device.c $(XPROGRAMS)
+
+dapl_udapl_libdaploucm_la_LDFLAGS = -version-info 2:0:0 $(daploscm_version_script) \
+ -Wl,-init,dapl_init -Wl,-fini,dapl_fini \
+ -lpthread -libverbs $(XLIBS)
+endif
libdatincludedir = $(includedir)/dat2
@@ -365,15 +546,24 @@ EXTRA_DIST = dat/common/dat_dictionary.h \
dapl/include/dapl_debug.h \
dapl/include/dapl_ipoib_names.h \
dapl/include/dapl_vendor.h \
- dapl/openib_cma/dapl_ib_dto.h \
+ dapl/openib_common/dapl_ib_dto.h \
+ dapl/openib_common/dapl_ib_common.h \
+ dapl/openib_common/collectives/ib_collectives.h \
+ dapl/openib_common/collectives/fca_provider.h \
dapl/openib_cma/dapl_ib_util.h \
dapl/openib_cma/linux/openib_osd.h \
- dapl/openib_scm/dapl_ib_dto.h \
dapl/openib_scm/dapl_ib_util.h \
dapl/openib_scm/linux/openib_osd.h \
+ dapl/openib_ucm/dapl_ib_util.h \
+ dapl/openib_ucm/linux/openib_osd.h \
dat/udat/libdat2.map \
dapl/udapl/libdaplofa.map \
dapl/udapl/libdaploscm.map \
+ dapl/udapl/libdaploucm.map \
+ LICENSE.txt \
+ LICENSE2.txt \
+ LICENSE3.txt \
+ doc/dat.conf \
dapl.spec.in \
$(man_MANS) \
test/dapltest/include/dapl_bpool.h \
@@ -407,29 +597,4 @@ EXTRA_DIST = dat/common/dat_dictionary.h \
dist-hook: dapl.spec
cp dapl.spec $(distdir)
-install-exec-hook:
- if ! test -d $(DESTDIR)$(sysconfdir); then \
- mkdir -p $(DESTDIR)$(sysconfdir); \
- fi; \
- if test -e $(DESTDIR)$(sysconfdir)/dat.conf; then \
- sed -e '/ofa-v2-.* u2/d' < $(DESTDIR)$(sysconfdir)/dat.conf > /tmp/$$$$ofadapl; \
- cp /tmp/$$$$ofadapl $(DESTDIR)$(sysconfdir)/dat.conf; \
- fi; \
- echo ofa-v2-ib0 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 '"ib0 0" ""' >> $(DESTDIR)$(sysconfdir)/dat.conf; \
- echo ofa-v2-ib1 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 '"ib1 0" ""' >> $(DESTDIR)$(sysconfdir)/dat.conf; \
- echo ofa-v2-mthca0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"mthca0 1" ""' >> $(DESTDIR)$(sysconfdir)/dat.conf; \
- echo ofa-v2-mthca0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"mthca0 2" ""' >> $(DESTDIR)$(sysconfdir)/dat.conf; \
- echo ofa-v2-mlx4_0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"mlx4_0 1" ""' >> $(DESTDIR)$(sysconfdir)/dat.conf; \
- echo ofa-v2-mlx4_0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"mlx4_0 2" ""' >> $(DESTDIR)$(sysconfdir)/dat.conf; \
- echo ofa-v2-ipath0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"ipath0 1" ""' >> $(DESTDIR)$(sysconfdir)/dat.conf; \
- echo ofa-v2-ipath0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"ipath0 2" ""' >> $(DESTDIR)$(sysconfdir)/dat.conf; \
- echo ofa-v2-ehca0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"ehca0 1" ""' >> $(DESTDIR)$(sysconfdir)/dat.conf; \
- echo ofa-v2-iwarp u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 '"eth2 0" ""' >> $(DESTDIR)$(sysconfdir)/dat.conf;
-
-uninstall-hook:
- if test -e $(DESTDIR)$(sysconfdir)/dat.conf; then \
- sed -e '/ofa-v2-.* u2/d' < $(DESTDIR)$(sysconfdir)/dat.conf > /tmp/$$$$ofadapl; \
- cp /tmp/$$$$ofadapl $(DESTDIR)$(sysconfdir)/dat.conf; \
- fi;
-
SUBDIRS = . test/dtest test/dapltest
diff --git a/Makefile.in b/Makefile.in
index 3f5fe28..8118031 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,10 +18,12 @@
# $Id: $
+
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -40,14 +43,20 @@ host_triplet = @host@
@OS_RHEL4_TRUE at am__append_1 = -DREDHAT_EL4
@OS_RHEL5_TRUE at am__append_2 = -DREDHAT_EL5
@OS_SUSE11_TRUE at am__append_3 = -DSUSE_11
+ at DEFINE_COUNTERS_TRUE@@EXT_TYPE_IB_TRUE at am__append_4 = -DDAPL_COUNTERS
+ at COLL_TYPE_FCA_TRUE@@EXT_TYPE_IB_TRUE at am__append_5 = -DDAT_IB_COLLECTIVES -DDAT_FCA_PROVIDER
+ at COLL_TYPE_FCA_TRUE@@EXT_TYPE_IB_TRUE at am__append_6 = dapl/openib_common/collectives/fca_provider.c
+ at COLL_TYPE_FCA_TRUE@@EXT_TYPE_IB_TRUE at am__append_7 = dapl/openib_common/collectives/ib_collectives.h dapl/openib_common/collectives/fca_provider.h
+ at COLL_TYPE_FCA_TRUE@@EXT_TYPE_IB_TRUE at am__append_8 = -lfca
+ at DAPL_USE_IBACM_TRUE@am__append_9 = -lrdmacm
+ at DEFINE_ATTR_LINK_LAYER_TRUE@am__append_10 = -DDEFINE_ATTR_LINK_LAYER
subdir = .
DIST_COMMON = README $(am__configure_deps) $(libdatinclude_HEADERS) \
$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(srcdir)/config.h.in $(srcdir)/dapl.spec.in \
- $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
- config/compile config/config.guess config/config.sub \
- config/depcomp config/install-sh config/ltmain.sh \
- config/missing
+ $(top_srcdir)/configure AUTHORS COPYING ChangeLog \
+ config/config.guess config/config.sub config/depcomp \
+ config/install-sh config/ltmain.sh config/missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -57,21 +66,35 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = dapl.spec
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__installdirs = "$(DESTDIR)$(dapllibofadir)" \
- "$(DESTDIR)$(daplliboscmdir)" "$(DESTDIR)$(datlibdir)" \
- "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" \
+ "$(DESTDIR)$(daplliboscmdir)" "$(DESTDIR)$(daplliboucmdir)" \
+ "$(DESTDIR)$(datlibdir)" "$(DESTDIR)$(man1dir)" \
+ "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(sysconfdir)" \
"$(DESTDIR)$(libdatincludedir)"
-dapllibofaLTLIBRARIES_INSTALL = $(INSTALL)
-daplliboscmLTLIBRARIES_INSTALL = $(INSTALL)
-datlibLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(dapllibofa_LTLIBRARIES) $(daplliboscm_LTLIBRARIES) \
- $(datlib_LTLIBRARIES)
+ $(daplliboucm_LTLIBRARIES) $(datlib_LTLIBRARIES)
dapl_udapl_libdaplofa_la_LIBADD =
am__dapl_udapl_libdaplofa_la_SOURCES_DIST = dapl/udapl/dapl_init.c \
dapl/udapl/dapl_evd_create.c dapl/udapl/dapl_evd_query.c \
@@ -136,123 +159,131 @@ am__dapl_udapl_libdaplofa_la_SOURCES_DIST = dapl/udapl/dapl_init.c \
dapl/common/dapl_ia_ha.c dapl/common/dapl_csp.c \
dapl/common/dapl_ep_post_send_invalidate.c \
dapl/common/dapl_ep_post_rdma_read_to_rmr.c \
- dapl/openib_cma/dapl_ib_util.c dapl/openib_cma/dapl_ib_cq.c \
- dapl/openib_cma/dapl_ib_qp.c dapl/openib_cma/dapl_ib_cm.c \
- dapl/openib_cma/dapl_ib_mem.c \
- dapl/openib_cma/dapl_ib_extensions.c
- at EXT_TYPE_IB_TRUE@am__objects_1 = dapl_udapl_libdaplofa_la-dapl_ib_extensions.lo
-am_dapl_udapl_libdaplofa_la_OBJECTS = \
- dapl_udapl_libdaplofa_la-dapl_init.lo \
- dapl_udapl_libdaplofa_la-dapl_evd_create.lo \
- dapl_udapl_libdaplofa_la-dapl_evd_query.lo \
- dapl_udapl_libdaplofa_la-dapl_cno_create.lo \
- dapl_udapl_libdaplofa_la-dapl_cno_modify_agent.lo \
- dapl_udapl_libdaplofa_la-dapl_cno_free.lo \
- dapl_udapl_libdaplofa_la-dapl_cno_wait.lo \
- dapl_udapl_libdaplofa_la-dapl_cno_query.lo \
- dapl_udapl_libdaplofa_la-dapl_lmr_create.lo \
- dapl_udapl_libdaplofa_la-dapl_evd_wait.lo \
- dapl_udapl_libdaplofa_la-dapl_evd_disable.lo \
- dapl_udapl_libdaplofa_la-dapl_evd_enable.lo \
- dapl_udapl_libdaplofa_la-dapl_evd_modify_cno.lo \
- dapl_udapl_libdaplofa_la-dapl_evd_set_unwaitable.lo \
- dapl_udapl_libdaplofa_la-dapl_evd_clear_unwaitable.lo \
- dapl_udapl_libdaplofa_la-dapl_osd.lo \
- dapl_udapl_libdaplofa_la-dapl_cookie.lo \
- dapl_udapl_libdaplofa_la-dapl_cr_accept.lo \
- dapl_udapl_libdaplofa_la-dapl_cr_query.lo \
- dapl_udapl_libdaplofa_la-dapl_cr_reject.lo \
- dapl_udapl_libdaplofa_la-dapl_cr_util.lo \
- dapl_udapl_libdaplofa_la-dapl_cr_callback.lo \
- dapl_udapl_libdaplofa_la-dapl_cr_handoff.lo \
- dapl_udapl_libdaplofa_la-dapl_ep_connect.lo \
- dapl_udapl_libdaplofa_la-dapl_ep_create.lo \
- dapl_udapl_libdaplofa_la-dapl_ep_disconnect.lo \
- dapl_udapl_libdaplofa_la-dapl_ep_dup_connect.lo \
- dapl_udapl_libdaplofa_la-dapl_ep_free.lo \
- dapl_udapl_libdaplofa_la-dapl_ep_reset.lo \
- dapl_udapl_libdaplofa_la-dapl_ep_get_status.lo \
- dapl_udapl_libdaplofa_la-dapl_ep_modify.lo \
- dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read.lo \
- dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_write.lo \
- dapl_udapl_libdaplofa_la-dapl_ep_post_recv.lo \
- dapl_udapl_libdaplofa_la-dapl_ep_post_send.lo \
- dapl_udapl_libdaplofa_la-dapl_ep_query.lo \
- dapl_udapl_libdaplofa_la-dapl_ep_util.lo \
- dapl_udapl_libdaplofa_la-dapl_evd_dequeue.lo \
- dapl_udapl_libdaplofa_la-dapl_evd_free.lo \
- dapl_udapl_libdaplofa_la-dapl_evd_post_se.lo \
- dapl_udapl_libdaplofa_la-dapl_evd_resize.lo \
- dapl_udapl_libdaplofa_la-dapl_evd_util.lo \
- dapl_udapl_libdaplofa_la-dapl_evd_cq_async_error_callb.lo \
- dapl_udapl_libdaplofa_la-dapl_evd_qp_async_error_callb.lo \
- dapl_udapl_libdaplofa_la-dapl_evd_un_async_error_callb.lo \
- dapl_udapl_libdaplofa_la-dapl_evd_connection_callb.lo \
- dapl_udapl_libdaplofa_la-dapl_evd_dto_callb.lo \
- dapl_udapl_libdaplofa_la-dapl_get_consumer_context.lo \
- dapl_udapl_libdaplofa_la-dapl_get_handle_type.lo \
- dapl_udapl_libdaplofa_la-dapl_hash.lo \
- dapl_udapl_libdaplofa_la-dapl_hca_util.lo \
- dapl_udapl_libdaplofa_la-dapl_ia_close.lo \
- dapl_udapl_libdaplofa_la-dapl_ia_open.lo \
- dapl_udapl_libdaplofa_la-dapl_ia_query.lo \
- dapl_udapl_libdaplofa_la-dapl_ia_util.lo \
- dapl_udapl_libdaplofa_la-dapl_llist.lo \
- dapl_udapl_libdaplofa_la-dapl_lmr_free.lo \
- dapl_udapl_libdaplofa_la-dapl_lmr_query.lo \
- dapl_udapl_libdaplofa_la-dapl_lmr_util.lo \
- dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_read.lo \
- dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_write.lo \
- dapl_udapl_libdaplofa_la-dapl_mr_util.lo \
- dapl_udapl_libdaplofa_la-dapl_provider.lo \
- dapl_udapl_libdaplofa_la-dapl_sp_util.lo \
- dapl_udapl_libdaplofa_la-dapl_psp_create.lo \
- dapl_udapl_libdaplofa_la-dapl_psp_create_any.lo \
- dapl_udapl_libdaplofa_la-dapl_psp_free.lo \
- dapl_udapl_libdaplofa_la-dapl_psp_query.lo \
- dapl_udapl_libdaplofa_la-dapl_pz_create.lo \
- dapl_udapl_libdaplofa_la-dapl_pz_free.lo \
- dapl_udapl_libdaplofa_la-dapl_pz_query.lo \
- dapl_udapl_libdaplofa_la-dapl_pz_util.lo \
- dapl_udapl_libdaplofa_la-dapl_rmr_create.lo \
- dapl_udapl_libdaplofa_la-dapl_rmr_free.lo \
- dapl_udapl_libdaplofa_la-dapl_rmr_bind.lo \
- dapl_udapl_libdaplofa_la-dapl_rmr_query.lo \
- dapl_udapl_libdaplofa_la-dapl_rmr_util.lo \
- dapl_udapl_libdaplofa_la-dapl_rsp_create.lo \
- dapl_udapl_libdaplofa_la-dapl_rsp_free.lo \
- dapl_udapl_libdaplofa_la-dapl_rsp_query.lo \
- dapl_udapl_libdaplofa_la-dapl_cno_util.lo \
- dapl_udapl_libdaplofa_la-dapl_set_consumer_context.lo \
- dapl_udapl_libdaplofa_la-dapl_ring_buffer_util.lo \
- dapl_udapl_libdaplofa_la-dapl_name_service.lo \
- dapl_udapl_libdaplofa_la-dapl_timer_util.lo \
- dapl_udapl_libdaplofa_la-dapl_ep_create_with_srq.lo \
- dapl_udapl_libdaplofa_la-dapl_ep_recv_query.lo \
- dapl_udapl_libdaplofa_la-dapl_ep_set_watermark.lo \
- dapl_udapl_libdaplofa_la-dapl_srq_create.lo \
- dapl_udapl_libdaplofa_la-dapl_srq_free.lo \
- dapl_udapl_libdaplofa_la-dapl_srq_query.lo \
- dapl_udapl_libdaplofa_la-dapl_srq_resize.lo \
- dapl_udapl_libdaplofa_la-dapl_srq_post_recv.lo \
- dapl_udapl_libdaplofa_la-dapl_srq_set_lw.lo \
- dapl_udapl_libdaplofa_la-dapl_srq_util.lo \
- dapl_udapl_libdaplofa_la-dapl_debug.lo \
- dapl_udapl_libdaplofa_la-dapl_ia_ha.lo \
- dapl_udapl_libdaplofa_la-dapl_csp.lo \
- dapl_udapl_libdaplofa_la-dapl_ep_post_send_invalidate.lo \
- dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read_to_rmr.lo \
- dapl_udapl_libdaplofa_la-dapl_ib_util.lo \
- dapl_udapl_libdaplofa_la-dapl_ib_cq.lo \
- dapl_udapl_libdaplofa_la-dapl_ib_qp.lo \
- dapl_udapl_libdaplofa_la-dapl_ib_cm.lo \
- dapl_udapl_libdaplofa_la-dapl_ib_mem.lo $(am__objects_1)
+ dapl/openib_common/mem.c dapl/openib_common/cq.c \
+ dapl/openib_common/qp.c dapl/openib_common/util.c \
+ dapl/openib_cma/cm.c dapl/openib_cma/device.c \
+ dapl/openib_common/ib_extensions.c \
+ dapl/openib_common/collectives/fca_provider.c
+ at COLL_TYPE_FCA_TRUE@@EXT_TYPE_IB_TRUE at am__objects_1 = dapl_udapl_libdaplofa_la-fca_provider.lo
+ at EXT_TYPE_IB_TRUE@am__objects_2 = \
+ at EXT_TYPE_IB_TRUE@ dapl_udapl_libdaplofa_la-ib_extensions.lo \
+ at EXT_TYPE_IB_TRUE@ $(am__objects_1)
+ at DEFINE_CMA_TRUE@am_dapl_udapl_libdaplofa_la_OBJECTS = \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_init.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_evd_create.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_evd_query.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_cno_create.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_cno_modify_agent.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_cno_free.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_cno_wait.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_cno_query.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_lmr_create.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_evd_wait.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_evd_disable.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_evd_enable.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_evd_modify_cno.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_evd_set_unwaitable.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_evd_clear_unwaitable.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_osd.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_cookie.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_cr_accept.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_cr_query.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_cr_reject.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_cr_util.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_cr_callback.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_cr_handoff.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ep_connect.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ep_create.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ep_disconnect.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ep_dup_connect.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ep_free.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ep_reset.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ep_get_status.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ep_modify.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_write.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ep_post_recv.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ep_post_send.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ep_query.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ep_util.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_evd_dequeue.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_evd_free.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_evd_post_se.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_evd_resize.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_evd_util.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_evd_cq_async_error_callb.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_evd_qp_async_error_callb.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_evd_un_async_error_callb.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_evd_connection_callb.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_evd_dto_callb.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_get_consumer_context.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_get_handle_type.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_hash.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_hca_util.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ia_close.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ia_open.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ia_query.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ia_util.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_llist.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_lmr_free.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_lmr_query.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_lmr_util.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_read.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_write.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_mr_util.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_provider.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_sp_util.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_psp_create.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_psp_create_any.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_psp_free.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_psp_query.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_pz_create.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_pz_free.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_pz_query.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_pz_util.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_rmr_create.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_rmr_free.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_rmr_bind.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_rmr_query.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_rmr_util.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_rsp_create.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_rsp_free.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_rsp_query.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_cno_util.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_set_consumer_context.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ring_buffer_util.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_name_service.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_timer_util.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ep_create_with_srq.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ep_recv_query.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ep_set_watermark.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_srq_create.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_srq_free.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_srq_query.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_srq_resize.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_srq_post_recv.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_srq_set_lw.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_srq_util.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_debug.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ia_ha.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_csp.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ep_post_send_invalidate.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read_to_rmr.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-mem.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-cq.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-qp.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-util.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-cm.lo \
+ at DEFINE_CMA_TRUE@ dapl_udapl_libdaplofa_la-device.lo \
+ at DEFINE_CMA_TRUE@ $(am__objects_2)
dapl_udapl_libdaplofa_la_OBJECTS = \
$(am_dapl_udapl_libdaplofa_la_OBJECTS)
dapl_udapl_libdaplofa_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) \
$(dapl_udapl_libdaplofa_la_LDFLAGS) $(LDFLAGS) -o $@
+ at DEFINE_CMA_TRUE@am_dapl_udapl_libdaplofa_la_rpath = -rpath \
+ at DEFINE_CMA_TRUE@ $(dapllibofadir)
am__dirstamp = $(am__leading_dot)dirstamp
dapl_udapl_libdaploscm_la_LIBADD =
am__dapl_udapl_libdaploscm_la_SOURCES_DIST = dapl/udapl/dapl_init.c \
@@ -318,123 +349,320 @@ am__dapl_udapl_libdaploscm_la_SOURCES_DIST = dapl/udapl/dapl_init.c \
dapl/common/dapl_ia_ha.c dapl/common/dapl_csp.c \
dapl/common/dapl_ep_post_send_invalidate.c \
dapl/common/dapl_ep_post_rdma_read_to_rmr.c \
- dapl/openib_scm/dapl_ib_util.c dapl/openib_scm/dapl_ib_cq.c \
- dapl/openib_scm/dapl_ib_qp.c dapl/openib_scm/dapl_ib_cm.c \
- dapl/openib_scm/dapl_ib_mem.c \
- dapl/openib_scm/dapl_ib_extensions.c
- at EXT_TYPE_IB_TRUE@am__objects_2 = dapl_udapl_libdaploscm_la-dapl_ib_extensions.lo
-am_dapl_udapl_libdaploscm_la_OBJECTS = \
- dapl_udapl_libdaploscm_la-dapl_init.lo \
- dapl_udapl_libdaploscm_la-dapl_evd_create.lo \
- dapl_udapl_libdaploscm_la-dapl_evd_query.lo \
- dapl_udapl_libdaploscm_la-dapl_cno_create.lo \
- dapl_udapl_libdaploscm_la-dapl_cno_modify_agent.lo \
- dapl_udapl_libdaploscm_la-dapl_cno_free.lo \
- dapl_udapl_libdaploscm_la-dapl_cno_wait.lo \
- dapl_udapl_libdaploscm_la-dapl_cno_query.lo \
- dapl_udapl_libdaploscm_la-dapl_lmr_create.lo \
- dapl_udapl_libdaploscm_la-dapl_evd_wait.lo \
- dapl_udapl_libdaploscm_la-dapl_evd_disable.lo \
- dapl_udapl_libdaploscm_la-dapl_evd_enable.lo \
- dapl_udapl_libdaploscm_la-dapl_evd_modify_cno.lo \
- dapl_udapl_libdaploscm_la-dapl_evd_set_unwaitable.lo \
- dapl_udapl_libdaploscm_la-dapl_evd_clear_unwaitable.lo \
- dapl_udapl_libdaploscm_la-dapl_osd.lo \
- dapl_udapl_libdaploscm_la-dapl_cookie.lo \
- dapl_udapl_libdaploscm_la-dapl_cr_accept.lo \
- dapl_udapl_libdaploscm_la-dapl_cr_query.lo \
- dapl_udapl_libdaploscm_la-dapl_cr_reject.lo \
- dapl_udapl_libdaploscm_la-dapl_cr_util.lo \
- dapl_udapl_libdaploscm_la-dapl_cr_callback.lo \
- dapl_udapl_libdaploscm_la-dapl_cr_handoff.lo \
- dapl_udapl_libdaploscm_la-dapl_ep_connect.lo \
- dapl_udapl_libdaploscm_la-dapl_ep_create.lo \
- dapl_udapl_libdaploscm_la-dapl_ep_disconnect.lo \
- dapl_udapl_libdaploscm_la-dapl_ep_dup_connect.lo \
- dapl_udapl_libdaploscm_la-dapl_ep_free.lo \
- dapl_udapl_libdaploscm_la-dapl_ep_reset.lo \
- dapl_udapl_libdaploscm_la-dapl_ep_get_status.lo \
- dapl_udapl_libdaploscm_la-dapl_ep_modify.lo \
- dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read.lo \
- dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_write.lo \
- dapl_udapl_libdaploscm_la-dapl_ep_post_recv.lo \
- dapl_udapl_libdaploscm_la-dapl_ep_post_send.lo \
- dapl_udapl_libdaploscm_la-dapl_ep_query.lo \
- dapl_udapl_libdaploscm_la-dapl_ep_util.lo \
- dapl_udapl_libdaploscm_la-dapl_evd_dequeue.lo \
- dapl_udapl_libdaploscm_la-dapl_evd_free.lo \
- dapl_udapl_libdaploscm_la-dapl_evd_post_se.lo \
- dapl_udapl_libdaploscm_la-dapl_evd_resize.lo \
- dapl_udapl_libdaploscm_la-dapl_evd_util.lo \
- dapl_udapl_libdaploscm_la-dapl_evd_cq_async_error_callb.lo \
- dapl_udapl_libdaploscm_la-dapl_evd_qp_async_error_callb.lo \
- dapl_udapl_libdaploscm_la-dapl_evd_un_async_error_callb.lo \
- dapl_udapl_libdaploscm_la-dapl_evd_connection_callb.lo \
- dapl_udapl_libdaploscm_la-dapl_evd_dto_callb.lo \
- dapl_udapl_libdaploscm_la-dapl_get_consumer_context.lo \
- dapl_udapl_libdaploscm_la-dapl_get_handle_type.lo \
- dapl_udapl_libdaploscm_la-dapl_hash.lo \
- dapl_udapl_libdaploscm_la-dapl_hca_util.lo \
- dapl_udapl_libdaploscm_la-dapl_ia_close.lo \
- dapl_udapl_libdaploscm_la-dapl_ia_open.lo \
- dapl_udapl_libdaploscm_la-dapl_ia_query.lo \
- dapl_udapl_libdaploscm_la-dapl_ia_util.lo \
- dapl_udapl_libdaploscm_la-dapl_llist.lo \
- dapl_udapl_libdaploscm_la-dapl_lmr_free.lo \
- dapl_udapl_libdaploscm_la-dapl_lmr_query.lo \
- dapl_udapl_libdaploscm_la-dapl_lmr_util.lo \
- dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_read.lo \
- dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_write.lo \
- dapl_udapl_libdaploscm_la-dapl_mr_util.lo \
- dapl_udapl_libdaploscm_la-dapl_provider.lo \
- dapl_udapl_libdaploscm_la-dapl_sp_util.lo \
- dapl_udapl_libdaploscm_la-dapl_psp_create.lo \
- dapl_udapl_libdaploscm_la-dapl_psp_create_any.lo \
- dapl_udapl_libdaploscm_la-dapl_psp_free.lo \
- dapl_udapl_libdaploscm_la-dapl_psp_query.lo \
- dapl_udapl_libdaploscm_la-dapl_pz_create.lo \
- dapl_udapl_libdaploscm_la-dapl_pz_free.lo \
- dapl_udapl_libdaploscm_la-dapl_pz_query.lo \
- dapl_udapl_libdaploscm_la-dapl_pz_util.lo \
- dapl_udapl_libdaploscm_la-dapl_rmr_create.lo \
- dapl_udapl_libdaploscm_la-dapl_rmr_free.lo \
- dapl_udapl_libdaploscm_la-dapl_rmr_bind.lo \
- dapl_udapl_libdaploscm_la-dapl_rmr_query.lo \
- dapl_udapl_libdaploscm_la-dapl_rmr_util.lo \
- dapl_udapl_libdaploscm_la-dapl_rsp_create.lo \
- dapl_udapl_libdaploscm_la-dapl_rsp_free.lo \
- dapl_udapl_libdaploscm_la-dapl_rsp_query.lo \
- dapl_udapl_libdaploscm_la-dapl_cno_util.lo \
- dapl_udapl_libdaploscm_la-dapl_set_consumer_context.lo \
- dapl_udapl_libdaploscm_la-dapl_ring_buffer_util.lo \
- dapl_udapl_libdaploscm_la-dapl_name_service.lo \
- dapl_udapl_libdaploscm_la-dapl_timer_util.lo \
- dapl_udapl_libdaploscm_la-dapl_ep_create_with_srq.lo \
- dapl_udapl_libdaploscm_la-dapl_ep_recv_query.lo \
- dapl_udapl_libdaploscm_la-dapl_ep_set_watermark.lo \
- dapl_udapl_libdaploscm_la-dapl_srq_create.lo \
- dapl_udapl_libdaploscm_la-dapl_srq_free.lo \
- dapl_udapl_libdaploscm_la-dapl_srq_query.lo \
- dapl_udapl_libdaploscm_la-dapl_srq_resize.lo \
- dapl_udapl_libdaploscm_la-dapl_srq_post_recv.lo \
- dapl_udapl_libdaploscm_la-dapl_srq_set_lw.lo \
- dapl_udapl_libdaploscm_la-dapl_srq_util.lo \
- dapl_udapl_libdaploscm_la-dapl_debug.lo \
- dapl_udapl_libdaploscm_la-dapl_ia_ha.lo \
- dapl_udapl_libdaploscm_la-dapl_csp.lo \
- dapl_udapl_libdaploscm_la-dapl_ep_post_send_invalidate.lo \
- dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read_to_rmr.lo \
- dapl_udapl_libdaploscm_la-dapl_ib_util.lo \
- dapl_udapl_libdaploscm_la-dapl_ib_cq.lo \
- dapl_udapl_libdaploscm_la-dapl_ib_qp.lo \
- dapl_udapl_libdaploscm_la-dapl_ib_cm.lo \
- dapl_udapl_libdaploscm_la-dapl_ib_mem.lo $(am__objects_2)
+ dapl/openib_common/mem.c dapl/openib_common/cq.c \
+ dapl/openib_common/qp.c dapl/openib_common/util.c \
+ dapl/openib_scm/cm.c dapl/openib_scm/device.c \
+ dapl/openib_common/ib_extensions.c \
+ dapl/openib_common/collectives/fca_provider.c
+ at COLL_TYPE_FCA_TRUE@@EXT_TYPE_IB_TRUE at am__objects_3 = dapl_udapl_libdaploscm_la-fca_provider.lo
+ at EXT_TYPE_IB_TRUE@am__objects_4 = \
+ at EXT_TYPE_IB_TRUE@ dapl_udapl_libdaploscm_la-ib_extensions.lo \
+ at EXT_TYPE_IB_TRUE@ $(am__objects_3)
+ at DEFINE_SCM_TRUE@am_dapl_udapl_libdaploscm_la_OBJECTS = \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_init.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_evd_create.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_evd_query.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_cno_create.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_cno_modify_agent.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_cno_free.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_cno_wait.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_cno_query.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_lmr_create.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_evd_wait.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_evd_disable.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_evd_enable.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_evd_modify_cno.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_evd_set_unwaitable.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_evd_clear_unwaitable.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_osd.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_cookie.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_cr_accept.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_cr_query.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_cr_reject.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_cr_util.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_cr_callback.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_cr_handoff.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ep_connect.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ep_create.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ep_disconnect.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ep_dup_connect.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ep_free.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ep_reset.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ep_get_status.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ep_modify.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_write.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ep_post_recv.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ep_post_send.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ep_query.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ep_util.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_evd_dequeue.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_evd_free.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_evd_post_se.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_evd_resize.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_evd_util.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_evd_cq_async_error_callb.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_evd_qp_async_error_callb.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_evd_un_async_error_callb.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_evd_connection_callb.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_evd_dto_callb.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_get_consumer_context.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_get_handle_type.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_hash.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_hca_util.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ia_close.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ia_open.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ia_query.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ia_util.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_llist.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_lmr_free.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_lmr_query.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_lmr_util.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_read.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_write.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_mr_util.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_provider.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_sp_util.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_psp_create.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_psp_create_any.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_psp_free.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_psp_query.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_pz_create.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_pz_free.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_pz_query.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_pz_util.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_rmr_create.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_rmr_free.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_rmr_bind.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_rmr_query.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_rmr_util.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_rsp_create.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_rsp_free.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_rsp_query.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_cno_util.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_set_consumer_context.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ring_buffer_util.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_name_service.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_timer_util.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ep_create_with_srq.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ep_recv_query.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ep_set_watermark.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_srq_create.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_srq_free.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_srq_query.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_srq_resize.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_srq_post_recv.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_srq_set_lw.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_srq_util.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_debug.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ia_ha.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_csp.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ep_post_send_invalidate.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read_to_rmr.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-mem.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-cq.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-qp.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-util.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-cm.lo \
+ at DEFINE_SCM_TRUE@ dapl_udapl_libdaploscm_la-device.lo \
+ at DEFINE_SCM_TRUE@ $(am__objects_4)
dapl_udapl_libdaploscm_la_OBJECTS = \
$(am_dapl_udapl_libdaploscm_la_OBJECTS)
dapl_udapl_libdaploscm_la_LINK = $(LIBTOOL) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) \
$(dapl_udapl_libdaploscm_la_LDFLAGS) $(LDFLAGS) -o $@
+ at DEFINE_SCM_TRUE@am_dapl_udapl_libdaploscm_la_rpath = -rpath \
+ at DEFINE_SCM_TRUE@ $(daplliboscmdir)
+dapl_udapl_libdaploucm_la_LIBADD =
+am__dapl_udapl_libdaploucm_la_SOURCES_DIST = dapl/udapl/dapl_init.c \
+ dapl/udapl/dapl_evd_create.c dapl/udapl/dapl_evd_query.c \
+ dapl/udapl/dapl_cno_create.c \
+ dapl/udapl/dapl_cno_modify_agent.c dapl/udapl/dapl_cno_free.c \
+ dapl/udapl/dapl_cno_wait.c dapl/udapl/dapl_cno_query.c \
+ dapl/udapl/dapl_lmr_create.c dapl/udapl/dapl_evd_wait.c \
+ dapl/udapl/dapl_evd_disable.c dapl/udapl/dapl_evd_enable.c \
+ dapl/udapl/dapl_evd_modify_cno.c \
+ dapl/udapl/dapl_evd_set_unwaitable.c \
+ dapl/udapl/dapl_evd_clear_unwaitable.c \
+ dapl/udapl/linux/dapl_osd.c dapl/common/dapl_cookie.c \
+ dapl/common/dapl_cr_accept.c dapl/common/dapl_cr_query.c \
+ dapl/common/dapl_cr_reject.c dapl/common/dapl_cr_util.c \
+ dapl/common/dapl_cr_callback.c dapl/common/dapl_cr_handoff.c \
+ dapl/common/dapl_ep_connect.c dapl/common/dapl_ep_create.c \
+ dapl/common/dapl_ep_disconnect.c \
+ dapl/common/dapl_ep_dup_connect.c dapl/common/dapl_ep_free.c \
+ dapl/common/dapl_ep_reset.c dapl/common/dapl_ep_get_status.c \
+ dapl/common/dapl_ep_modify.c \
+ dapl/common/dapl_ep_post_rdma_read.c \
+ dapl/common/dapl_ep_post_rdma_write.c \
+ dapl/common/dapl_ep_post_recv.c \
+ dapl/common/dapl_ep_post_send.c dapl/common/dapl_ep_query.c \
+ dapl/common/dapl_ep_util.c dapl/common/dapl_evd_dequeue.c \
+ dapl/common/dapl_evd_free.c dapl/common/dapl_evd_post_se.c \
+ dapl/common/dapl_evd_resize.c dapl/common/dapl_evd_util.c \
+ dapl/common/dapl_evd_cq_async_error_callb.c \
+ dapl/common/dapl_evd_qp_async_error_callb.c \
+ dapl/common/dapl_evd_un_async_error_callb.c \
+ dapl/common/dapl_evd_connection_callb.c \
+ dapl/common/dapl_evd_dto_callb.c \
+ dapl/common/dapl_get_consumer_context.c \
+ dapl/common/dapl_get_handle_type.c dapl/common/dapl_hash.c \
+ dapl/common/dapl_hca_util.c dapl/common/dapl_ia_close.c \
+ dapl/common/dapl_ia_open.c dapl/common/dapl_ia_query.c \
+ dapl/common/dapl_ia_util.c dapl/common/dapl_llist.c \
+ dapl/common/dapl_lmr_free.c dapl/common/dapl_lmr_query.c \
+ dapl/common/dapl_lmr_util.c \
+ dapl/common/dapl_lmr_sync_rdma_read.c \
+ dapl/common/dapl_lmr_sync_rdma_write.c \
+ dapl/common/dapl_mr_util.c dapl/common/dapl_provider.c \
+ dapl/common/dapl_sp_util.c dapl/common/dapl_psp_create.c \
+ dapl/common/dapl_psp_create_any.c dapl/common/dapl_psp_free.c \
+ dapl/common/dapl_psp_query.c dapl/common/dapl_pz_create.c \
+ dapl/common/dapl_pz_free.c dapl/common/dapl_pz_query.c \
+ dapl/common/dapl_pz_util.c dapl/common/dapl_rmr_create.c \
+ dapl/common/dapl_rmr_free.c dapl/common/dapl_rmr_bind.c \
+ dapl/common/dapl_rmr_query.c dapl/common/dapl_rmr_util.c \
+ dapl/common/dapl_rsp_create.c dapl/common/dapl_rsp_free.c \
+ dapl/common/dapl_rsp_query.c dapl/common/dapl_cno_util.c \
+ dapl/common/dapl_set_consumer_context.c \
+ dapl/common/dapl_ring_buffer_util.c \
+ dapl/common/dapl_name_service.c dapl/common/dapl_timer_util.c \
+ dapl/common/dapl_ep_create_with_srq.c \
+ dapl/common/dapl_ep_recv_query.c \
+ dapl/common/dapl_ep_set_watermark.c \
+ dapl/common/dapl_srq_create.c dapl/common/dapl_srq_free.c \
+ dapl/common/dapl_srq_query.c dapl/common/dapl_srq_resize.c \
+ dapl/common/dapl_srq_post_recv.c dapl/common/dapl_srq_set_lw.c \
+ dapl/common/dapl_srq_util.c dapl/common/dapl_debug.c \
+ dapl/common/dapl_ia_ha.c dapl/common/dapl_csp.c \
+ dapl/common/dapl_ep_post_send_invalidate.c \
+ dapl/common/dapl_ep_post_rdma_read_to_rmr.c \
+ dapl/openib_common/mem.c dapl/openib_common/cq.c \
+ dapl/openib_common/qp.c dapl/openib_common/util.c \
+ dapl/openib_ucm/cm.c dapl/openib_ucm/device.c \
+ dapl/openib_common/ib_extensions.c \
+ dapl/openib_common/collectives/fca_provider.c
+ at COLL_TYPE_FCA_TRUE@@EXT_TYPE_IB_TRUE at am__objects_5 = dapl_udapl_libdaploucm_la-fca_provider.lo
+ at EXT_TYPE_IB_TRUE@am__objects_6 = \
+ at EXT_TYPE_IB_TRUE@ dapl_udapl_libdaploucm_la-ib_extensions.lo \
+ at EXT_TYPE_IB_TRUE@ $(am__objects_5)
+ at DEFINE_UCM_TRUE@am_dapl_udapl_libdaploucm_la_OBJECTS = \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_init.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_evd_create.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_evd_query.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_cno_create.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_cno_modify_agent.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_cno_free.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_cno_wait.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_cno_query.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_lmr_create.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_evd_wait.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_evd_disable.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_evd_enable.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_evd_modify_cno.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_evd_set_unwaitable.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_evd_clear_unwaitable.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_osd.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_cookie.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_cr_accept.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_cr_query.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_cr_reject.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_cr_util.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_cr_callback.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_cr_handoff.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ep_connect.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ep_create.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ep_disconnect.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ep_dup_connect.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ep_free.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ep_reset.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ep_get_status.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ep_modify.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_read.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_write.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ep_post_recv.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ep_post_send.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ep_query.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ep_util.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_evd_dequeue.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_evd_free.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_evd_post_se.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_evd_resize.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_evd_util.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_evd_cq_async_error_callb.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_evd_qp_async_error_callb.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_evd_un_async_error_callb.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_evd_connection_callb.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_evd_dto_callb.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_get_consumer_context.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_get_handle_type.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_hash.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_hca_util.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ia_close.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ia_open.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ia_query.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ia_util.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_llist.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_lmr_free.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_lmr_query.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_lmr_util.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_lmr_sync_rdma_read.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_lmr_sync_rdma_write.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_mr_util.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_provider.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_sp_util.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_psp_create.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_psp_create_any.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_psp_free.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_psp_query.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_pz_create.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_pz_free.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_pz_query.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_pz_util.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_rmr_create.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_rmr_free.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_rmr_bind.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_rmr_query.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_rmr_util.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_rsp_create.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_rsp_free.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_rsp_query.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_cno_util.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_set_consumer_context.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ring_buffer_util.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_name_service.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_timer_util.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ep_create_with_srq.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ep_recv_query.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ep_set_watermark.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_srq_create.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_srq_free.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_srq_query.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_srq_resize.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_srq_post_recv.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_srq_set_lw.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_srq_util.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_debug.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ia_ha.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_csp.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ep_post_send_invalidate.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_read_to_rmr.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-mem.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-cq.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-qp.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-util.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-cm.lo \
+ at DEFINE_UCM_TRUE@ dapl_udapl_libdaploucm_la-device.lo \
+ at DEFINE_UCM_TRUE@ $(am__objects_6)
+dapl_udapl_libdaploucm_la_OBJECTS = \
+ $(am_dapl_udapl_libdaploucm_la_OBJECTS)
+dapl_udapl_libdaploucm_la_LINK = $(LIBTOOL) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) \
+ $(dapl_udapl_libdaploucm_la_LDFLAGS) $(LDFLAGS) -o $@
+ at DEFINE_UCM_TRUE@am_dapl_udapl_libdaploucm_la_rpath = -rpath \
+ at DEFINE_UCM_TRUE@ $(daplliboucmdir)
dat_udat_libdat2_la_LIBADD =
am_dat_udat_libdat2_la_OBJECTS = dat_udat_libdat2_la-udat.lo \
dat_udat_libdat2_la-udat_api.lo \
@@ -452,6 +680,7 @@ dat_udat_libdat2_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
DEFAULT_INCLUDES = -I. at am__isrc@
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -463,9 +692,11 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
$(LDFLAGS) -o $@
SOURCES = $(dapl_udapl_libdaplofa_la_SOURCES) \
$(dapl_udapl_libdaploscm_la_SOURCES) \
+ $(dapl_udapl_libdaploucm_la_SOURCES) \
$(dat_udat_libdat2_la_SOURCES)
DIST_SOURCES = $(am__dapl_udapl_libdaplofa_la_SOURCES_DIST) \
$(am__dapl_udapl_libdaploscm_la_SOURCES_DIST) \
+ $(am__dapl_udapl_libdaploucm_la_SOURCES_DIST) \
$(dat_udat_libdat2_la_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
@@ -478,10 +709,13 @@ man1dir = $(mandir)/man1
man5dir = $(mandir)/man5
NROFF = nroff
MANS = $(man_MANS)
-libdatincludeHEADERS_INSTALL = $(INSTALL_HEADER)
+DATA = $(sysconf_DATA)
HEADERS = $(libdatinclude_HEADERS)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir dist dist-all distcheck
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
@@ -489,9 +723,34 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
- { test ! -d $(distdir) \
- || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -fr $(distdir); }; }
+ { test ! -d "$(distdir)" \
+ || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -fr "$(distdir)"; }; }
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
@@ -609,44 +868,63 @@ top_srcdir = @top_srcdir@
OSFLAGS = -DOS_RELEASE=$(shell expr `uname -r | cut -f1 -d.` \* 65536 \
+ `uname -r | cut -f2 -d.`) $(am__append_1) $(am__append_2) \
$(am__append_3)
- at EXT_TYPE_IB_FALSE@XFLAGS =
- at EXT_TYPE_IB_TRUE@XFLAGS = -DDAT_EXTENSIONS
- at EXT_TYPE_IB_FALSE@XPROGRAMS_CMA =
- at EXT_TYPE_IB_TRUE@XPROGRAMS_CMA = dapl/openib_cma/dapl_ib_extensions.c
- at EXT_TYPE_IB_FALSE@XPROGRAMS_SCM =
- at EXT_TYPE_IB_TRUE@XPROGRAMS_SCM = dapl/openib_scm/dapl_ib_extensions.c
+ at EXT_TYPE_IB_FALSE@XFLAGS = $(am__append_10)
+ at EXT_TYPE_IB_TRUE@XFLAGS = -DDAT_EXTENSIONS $(am__append_4) \
+ at EXT_TYPE_IB_TRUE@ $(am__append_5) $(am__append_10)
+ at EXT_TYPE_IB_FALSE@XPROGRAMS =
+ at EXT_TYPE_IB_TRUE@XPROGRAMS = dapl/openib_common/ib_extensions.c \
+ at EXT_TYPE_IB_TRUE@ $(am__append_6)
+ at EXT_TYPE_IB_FALSE@XHEADERS =
+ at EXT_TYPE_IB_TRUE@XHEADERS = $(am__append_7)
+ at EXT_TYPE_IB_FALSE@XLIBS = $(am__append_9)
+ at EXT_TYPE_IB_TRUE@XLIBS = $(am__append_8) $(am__append_9)
@DEBUG_FALSE at AM_CFLAGS = -g -Wall -D_GNU_SOURCE -DDAT_CONF="\"$(sysconfdir)/dat.conf\""
@DEBUG_TRUE at AM_CFLAGS = -g -Wall -D_GNU_SOURCE -DDAPL_DBG -DDAT_CONF="\"$(sysconfdir)/dat.conf\""
+sysconf_DATA = doc/dat.conf
datlibdir = $(libdir)
-dapllibofadir = $(libdir)
-daplliboscmdir = $(libdir)
+ at DEFINE_CMA_TRUE@dapllibofadir = $(libdir)
+ at DEFINE_SCM_TRUE@daplliboscmdir = $(libdir)
+ at DEFINE_UCM_TRUE@daplliboucmdir = $(libdir)
datlib_LTLIBRARIES = dat/udat/libdat2.la
-dapllibofa_LTLIBRARIES = dapl/udapl/libdaplofa.la
-daplliboscm_LTLIBRARIES = dapl/udapl/libdaploscm.la
+ at DEFINE_CMA_TRUE@dapllibofa_LTLIBRARIES = dapl/udapl/libdaplofa.la
+ at DEFINE_SCM_TRUE@daplliboscm_LTLIBRARIES = dapl/udapl/libdaploscm.la
+ at DEFINE_UCM_TRUE@daplliboucm_LTLIBRARIES = dapl/udapl/libdaploucm.la
dat_udat_libdat2_la_CFLAGS = $(AM_CFLAGS) -D_GNU_SOURCE $(OSFLAGS) $(XFLAGS) \
-I$(srcdir)/dat/include/ -I$(srcdir)/dat/udat/ \
-I$(srcdir)/dat/udat/linux -I$(srcdir)/dat/common/
-dapl_udapl_libdaplofa_la_CFLAGS = $(AM_CFLAGS) -D_GNU_SOURCE $(OSFLAGS) $(XFLAGS) \
- -DOPENIB -DCQ_WAIT_OBJECT \
- -I$(srcdir)/dat/include/ -I$(srcdir)/dapl/include/ \
- -I$(srcdir)/dapl/common -I$(srcdir)/dapl/udapl/linux \
- -I$(srcdir)/dapl/openib_cma \
- -I$(srcdir)/dapl/openib_cma/linux
-
-dapl_udapl_libdaploscm_la_CFLAGS = $(AM_CFLAGS) -D_GNU_SOURCE $(OSFLAGS) $(XFLAGS) \
- -DOPENIB -DCQ_WAIT_OBJECT \
- -I$(srcdir)/dat/include/ -I$(srcdir)/dapl/include/ \
- -I$(srcdir)/dapl/common -I$(srcdir)/dapl/udapl/linux \
- -I$(srcdir)/dapl/openib_scm \
- -I$(srcdir)/dapl/openib_scm/linux
+ at DEFINE_CMA_TRUE@dapl_udapl_libdaplofa_la_CFLAGS = $(AM_CFLAGS) -D_GNU_SOURCE $(OSFLAGS) $(XFLAGS) \
+ at DEFINE_CMA_TRUE@ -DOPENIB -DCQ_WAIT_OBJECT \
+ at DEFINE_CMA_TRUE@ -I$(srcdir)/dat/include/ -I$(srcdir)/dapl/include/ \
+ at DEFINE_CMA_TRUE@ -I$(srcdir)/dapl/common -I$(srcdir)/dapl/udapl/linux \
+ at DEFINE_CMA_TRUE@ -I$(srcdir)/dapl/openib_common \
+ at DEFINE_CMA_TRUE@ -I$(srcdir)/dapl/openib_cma \
+ at DEFINE_CMA_TRUE@ -I$(srcdir)/dapl/openib_cma/linux
+
+ at DEFINE_SCM_TRUE@dapl_udapl_libdaploscm_la_CFLAGS = $(AM_CFLAGS) -D_GNU_SOURCE $(OSFLAGS) $(XFLAGS) \
+ at DEFINE_SCM_TRUE@ -DOPENIB -DCQ_WAIT_OBJECT \
+ at DEFINE_SCM_TRUE@ -I$(srcdir)/dat/include/ -I$(srcdir)/dapl/include/ \
+ at DEFINE_SCM_TRUE@ -I$(srcdir)/dapl/common -I$(srcdir)/dapl/udapl/linux \
+ at DEFINE_SCM_TRUE@ -I$(srcdir)/dapl/openib_common \
+ at DEFINE_SCM_TRUE@ -I$(srcdir)/dapl/openib_scm \
+ at DEFINE_SCM_TRUE@ -I$(srcdir)/dapl/openib_scm/linux
+
+ at DEFINE_UCM_TRUE@dapl_udapl_libdaploucm_la_CFLAGS = $(AM_CFLAGS) -D_GNU_SOURCE $(OSFLAGS) $(XFLAGS) \
+ at DEFINE_UCM_TRUE@ -DOPENIB -DCQ_WAIT_OBJECT \
+ at DEFINE_UCM_TRUE@ -I$(srcdir)/dat/include/ -I$(srcdir)/dapl/include/ \
+ at DEFINE_UCM_TRUE@ -I$(srcdir)/dapl/common -I$(srcdir)/dapl/udapl/linux \
+ at DEFINE_UCM_TRUE@ -I$(srcdir)/dapl/openib_common \
+ at DEFINE_UCM_TRUE@ -I$(srcdir)/dapl/openib_ucm \
+ at DEFINE_UCM_TRUE@ -I$(srcdir)/dapl/openib_ucm/linux
@HAVE_LD_VERSION_SCRIPT_FALSE at dat_version_script =
@HAVE_LD_VERSION_SCRIPT_TRUE at dat_version_script = -Wl,--version-script=$(srcdir)/dat/udat/libdat2.map
- at HAVE_LD_VERSION_SCRIPT_FALSE@daplofa_version_script =
- at HAVE_LD_VERSION_SCRIPT_TRUE@daplofa_version_script = -Wl,--version-script=$(srcdir)/dapl/udapl/libdaplofa.map
- at HAVE_LD_VERSION_SCRIPT_FALSE@daploscm_version_script =
- at HAVE_LD_VERSION_SCRIPT_TRUE@daploscm_version_script = -Wl,--version-script=$(srcdir)/dapl/udapl/libdaploscm.map
+ at DEFINE_CMA_TRUE@@HAVE_LD_VERSION_SCRIPT_FALSE at daplofa_version_script =
+ at DEFINE_CMA_TRUE@@HAVE_LD_VERSION_SCRIPT_TRUE at daplofa_version_script = -Wl,--version-script=$(srcdir)/dapl/udapl/libdaplofa.map
+ at DEFINE_SCM_TRUE@@HAVE_LD_VERSION_SCRIPT_FALSE at daploscm_version_script =
+ at DEFINE_SCM_TRUE@@HAVE_LD_VERSION_SCRIPT_TRUE at daploscm_version_script = -Wl,--version-script=$(srcdir)/dapl/udapl/libdaploscm.map
+ at DEFINE_UCM_TRUE@@HAVE_LD_VERSION_SCRIPT_FALSE at daploucm_version_script =
+ at DEFINE_UCM_TRUE@@HAVE_LD_VERSION_SCRIPT_TRUE at daploucm_version_script = -Wl,--version-script=$(srcdir)/dapl/udapl/libdaploucm.map
#
# uDAT: libdat2.so
@@ -667,229 +945,344 @@ dat_udat_libdat2_la_LDFLAGS = -version-info 2:0:0 $(dat_version_script) -ldl
#
# uDAPL OpenFabrics rdma_cm version: libdaplofa.so
#
-dapl_udapl_libdaplofa_la_SOURCES = dapl/udapl/dapl_init.c \
- dapl/udapl/dapl_evd_create.c \
- dapl/udapl/dapl_evd_query.c \
- dapl/udapl/dapl_cno_create.c \
- dapl/udapl/dapl_cno_modify_agent.c \
- dapl/udapl/dapl_cno_free.c \
- dapl/udapl/dapl_cno_wait.c \
- dapl/udapl/dapl_cno_query.c \
- dapl/udapl/dapl_lmr_create.c \
- dapl/udapl/dapl_evd_wait.c \
- dapl/udapl/dapl_evd_disable.c \
- dapl/udapl/dapl_evd_enable.c \
- dapl/udapl/dapl_evd_modify_cno.c \
- dapl/udapl/dapl_evd_set_unwaitable.c \
- dapl/udapl/dapl_evd_clear_unwaitable.c \
- dapl/udapl/linux/dapl_osd.c \
- dapl/common/dapl_cookie.c \
- dapl/common/dapl_cr_accept.c \
- dapl/common/dapl_cr_query.c \
- dapl/common/dapl_cr_reject.c \
- dapl/common/dapl_cr_util.c \
- dapl/common/dapl_cr_callback.c \
- dapl/common/dapl_cr_handoff.c \
- dapl/common/dapl_ep_connect.c \
- dapl/common/dapl_ep_create.c \
- dapl/common/dapl_ep_disconnect.c \
- dapl/common/dapl_ep_dup_connect.c \
- dapl/common/dapl_ep_free.c \
- dapl/common/dapl_ep_reset.c \
- dapl/common/dapl_ep_get_status.c \
- dapl/common/dapl_ep_modify.c \
- dapl/common/dapl_ep_post_rdma_read.c \
- dapl/common/dapl_ep_post_rdma_write.c \
- dapl/common/dapl_ep_post_recv.c \
- dapl/common/dapl_ep_post_send.c \
- dapl/common/dapl_ep_query.c \
- dapl/common/dapl_ep_util.c \
- dapl/common/dapl_evd_dequeue.c \
- dapl/common/dapl_evd_free.c \
- dapl/common/dapl_evd_post_se.c \
- dapl/common/dapl_evd_resize.c \
- dapl/common/dapl_evd_util.c \
- dapl/common/dapl_evd_cq_async_error_callb.c \
- dapl/common/dapl_evd_qp_async_error_callb.c \
- dapl/common/dapl_evd_un_async_error_callb.c \
- dapl/common/dapl_evd_connection_callb.c \
- dapl/common/dapl_evd_dto_callb.c \
- dapl/common/dapl_get_consumer_context.c \
- dapl/common/dapl_get_handle_type.c \
- dapl/common/dapl_hash.c \
- dapl/common/dapl_hca_util.c \
- dapl/common/dapl_ia_close.c \
- dapl/common/dapl_ia_open.c \
- dapl/common/dapl_ia_query.c \
- dapl/common/dapl_ia_util.c \
- dapl/common/dapl_llist.c \
- dapl/common/dapl_lmr_free.c \
- dapl/common/dapl_lmr_query.c \
- dapl/common/dapl_lmr_util.c \
- dapl/common/dapl_lmr_sync_rdma_read.c \
- dapl/common/dapl_lmr_sync_rdma_write.c \
- dapl/common/dapl_mr_util.c \
- dapl/common/dapl_provider.c \
- dapl/common/dapl_sp_util.c \
- dapl/common/dapl_psp_create.c \
- dapl/common/dapl_psp_create_any.c \
- dapl/common/dapl_psp_free.c \
- dapl/common/dapl_psp_query.c \
- dapl/common/dapl_pz_create.c \
- dapl/common/dapl_pz_free.c \
- dapl/common/dapl_pz_query.c \
- dapl/common/dapl_pz_util.c \
- dapl/common/dapl_rmr_create.c \
- dapl/common/dapl_rmr_free.c \
- dapl/common/dapl_rmr_bind.c \
- dapl/common/dapl_rmr_query.c \
- dapl/common/dapl_rmr_util.c \
- dapl/common/dapl_rsp_create.c \
- dapl/common/dapl_rsp_free.c \
- dapl/common/dapl_rsp_query.c \
- dapl/common/dapl_cno_util.c \
- dapl/common/dapl_set_consumer_context.c \
- dapl/common/dapl_ring_buffer_util.c \
- dapl/common/dapl_name_service.c \
- dapl/common/dapl_timer_util.c \
- dapl/common/dapl_ep_create_with_srq.c \
- dapl/common/dapl_ep_recv_query.c \
- dapl/common/dapl_ep_set_watermark.c \
- dapl/common/dapl_srq_create.c \
- dapl/common/dapl_srq_free.c \
- dapl/common/dapl_srq_query.c \
- dapl/common/dapl_srq_resize.c \
- dapl/common/dapl_srq_post_recv.c \
- dapl/common/dapl_srq_set_lw.c \
- dapl/common/dapl_srq_util.c \
- dapl/common/dapl_debug.c \
- dapl/common/dapl_ia_ha.c \
- dapl/common/dapl_csp.c \
- dapl/common/dapl_ep_post_send_invalidate.c \
- dapl/common/dapl_ep_post_rdma_read_to_rmr.c \
- dapl/openib_cma/dapl_ib_util.c \
- dapl/openib_cma/dapl_ib_cq.c \
- dapl/openib_cma/dapl_ib_qp.c \
- dapl/openib_cma/dapl_ib_cm.c \
- dapl/openib_cma/dapl_ib_mem.c $(XPROGRAMS_CMA)
-
-dapl_udapl_libdaplofa_la_LDFLAGS = -version-info 2:0:0 $(daplofa_version_script) \
- -Wl,-init,dapl_init -Wl,-fini,dapl_fini \
- -lpthread -libverbs -lrdmacm
+ at DEFINE_CMA_TRUE@dapl_udapl_libdaplofa_la_SOURCES = dapl/udapl/dapl_init.c \
+ at DEFINE_CMA_TRUE@ dapl/udapl/dapl_evd_create.c \
+ at DEFINE_CMA_TRUE@ dapl/udapl/dapl_evd_query.c \
+ at DEFINE_CMA_TRUE@ dapl/udapl/dapl_cno_create.c \
+ at DEFINE_CMA_TRUE@ dapl/udapl/dapl_cno_modify_agent.c \
+ at DEFINE_CMA_TRUE@ dapl/udapl/dapl_cno_free.c \
+ at DEFINE_CMA_TRUE@ dapl/udapl/dapl_cno_wait.c \
+ at DEFINE_CMA_TRUE@ dapl/udapl/dapl_cno_query.c \
+ at DEFINE_CMA_TRUE@ dapl/udapl/dapl_lmr_create.c \
+ at DEFINE_CMA_TRUE@ dapl/udapl/dapl_evd_wait.c \
+ at DEFINE_CMA_TRUE@ dapl/udapl/dapl_evd_disable.c \
+ at DEFINE_CMA_TRUE@ dapl/udapl/dapl_evd_enable.c \
+ at DEFINE_CMA_TRUE@ dapl/udapl/dapl_evd_modify_cno.c \
+ at DEFINE_CMA_TRUE@ dapl/udapl/dapl_evd_set_unwaitable.c \
+ at DEFINE_CMA_TRUE@ dapl/udapl/dapl_evd_clear_unwaitable.c \
+ at DEFINE_CMA_TRUE@ dapl/udapl/linux/dapl_osd.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_cookie.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_cr_accept.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_cr_query.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_cr_reject.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_cr_util.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_cr_callback.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_cr_handoff.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ep_connect.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ep_create.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ep_disconnect.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ep_dup_connect.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ep_free.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ep_reset.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ep_get_status.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ep_modify.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ep_post_rdma_read.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ep_post_rdma_write.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ep_post_recv.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ep_post_send.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ep_query.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ep_util.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_evd_dequeue.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_evd_free.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_evd_post_se.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_evd_resize.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_evd_util.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_evd_cq_async_error_callb.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_evd_qp_async_error_callb.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_evd_un_async_error_callb.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_evd_connection_callb.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_evd_dto_callb.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_get_consumer_context.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_get_handle_type.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_hash.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_hca_util.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ia_close.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ia_open.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ia_query.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ia_util.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_llist.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_lmr_free.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_lmr_query.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_lmr_util.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_lmr_sync_rdma_read.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_lmr_sync_rdma_write.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_mr_util.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_provider.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_sp_util.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_psp_create.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_psp_create_any.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_psp_free.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_psp_query.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_pz_create.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_pz_free.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_pz_query.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_pz_util.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_rmr_create.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_rmr_free.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_rmr_bind.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_rmr_query.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_rmr_util.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_rsp_create.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_rsp_free.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_rsp_query.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_cno_util.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_set_consumer_context.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ring_buffer_util.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_name_service.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_timer_util.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ep_create_with_srq.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ep_recv_query.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ep_set_watermark.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_srq_create.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_srq_free.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_srq_query.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_srq_resize.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_srq_post_recv.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_srq_set_lw.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_srq_util.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_debug.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ia_ha.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_csp.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ep_post_send_invalidate.c \
+ at DEFINE_CMA_TRUE@ dapl/common/dapl_ep_post_rdma_read_to_rmr.c \
+ at DEFINE_CMA_TRUE@ dapl/openib_common/mem.c \
+ at DEFINE_CMA_TRUE@ dapl/openib_common/cq.c \
+ at DEFINE_CMA_TRUE@ dapl/openib_common/qp.c \
+ at DEFINE_CMA_TRUE@ dapl/openib_common/util.c \
+ at DEFINE_CMA_TRUE@ dapl/openib_cma/cm.c \
+ at DEFINE_CMA_TRUE@ dapl/openib_cma/device.c $(XPROGRAMS)
+
+ at DEFINE_CMA_TRUE@dapl_udapl_libdaplofa_la_LDFLAGS = -version-info 2:0:0 $(daplofa_version_script) \
+ at DEFINE_CMA_TRUE@ -Wl,-init,dapl_init -Wl,-fini,dapl_fini \
+ at DEFINE_CMA_TRUE@ -lpthread -libverbs -lrdmacm $(XLIBS)
+#
+# uDAPL OpenFabrics Socket CM version for IB: libdaplscm.so
+#
+ at DEFINE_SCM_TRUE@dapl_udapl_libdaploscm_la_SOURCES = dapl/udapl/dapl_init.c \
+ at DEFINE_SCM_TRUE@ dapl/udapl/dapl_evd_create.c \
+ at DEFINE_SCM_TRUE@ dapl/udapl/dapl_evd_query.c \
+ at DEFINE_SCM_TRUE@ dapl/udapl/dapl_cno_create.c \
+ at DEFINE_SCM_TRUE@ dapl/udapl/dapl_cno_modify_agent.c \
+ at DEFINE_SCM_TRUE@ dapl/udapl/dapl_cno_free.c \
+ at DEFINE_SCM_TRUE@ dapl/udapl/dapl_cno_wait.c \
+ at DEFINE_SCM_TRUE@ dapl/udapl/dapl_cno_query.c \
+ at DEFINE_SCM_TRUE@ dapl/udapl/dapl_lmr_create.c \
+ at DEFINE_SCM_TRUE@ dapl/udapl/dapl_evd_wait.c \
+ at DEFINE_SCM_TRUE@ dapl/udapl/dapl_evd_disable.c \
+ at DEFINE_SCM_TRUE@ dapl/udapl/dapl_evd_enable.c \
+ at DEFINE_SCM_TRUE@ dapl/udapl/dapl_evd_modify_cno.c \
+ at DEFINE_SCM_TRUE@ dapl/udapl/dapl_evd_set_unwaitable.c \
+ at DEFINE_SCM_TRUE@ dapl/udapl/dapl_evd_clear_unwaitable.c \
+ at DEFINE_SCM_TRUE@ dapl/udapl/linux/dapl_osd.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_cookie.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_cr_accept.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_cr_query.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_cr_reject.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_cr_util.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_cr_callback.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_cr_handoff.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ep_connect.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ep_create.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ep_disconnect.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ep_dup_connect.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ep_free.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ep_reset.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ep_get_status.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ep_modify.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ep_post_rdma_read.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ep_post_rdma_write.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ep_post_recv.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ep_post_send.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ep_query.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ep_util.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_evd_dequeue.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_evd_free.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_evd_post_se.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_evd_resize.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_evd_util.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_evd_cq_async_error_callb.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_evd_qp_async_error_callb.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_evd_un_async_error_callb.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_evd_connection_callb.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_evd_dto_callb.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_get_consumer_context.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_get_handle_type.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_hash.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_hca_util.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ia_close.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ia_open.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ia_query.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ia_util.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_llist.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_lmr_free.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_lmr_query.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_lmr_util.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_lmr_sync_rdma_read.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_lmr_sync_rdma_write.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_mr_util.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_provider.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_sp_util.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_psp_create.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_psp_create_any.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_psp_free.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_psp_query.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_pz_create.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_pz_free.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_pz_query.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_pz_util.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_rmr_create.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_rmr_free.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_rmr_bind.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_rmr_query.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_rmr_util.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_rsp_create.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_rsp_free.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_rsp_query.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_cno_util.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_set_consumer_context.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ring_buffer_util.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_name_service.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_timer_util.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ep_create_with_srq.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ep_recv_query.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ep_set_watermark.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_srq_create.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_srq_free.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_srq_query.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_srq_resize.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_srq_post_recv.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_srq_set_lw.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_srq_util.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_debug.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ia_ha.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_csp.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ep_post_send_invalidate.c \
+ at DEFINE_SCM_TRUE@ dapl/common/dapl_ep_post_rdma_read_to_rmr.c \
+ at DEFINE_SCM_TRUE@ dapl/openib_common/mem.c \
+ at DEFINE_SCM_TRUE@ dapl/openib_common/cq.c \
+ at DEFINE_SCM_TRUE@ dapl/openib_common/qp.c \
+ at DEFINE_SCM_TRUE@ dapl/openib_common/util.c \
+ at DEFINE_SCM_TRUE@ dapl/openib_scm/cm.c \
+ at DEFINE_SCM_TRUE@ dapl/openib_scm/device.c $(XPROGRAMS)
+
+ at DEFINE_SCM_TRUE@dapl_udapl_libdaploscm_la_LDFLAGS = -version-info 2:0:0 $(daploscm_version_script) \
+ at DEFINE_SCM_TRUE@ -Wl,-init,dapl_init -Wl,-fini,dapl_fini \
+ at DEFINE_SCM_TRUE@ -lpthread -libverbs $(XLIBS)
#
-# uDAPL OpenFabrics Socket CM version: libdaplscm.so
+# uDAPL OpenFabrics UD CM version for IB: libdaplucm.so
#
-dapl_udapl_libdaploscm_la_SOURCES = dapl/udapl/dapl_init.c \
- dapl/udapl/dapl_evd_create.c \
- dapl/udapl/dapl_evd_query.c \
- dapl/udapl/dapl_cno_create.c \
- dapl/udapl/dapl_cno_modify_agent.c \
- dapl/udapl/dapl_cno_free.c \
- dapl/udapl/dapl_cno_wait.c \
- dapl/udapl/dapl_cno_query.c \
- dapl/udapl/dapl_lmr_create.c \
- dapl/udapl/dapl_evd_wait.c \
- dapl/udapl/dapl_evd_disable.c \
- dapl/udapl/dapl_evd_enable.c \
- dapl/udapl/dapl_evd_modify_cno.c \
- dapl/udapl/dapl_evd_set_unwaitable.c \
- dapl/udapl/dapl_evd_clear_unwaitable.c \
- dapl/udapl/linux/dapl_osd.c \
- dapl/common/dapl_cookie.c \
- dapl/common/dapl_cr_accept.c \
- dapl/common/dapl_cr_query.c \
- dapl/common/dapl_cr_reject.c \
- dapl/common/dapl_cr_util.c \
- dapl/common/dapl_cr_callback.c \
- dapl/common/dapl_cr_handoff.c \
- dapl/common/dapl_ep_connect.c \
- dapl/common/dapl_ep_create.c \
- dapl/common/dapl_ep_disconnect.c \
- dapl/common/dapl_ep_dup_connect.c \
- dapl/common/dapl_ep_free.c \
- dapl/common/dapl_ep_reset.c \
- dapl/common/dapl_ep_get_status.c \
- dapl/common/dapl_ep_modify.c \
- dapl/common/dapl_ep_post_rdma_read.c \
- dapl/common/dapl_ep_post_rdma_write.c \
- dapl/common/dapl_ep_post_recv.c \
- dapl/common/dapl_ep_post_send.c \
- dapl/common/dapl_ep_query.c \
- dapl/common/dapl_ep_util.c \
- dapl/common/dapl_evd_dequeue.c \
- dapl/common/dapl_evd_free.c \
- dapl/common/dapl_evd_post_se.c \
- dapl/common/dapl_evd_resize.c \
- dapl/common/dapl_evd_util.c \
- dapl/common/dapl_evd_cq_async_error_callb.c \
- dapl/common/dapl_evd_qp_async_error_callb.c \
- dapl/common/dapl_evd_un_async_error_callb.c \
- dapl/common/dapl_evd_connection_callb.c \
- dapl/common/dapl_evd_dto_callb.c \
- dapl/common/dapl_get_consumer_context.c \
- dapl/common/dapl_get_handle_type.c \
- dapl/common/dapl_hash.c \
- dapl/common/dapl_hca_util.c \
- dapl/common/dapl_ia_close.c \
- dapl/common/dapl_ia_open.c \
- dapl/common/dapl_ia_query.c \
- dapl/common/dapl_ia_util.c \
- dapl/common/dapl_llist.c \
- dapl/common/dapl_lmr_free.c \
- dapl/common/dapl_lmr_query.c \
- dapl/common/dapl_lmr_util.c \
- dapl/common/dapl_lmr_sync_rdma_read.c \
- dapl/common/dapl_lmr_sync_rdma_write.c \
- dapl/common/dapl_mr_util.c \
- dapl/common/dapl_provider.c \
- dapl/common/dapl_sp_util.c \
- dapl/common/dapl_psp_create.c \
- dapl/common/dapl_psp_create_any.c \
- dapl/common/dapl_psp_free.c \
- dapl/common/dapl_psp_query.c \
- dapl/common/dapl_pz_create.c \
- dapl/common/dapl_pz_free.c \
- dapl/common/dapl_pz_query.c \
- dapl/common/dapl_pz_util.c \
- dapl/common/dapl_rmr_create.c \
- dapl/common/dapl_rmr_free.c \
- dapl/common/dapl_rmr_bind.c \
- dapl/common/dapl_rmr_query.c \
- dapl/common/dapl_rmr_util.c \
- dapl/common/dapl_rsp_create.c \
- dapl/common/dapl_rsp_free.c \
- dapl/common/dapl_rsp_query.c \
- dapl/common/dapl_cno_util.c \
- dapl/common/dapl_set_consumer_context.c \
- dapl/common/dapl_ring_buffer_util.c \
- dapl/common/dapl_name_service.c \
- dapl/common/dapl_timer_util.c \
- dapl/common/dapl_ep_create_with_srq.c \
- dapl/common/dapl_ep_recv_query.c \
- dapl/common/dapl_ep_set_watermark.c \
- dapl/common/dapl_srq_create.c \
- dapl/common/dapl_srq_free.c \
- dapl/common/dapl_srq_query.c \
- dapl/common/dapl_srq_resize.c \
- dapl/common/dapl_srq_post_recv.c \
- dapl/common/dapl_srq_set_lw.c \
- dapl/common/dapl_srq_util.c \
- dapl/common/dapl_debug.c \
- dapl/common/dapl_ia_ha.c \
- dapl/common/dapl_csp.c \
- dapl/common/dapl_ep_post_send_invalidate.c \
- dapl/common/dapl_ep_post_rdma_read_to_rmr.c \
- dapl/openib_scm/dapl_ib_util.c \
- dapl/openib_scm/dapl_ib_cq.c \
- dapl/openib_scm/dapl_ib_qp.c \
- dapl/openib_scm/dapl_ib_cm.c \
- dapl/openib_scm/dapl_ib_mem.c $(XPROGRAMS_SCM)
-
-dapl_udapl_libdaploscm_la_LDFLAGS = -version-info 2:0:0 $(daploscm_version_script) \
- -Wl,-init,dapl_init -Wl,-fini,dapl_fini \
- -lpthread -libverbs
+ at DEFINE_UCM_TRUE@dapl_udapl_libdaploucm_la_SOURCES = dapl/udapl/dapl_init.c \
+ at DEFINE_UCM_TRUE@ dapl/udapl/dapl_evd_create.c \
+ at DEFINE_UCM_TRUE@ dapl/udapl/dapl_evd_query.c \
+ at DEFINE_UCM_TRUE@ dapl/udapl/dapl_cno_create.c \
+ at DEFINE_UCM_TRUE@ dapl/udapl/dapl_cno_modify_agent.c \
+ at DEFINE_UCM_TRUE@ dapl/udapl/dapl_cno_free.c \
+ at DEFINE_UCM_TRUE@ dapl/udapl/dapl_cno_wait.c \
+ at DEFINE_UCM_TRUE@ dapl/udapl/dapl_cno_query.c \
+ at DEFINE_UCM_TRUE@ dapl/udapl/dapl_lmr_create.c \
+ at DEFINE_UCM_TRUE@ dapl/udapl/dapl_evd_wait.c \
+ at DEFINE_UCM_TRUE@ dapl/udapl/dapl_evd_disable.c \
+ at DEFINE_UCM_TRUE@ dapl/udapl/dapl_evd_enable.c \
+ at DEFINE_UCM_TRUE@ dapl/udapl/dapl_evd_modify_cno.c \
+ at DEFINE_UCM_TRUE@ dapl/udapl/dapl_evd_set_unwaitable.c \
+ at DEFINE_UCM_TRUE@ dapl/udapl/dapl_evd_clear_unwaitable.c \
+ at DEFINE_UCM_TRUE@ dapl/udapl/linux/dapl_osd.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_cookie.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_cr_accept.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_cr_query.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_cr_reject.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_cr_util.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_cr_callback.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_cr_handoff.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ep_connect.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ep_create.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ep_disconnect.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ep_dup_connect.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ep_free.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ep_reset.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ep_get_status.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ep_modify.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ep_post_rdma_read.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ep_post_rdma_write.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ep_post_recv.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ep_post_send.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ep_query.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ep_util.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_evd_dequeue.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_evd_free.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_evd_post_se.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_evd_resize.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_evd_util.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_evd_cq_async_error_callb.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_evd_qp_async_error_callb.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_evd_un_async_error_callb.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_evd_connection_callb.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_evd_dto_callb.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_get_consumer_context.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_get_handle_type.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_hash.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_hca_util.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ia_close.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ia_open.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ia_query.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ia_util.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_llist.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_lmr_free.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_lmr_query.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_lmr_util.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_lmr_sync_rdma_read.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_lmr_sync_rdma_write.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_mr_util.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_provider.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_sp_util.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_psp_create.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_psp_create_any.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_psp_free.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_psp_query.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_pz_create.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_pz_free.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_pz_query.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_pz_util.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_rmr_create.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_rmr_free.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_rmr_bind.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_rmr_query.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_rmr_util.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_rsp_create.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_rsp_free.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_rsp_query.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_cno_util.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_set_consumer_context.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ring_buffer_util.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_name_service.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_timer_util.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ep_create_with_srq.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ep_recv_query.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ep_set_watermark.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_srq_create.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_srq_free.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_srq_query.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_srq_resize.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_srq_post_recv.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_srq_set_lw.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_srq_util.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_debug.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ia_ha.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_csp.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ep_post_send_invalidate.c \
+ at DEFINE_UCM_TRUE@ dapl/common/dapl_ep_post_rdma_read_to_rmr.c \
+ at DEFINE_UCM_TRUE@ dapl/openib_common/mem.c \
+ at DEFINE_UCM_TRUE@ dapl/openib_common/cq.c \
+ at DEFINE_UCM_TRUE@ dapl/openib_common/qp.c \
+ at DEFINE_UCM_TRUE@ dapl/openib_common/util.c \
+ at DEFINE_UCM_TRUE@ dapl/openib_ucm/cm.c \
+ at DEFINE_UCM_TRUE@ dapl/openib_ucm/device.c $(XPROGRAMS)
+
+ at DEFINE_UCM_TRUE@dapl_udapl_libdaploucm_la_LDFLAGS = -version-info 2:0:0 $(daploscm_version_script) \
+ at DEFINE_UCM_TRUE@ -Wl,-init,dapl_init -Wl,-fini,dapl_fini \
+ at DEFINE_UCM_TRUE@ -lpthread -libverbs $(XLIBS)
libdatincludedir = $(includedir)/dat2
libdatinclude_HEADERS = dat/include/dat2/dat.h \
@@ -946,15 +1339,24 @@ EXTRA_DIST = dat/common/dat_dictionary.h \
dapl/include/dapl_debug.h \
dapl/include/dapl_ipoib_names.h \
dapl/include/dapl_vendor.h \
- dapl/openib_cma/dapl_ib_dto.h \
+ dapl/openib_common/dapl_ib_dto.h \
+ dapl/openib_common/dapl_ib_common.h \
+ dapl/openib_common/collectives/ib_collectives.h \
+ dapl/openib_common/collectives/fca_provider.h \
dapl/openib_cma/dapl_ib_util.h \
dapl/openib_cma/linux/openib_osd.h \
- dapl/openib_scm/dapl_ib_dto.h \
dapl/openib_scm/dapl_ib_util.h \
dapl/openib_scm/linux/openib_osd.h \
+ dapl/openib_ucm/dapl_ib_util.h \
+ dapl/openib_ucm/linux/openib_osd.h \
dat/udat/libdat2.map \
dapl/udapl/libdaplofa.map \
dapl/udapl/libdaploscm.map \
+ dapl/udapl/libdaploucm.map \
+ LICENSE.txt \
+ LICENSE2.txt \
+ LICENSE3.txt \
+ doc/dat.conf \
dapl.spec.in \
$(man_MANS) \
test/dapltest/include/dapl_bpool.h \
@@ -997,15 +1399,15 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
- cd $(srcdir) && $(AUTOMAKE) --gnu \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
&& exit 0; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -1021,9 +1423,10 @@ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENC
$(SHELL) ./config.status --recheck
$(top_srcdir)/configure: $(am__configure_deps)
- cd $(srcdir) && $(AUTOCONF)
+ $(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
config.h: stamp-h1
@if test ! -f $@; then \
@@ -1035,7 +1438,7 @@ stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: $(am__configure_deps)
- cd $(top_srcdir) && $(AUTOHEADER)
+ ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
rm -f stamp-h1
touch $@
@@ -1046,20 +1449,24 @@ dapl.spec: $(top_builddir)/config.status $(srcdir)/dapl.spec.in
install-dapllibofaLTLIBRARIES: $(dapllibofa_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(dapllibofadir)" || $(MKDIR_P) "$(DESTDIR)$(dapllibofadir)"
- @list='$(dapllibofa_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(dapllibofa_LTLIBRARIES)'; test -n "$(dapllibofadir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(dapllibofaLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(dapllibofadir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(dapllibofaLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(dapllibofadir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(dapllibofadir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(dapllibofadir)"; \
+ }
uninstall-dapllibofaLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(dapllibofa_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(dapllibofadir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(dapllibofadir)/$$p"; \
+ @list='$(dapllibofa_LTLIBRARIES)'; test -n "$(dapllibofadir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(dapllibofadir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(dapllibofadir)/$$f"; \
done
clean-dapllibofaLTLIBRARIES:
@@ -1073,20 +1480,24 @@ clean-dapllibofaLTLIBRARIES:
install-daplliboscmLTLIBRARIES: $(daplliboscm_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(daplliboscmdir)" || $(MKDIR_P) "$(DESTDIR)$(daplliboscmdir)"
- @list='$(daplliboscm_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(daplliboscm_LTLIBRARIES)'; test -n "$(daplliboscmdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(daplliboscmLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(daplliboscmdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(daplliboscmLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(daplliboscmdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(daplliboscmdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(daplliboscmdir)"; \
+ }
uninstall-daplliboscmLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(daplliboscm_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(daplliboscmdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(daplliboscmdir)/$$p"; \
+ @list='$(daplliboscm_LTLIBRARIES)'; test -n "$(daplliboscmdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(daplliboscmdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(daplliboscmdir)/$$f"; \
done
clean-daplliboscmLTLIBRARIES:
@@ -1097,23 +1508,58 @@ clean-daplliboscmLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
+install-daplliboucmLTLIBRARIES: $(daplliboucm_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(daplliboucmdir)" || $(MKDIR_P) "$(DESTDIR)$(daplliboucmdir)"
+ @list='$(daplliboucm_LTLIBRARIES)'; test -n "$(daplliboucmdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(daplliboucmdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(daplliboucmdir)"; \
+ }
+
+uninstall-daplliboucmLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(daplliboucm_LTLIBRARIES)'; test -n "$(daplliboucmdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(daplliboucmdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(daplliboucmdir)/$$f"; \
+ done
+
+clean-daplliboucmLTLIBRARIES:
+ -test -z "$(daplliboucm_LTLIBRARIES)" || rm -f $(daplliboucm_LTLIBRARIES)
+ @list='$(daplliboucm_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
install-datlibLTLIBRARIES: $(datlib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(datlibdir)" || $(MKDIR_P) "$(DESTDIR)$(datlibdir)"
- @list='$(datlib_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(datlib_LTLIBRARIES)'; test -n "$(datlibdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(datlibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(datlibdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(datlibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(datlibdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(datlibdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(datlibdir)"; \
+ }
uninstall-datlibLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(datlib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(datlibdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(datlibdir)/$$p"; \
+ @list='$(datlib_LTLIBRARIES)'; test -n "$(datlibdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(datlibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(datlibdir)/$$f"; \
done
clean-datlibLTLIBRARIES:
@@ -1128,9 +1574,11 @@ dapl/udapl/$(am__dirstamp):
@$(MKDIR_P) dapl/udapl
@: > dapl/udapl/$(am__dirstamp)
dapl/udapl/libdaplofa.la: $(dapl_udapl_libdaplofa_la_OBJECTS) $(dapl_udapl_libdaplofa_la_DEPENDENCIES) dapl/udapl/$(am__dirstamp)
- $(dapl_udapl_libdaplofa_la_LINK) -rpath $(dapllibofadir) $(dapl_udapl_libdaplofa_la_OBJECTS) $(dapl_udapl_libdaplofa_la_LIBADD) $(LIBS)
+ $(dapl_udapl_libdaplofa_la_LINK) $(am_dapl_udapl_libdaplofa_la_rpath) $(dapl_udapl_libdaplofa_la_OBJECTS) $(dapl_udapl_libdaplofa_la_LIBADD) $(LIBS)
dapl/udapl/libdaploscm.la: $(dapl_udapl_libdaploscm_la_OBJECTS) $(dapl_udapl_libdaploscm_la_DEPENDENCIES) dapl/udapl/$(am__dirstamp)
- $(dapl_udapl_libdaploscm_la_LINK) -rpath $(daplliboscmdir) $(dapl_udapl_libdaploscm_la_OBJECTS) $(dapl_udapl_libdaploscm_la_LIBADD) $(LIBS)
+ $(dapl_udapl_libdaploscm_la_LINK) $(am_dapl_udapl_libdaploscm_la_rpath) $(dapl_udapl_libdaploscm_la_OBJECTS) $(dapl_udapl_libdaploscm_la_LIBADD) $(LIBS)
+dapl/udapl/libdaploucm.la: $(dapl_udapl_libdaploucm_la_OBJECTS) $(dapl_udapl_libdaploucm_la_DEPENDENCIES) dapl/udapl/$(am__dirstamp)
+ $(dapl_udapl_libdaploucm_la_LINK) $(am_dapl_udapl_libdaploucm_la_rpath) $(dapl_udapl_libdaploucm_la_OBJECTS) $(dapl_udapl_libdaploucm_la_LIBADD) $(LIBS)
dat/udat/$(am__dirstamp):
@$(MKDIR_P) dat/udat
@: > dat/udat/$(am__dirstamp)
@@ -1143,6 +1591,8 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-cm.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-cq.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_create.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_free.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_modify_agent.Plo at am__quote@
@@ -1204,12 +1654,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_open.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_query.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_util.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_cm.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_cq.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_extensions.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_mem.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_qp.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_util.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_init.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_llist.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_create.Plo at am__quote@
@@ -1249,6 +1693,14 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_set_lw.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_util.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_timer_util.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-device.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-fca_provider.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-ib_extensions.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-mem.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-qp.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaplofa_la-util.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-cm.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-cq.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_create.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_free.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_modify_agent.Plo at am__quote@
@@ -1310,12 +1762,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_open.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_query.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_util.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_cm.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_cq.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_extensions.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_mem.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_qp.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_util.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_init.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_llist.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_create.Plo at am__quote@
@@ -1355,6 +1801,120 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_set_lw.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_util.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_timer_util.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-device.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-fca_provider.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-ib_extensions.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-mem.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-qp.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploscm_la-util.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-cm.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-cq.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_create.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_free.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_modify_agent.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_query.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_util.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_wait.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cookie.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_accept.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_callback.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_handoff.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_query.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_reject.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_util.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_csp.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_debug.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_connect.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_create.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_create_with_srq.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_disconnect.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_dup_connect.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_free.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_get_status.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_modify.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_read.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_read_to_rmr.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_write.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_recv.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_send.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_send_invalidate.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_query.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_recv_query.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_reset.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_set_watermark.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_util.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_clear_unwaitable.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_connection_callb.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_cq_async_error_callb.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_create.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_dequeue.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_disable.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_dto_callb.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_enable.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_free.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_modify_cno.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_post_se.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_qp_async_error_callb.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_query.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_resize.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_set_unwaitable.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_un_async_error_callb.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_util.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_wait.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_get_consumer_context.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_get_handle_type.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_hash.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_hca_util.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ia_close.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ia_ha.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ia_open.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ia_query.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ia_util.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_init.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_llist.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_create.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_free.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_query.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_sync_rdma_read.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_sync_rdma_write.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_util.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_mr_util.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_name_service.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_osd.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_provider.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_psp_create.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_psp_create_any.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_psp_free.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_psp_query.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_pz_create.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_pz_free.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_pz_query.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_pz_util.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ring_buffer_util.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rmr_bind.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rmr_create.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rmr_free.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rmr_query.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rmr_util.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rsp_create.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rsp_free.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rsp_query.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_set_consumer_context.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_sp_util.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_create.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_free.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_post_recv.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_query.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_resize.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_set_lw.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_util.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_timer_util.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-device.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-fca_provider.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-ib_extensions.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-mem.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-qp.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dapl_udapl_libdaploucm_la-util.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dat_udat_libdat2_la-dat_api.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dat_udat_libdat2_la-dat_dictionary.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dat_udat_libdat2_la-dat_dr.Plo at am__quote@
@@ -1368,1578 +1928,2362 @@ distclean-compile:
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
dapl_udapl_libdaplofa_la-dapl_init.lo: dapl/udapl/dapl_init.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_init.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_init.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_init.lo `test -f 'dapl/udapl/dapl_init.c' || echo '$(srcdir)/'`dapl/udapl/dapl_init.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_init.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_init.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_init.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_init.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_init.lo `test -f 'dapl/udapl/dapl_init.c' || echo '$(srcdir)/'`dapl/udapl/dapl_init.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_init.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_init.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_init.c' object='dapl_udapl_libdaplofa_la-dapl_init.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_init.lo `test -f 'dapl/udapl/dapl_init.c' || echo '$(srcdir)/'`dapl/udapl/dapl_init.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_init.lo `test -f 'dapl/udapl/dapl_init.c' || echo '$(srcdir)/'`dapl/udapl/dapl_init.c
dapl_udapl_libdaplofa_la-dapl_evd_create.lo: dapl/udapl/dapl_evd_create.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_create.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_create.lo `test -f 'dapl/udapl/dapl_evd_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_create.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_create.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_create.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_create.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_create.lo `test -f 'dapl/udapl/dapl_evd_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_create.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_create.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_create.c' object='dapl_udapl_libdaplofa_la-dapl_evd_create.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_create.lo `test -f 'dapl/udapl/dapl_evd_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_create.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_create.lo `test -f 'dapl/udapl/dapl_evd_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_create.c
dapl_udapl_libdaplofa_la-dapl_evd_query.lo: dapl/udapl/dapl_evd_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_query.lo `test -f 'dapl/udapl/dapl_evd_query.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_query.lo `test -f 'dapl/udapl/dapl_evd_query.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_query.c' object='dapl_udapl_libdaplofa_la-dapl_evd_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_query.lo `test -f 'dapl/udapl/dapl_evd_query.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_query.lo `test -f 'dapl/udapl/dapl_evd_query.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_query.c
dapl_udapl_libdaplofa_la-dapl_cno_create.lo: dapl/udapl/dapl_cno_create.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cno_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_create.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cno_create.lo `test -f 'dapl/udapl/dapl_cno_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_create.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_create.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_create.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cno_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_create.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cno_create.lo `test -f 'dapl/udapl/dapl_cno_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_create.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_create.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_cno_create.c' object='dapl_udapl_libdaplofa_la-dapl_cno_create.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cno_create.lo `test -f 'dapl/udapl/dapl_cno_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_create.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cno_create.lo `test -f 'dapl/udapl/dapl_cno_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_create.c
dapl_udapl_libdaplofa_la-dapl_cno_modify_agent.lo: dapl/udapl/dapl_cno_modify_agent.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cno_modify_agent.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_modify_agent.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cno_modify_agent.lo `test -f 'dapl/udapl/dapl_cno_modify_agent.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_modify_agent.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_modify_agent.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_modify_agent.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cno_modify_agent.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_modify_agent.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cno_modify_agent.lo `test -f 'dapl/udapl/dapl_cno_modify_agent.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_modify_agent.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_modify_agent.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_modify_agent.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_cno_modify_agent.c' object='dapl_udapl_libdaplofa_la-dapl_cno_modify_agent.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cno_modify_agent.lo `test -f 'dapl/udapl/dapl_cno_modify_agent.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_modify_agent.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cno_modify_agent.lo `test -f 'dapl/udapl/dapl_cno_modify_agent.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_modify_agent.c
dapl_udapl_libdaplofa_la-dapl_cno_free.lo: dapl/udapl/dapl_cno_free.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cno_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_free.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cno_free.lo `test -f 'dapl/udapl/dapl_cno_free.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_free.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_free.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_free.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cno_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_free.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cno_free.lo `test -f 'dapl/udapl/dapl_cno_free.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_free.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_free.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_cno_free.c' object='dapl_udapl_libdaplofa_la-dapl_cno_free.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cno_free.lo `test -f 'dapl/udapl/dapl_cno_free.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_free.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cno_free.lo `test -f 'dapl/udapl/dapl_cno_free.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_free.c
dapl_udapl_libdaplofa_la-dapl_cno_wait.lo: dapl/udapl/dapl_cno_wait.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cno_wait.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_wait.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cno_wait.lo `test -f 'dapl/udapl/dapl_cno_wait.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_wait.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_wait.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_wait.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cno_wait.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_wait.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cno_wait.lo `test -f 'dapl/udapl/dapl_cno_wait.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_wait.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_wait.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_wait.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_cno_wait.c' object='dapl_udapl_libdaplofa_la-dapl_cno_wait.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cno_wait.lo `test -f 'dapl/udapl/dapl_cno_wait.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_wait.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cno_wait.lo `test -f 'dapl/udapl/dapl_cno_wait.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_wait.c
dapl_udapl_libdaplofa_la-dapl_cno_query.lo: dapl/udapl/dapl_cno_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cno_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cno_query.lo `test -f 'dapl/udapl/dapl_cno_query.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cno_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cno_query.lo `test -f 'dapl/udapl/dapl_cno_query.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_cno_query.c' object='dapl_udapl_libdaplofa_la-dapl_cno_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cno_query.lo `test -f 'dapl/udapl/dapl_cno_query.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cno_query.lo `test -f 'dapl/udapl/dapl_cno_query.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_query.c
dapl_udapl_libdaplofa_la-dapl_lmr_create.lo: dapl/udapl/dapl_lmr_create.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_lmr_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_create.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_lmr_create.lo `test -f 'dapl/udapl/dapl_lmr_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_lmr_create.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_create.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_create.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_lmr_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_create.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_lmr_create.lo `test -f 'dapl/udapl/dapl_lmr_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_lmr_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_create.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_create.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_lmr_create.c' object='dapl_udapl_libdaplofa_la-dapl_lmr_create.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_lmr_create.lo `test -f 'dapl/udapl/dapl_lmr_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_lmr_create.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_lmr_create.lo `test -f 'dapl/udapl/dapl_lmr_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_lmr_create.c
dapl_udapl_libdaplofa_la-dapl_evd_wait.lo: dapl/udapl/dapl_evd_wait.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_wait.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_wait.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_wait.lo `test -f 'dapl/udapl/dapl_evd_wait.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_wait.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_wait.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_wait.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_wait.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_wait.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_wait.lo `test -f 'dapl/udapl/dapl_evd_wait.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_wait.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_wait.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_wait.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_wait.c' object='dapl_udapl_libdaplofa_la-dapl_evd_wait.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_wait.lo `test -f 'dapl/udapl/dapl_evd_wait.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_wait.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_wait.lo `test -f 'dapl/udapl/dapl_evd_wait.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_wait.c
dapl_udapl_libdaplofa_la-dapl_evd_disable.lo: dapl/udapl/dapl_evd_disable.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_disable.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_disable.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_disable.lo `test -f 'dapl/udapl/dapl_evd_disable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_disable.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_disable.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_disable.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_disable.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_disable.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_disable.lo `test -f 'dapl/udapl/dapl_evd_disable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_disable.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_disable.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_disable.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_disable.c' object='dapl_udapl_libdaplofa_la-dapl_evd_disable.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_disable.lo `test -f 'dapl/udapl/dapl_evd_disable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_disable.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_disable.lo `test -f 'dapl/udapl/dapl_evd_disable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_disable.c
dapl_udapl_libdaplofa_la-dapl_evd_enable.lo: dapl/udapl/dapl_evd_enable.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_enable.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_enable.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_enable.lo `test -f 'dapl/udapl/dapl_evd_enable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_enable.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_enable.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_enable.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_enable.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_enable.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_enable.lo `test -f 'dapl/udapl/dapl_evd_enable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_enable.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_enable.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_enable.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_enable.c' object='dapl_udapl_libdaplofa_la-dapl_evd_enable.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_enable.lo `test -f 'dapl/udapl/dapl_evd_enable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_enable.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_enable.lo `test -f 'dapl/udapl/dapl_evd_enable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_enable.c
dapl_udapl_libdaplofa_la-dapl_evd_modify_cno.lo: dapl/udapl/dapl_evd_modify_cno.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_modify_cno.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_modify_cno.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_modify_cno.lo `test -f 'dapl/udapl/dapl_evd_modify_cno.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_modify_cno.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_modify_cno.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_modify_cno.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_modify_cno.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_modify_cno.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_modify_cno.lo `test -f 'dapl/udapl/dapl_evd_modify_cno.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_modify_cno.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_modify_cno.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_modify_cno.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_modify_cno.c' object='dapl_udapl_libdaplofa_la-dapl_evd_modify_cno.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_modify_cno.lo `test -f 'dapl/udapl/dapl_evd_modify_cno.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_modify_cno.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_modify_cno.lo `test -f 'dapl/udapl/dapl_evd_modify_cno.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_modify_cno.c
dapl_udapl_libdaplofa_la-dapl_evd_set_unwaitable.lo: dapl/udapl/dapl_evd_set_unwaitable.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_set_unwaitable.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_set_unwaitable.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_set_unwaitable.lo `test -f 'dapl/udapl/dapl_evd_set_unwaitable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_set_u [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_set_unwaitable.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_set_unwaitable.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_set_unwaitable.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_set_unwaitable.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_set_unwaitable.lo `test -f 'dapl/udapl/dapl_evd_set_unwaitable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_set_ [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_set_unwaitable.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_set_unwaitable.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_set_unwaitable.c' object='dapl_udapl_libdaplofa_la-dapl_evd_set_unwaitable.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_set_unwaitable.lo `test -f 'dapl/udapl/dapl_evd_set_unwaitable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_set_unwaitable.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_set_unwaitable.lo `test -f 'dapl/udapl/dapl_evd_set_unwaitable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_set_unwaitable.c
dapl_udapl_libdaplofa_la-dapl_evd_clear_unwaitable.lo: dapl/udapl/dapl_evd_clear_unwaitable.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_clear_unwaitable.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_clear_unwaitable.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_clear_unwaitable.lo `test -f 'dapl/udapl/dapl_evd_clear_unwaitable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_e [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_clear_unwaitable.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_clear_unwaitable.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_clear_unwaitable.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_clear_unwaitable.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_clear_unwaitable.lo `test -f 'dapl/udapl/dapl_evd_clear_unwaitable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_ [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_clear_unwaitable.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_clear_unwaitable.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_clear_unwaitable.c' object='dapl_udapl_libdaplofa_la-dapl_evd_clear_unwaitable.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_clear_unwaitable.lo `test -f 'dapl/udapl/dapl_evd_clear_unwaitable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_clear_unwaitable.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_clear_unwaitable.lo `test -f 'dapl/udapl/dapl_evd_clear_unwaitable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_clear_unwaitable.c
dapl_udapl_libdaplofa_la-dapl_osd.lo: dapl/udapl/linux/dapl_osd.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_osd.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_osd.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_osd.lo `test -f 'dapl/udapl/linux/dapl_osd.c' || echo '$(srcdir)/'`dapl/udapl/linux/dapl_osd.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_osd.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_osd.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_osd.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_osd.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_osd.lo `test -f 'dapl/udapl/linux/dapl_osd.c' || echo '$(srcdir)/'`dapl/udapl/linux/dapl_osd.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_osd.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_osd.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/linux/dapl_osd.c' object='dapl_udapl_libdaplofa_la-dapl_osd.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_osd.lo `test -f 'dapl/udapl/linux/dapl_osd.c' || echo '$(srcdir)/'`dapl/udapl/linux/dapl_osd.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_osd.lo `test -f 'dapl/udapl/linux/dapl_osd.c' || echo '$(srcdir)/'`dapl/udapl/linux/dapl_osd.c
dapl_udapl_libdaplofa_la-dapl_cookie.lo: dapl/common/dapl_cookie.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cookie.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cookie.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cookie.lo `test -f 'dapl/common/dapl_cookie.c' || echo '$(srcdir)/'`dapl/common/dapl_cookie.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cookie.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cookie.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cookie.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cookie.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cookie.lo `test -f 'dapl/common/dapl_cookie.c' || echo '$(srcdir)/'`dapl/common/dapl_cookie.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cookie.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cookie.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cookie.c' object='dapl_udapl_libdaplofa_la-dapl_cookie.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cookie.lo `test -f 'dapl/common/dapl_cookie.c' || echo '$(srcdir)/'`dapl/common/dapl_cookie.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cookie.lo `test -f 'dapl/common/dapl_cookie.c' || echo '$(srcdir)/'`dapl/common/dapl_cookie.c
dapl_udapl_libdaplofa_la-dapl_cr_accept.lo: dapl/common/dapl_cr_accept.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cr_accept.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_accept.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cr_accept.lo `test -f 'dapl/common/dapl_cr_accept.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_accept.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_accept.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_accept.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cr_accept.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_accept.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cr_accept.lo `test -f 'dapl/common/dapl_cr_accept.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_accept.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_accept.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_accept.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cr_accept.c' object='dapl_udapl_libdaplofa_la-dapl_cr_accept.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cr_accept.lo `test -f 'dapl/common/dapl_cr_accept.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_accept.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cr_accept.lo `test -f 'dapl/common/dapl_cr_accept.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_accept.c
dapl_udapl_libdaplofa_la-dapl_cr_query.lo: dapl/common/dapl_cr_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cr_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cr_query.lo `test -f 'dapl/common/dapl_cr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cr_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cr_query.lo `test -f 'dapl/common/dapl_cr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cr_query.c' object='dapl_udapl_libdaplofa_la-dapl_cr_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cr_query.lo `test -f 'dapl/common/dapl_cr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cr_query.lo `test -f 'dapl/common/dapl_cr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_query.c
dapl_udapl_libdaplofa_la-dapl_cr_reject.lo: dapl/common/dapl_cr_reject.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cr_reject.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_reject.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cr_reject.lo `test -f 'dapl/common/dapl_cr_reject.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_reject.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_reject.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_reject.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cr_reject.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_reject.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cr_reject.lo `test -f 'dapl/common/dapl_cr_reject.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_reject.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_reject.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_reject.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cr_reject.c' object='dapl_udapl_libdaplofa_la-dapl_cr_reject.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cr_reject.lo `test -f 'dapl/common/dapl_cr_reject.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_reject.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cr_reject.lo `test -f 'dapl/common/dapl_cr_reject.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_reject.c
dapl_udapl_libdaplofa_la-dapl_cr_util.lo: dapl/common/dapl_cr_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cr_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cr_util.lo `test -f 'dapl/common/dapl_cr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cr_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cr_util.lo `test -f 'dapl/common/dapl_cr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cr_util.c' object='dapl_udapl_libdaplofa_la-dapl_cr_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cr_util.lo `test -f 'dapl/common/dapl_cr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cr_util.lo `test -f 'dapl/common/dapl_cr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_util.c
dapl_udapl_libdaplofa_la-dapl_cr_callback.lo: dapl/common/dapl_cr_callback.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cr_callback.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_callback.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cr_callback.lo `test -f 'dapl/common/dapl_cr_callback.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_callback.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_callback.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_callback.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cr_callback.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_callback.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cr_callback.lo `test -f 'dapl/common/dapl_cr_callback.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_callback.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_callback.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_callback.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cr_callback.c' object='dapl_udapl_libdaplofa_la-dapl_cr_callback.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cr_callback.lo `test -f 'dapl/common/dapl_cr_callback.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_callback.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cr_callback.lo `test -f 'dapl/common/dapl_cr_callback.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_callback.c
dapl_udapl_libdaplofa_la-dapl_cr_handoff.lo: dapl/common/dapl_cr_handoff.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cr_handoff.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_handoff.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cr_handoff.lo `test -f 'dapl/common/dapl_cr_handoff.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_handoff.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_handoff.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_handoff.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cr_handoff.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_handoff.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cr_handoff.lo `test -f 'dapl/common/dapl_cr_handoff.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_handoff.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_handoff.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cr_handoff.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cr_handoff.c' object='dapl_udapl_libdaplofa_la-dapl_cr_handoff.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cr_handoff.lo `test -f 'dapl/common/dapl_cr_handoff.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_handoff.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cr_handoff.lo `test -f 'dapl/common/dapl_cr_handoff.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_handoff.c
dapl_udapl_libdaplofa_la-dapl_ep_connect.lo: dapl/common/dapl_ep_connect.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_connect.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_connect.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_connect.lo `test -f 'dapl/common/dapl_ep_connect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_connect.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_connect.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_connect.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_connect.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_connect.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_connect.lo `test -f 'dapl/common/dapl_ep_connect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_connect.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_connect.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_connect.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_connect.c' object='dapl_udapl_libdaplofa_la-dapl_ep_connect.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_connect.lo `test -f 'dapl/common/dapl_ep_connect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_connect.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_connect.lo `test -f 'dapl/common/dapl_ep_connect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_connect.c
dapl_udapl_libdaplofa_la-dapl_ep_create.lo: dapl/common/dapl_ep_create.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_create.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_create.lo `test -f 'dapl/common/dapl_ep_create.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_create.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_create.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_create.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_create.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_create.lo `test -f 'dapl/common/dapl_ep_create.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_create.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_create.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_create.c' object='dapl_udapl_libdaplofa_la-dapl_ep_create.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_create.lo `test -f 'dapl/common/dapl_ep_create.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_create.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_create.lo `test -f 'dapl/common/dapl_ep_create.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_create.c
dapl_udapl_libdaplofa_la-dapl_ep_disconnect.lo: dapl/common/dapl_ep_disconnect.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_disconnect.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_disconnect.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_disconnect.lo `test -f 'dapl/common/dapl_ep_disconnect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_disconnect.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_disconnect.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_disconnect.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_disconnect.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_disconnect.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_disconnect.lo `test -f 'dapl/common/dapl_ep_disconnect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_disconnect.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_disconnect.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_disconnect.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_disconnect.c' object='dapl_udapl_libdaplofa_la-dapl_ep_disconnect.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_disconnect.lo `test -f 'dapl/common/dapl_ep_disconnect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_disconnect.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_disconnect.lo `test -f 'dapl/common/dapl_ep_disconnect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_disconnect.c
dapl_udapl_libdaplofa_la-dapl_ep_dup_connect.lo: dapl/common/dapl_ep_dup_connect.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_dup_connect.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_dup_connect.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_dup_connect.lo `test -f 'dapl/common/dapl_ep_dup_connect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_dup_connect.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_dup_connect.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_dup_connect.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_dup_connect.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_dup_connect.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_dup_connect.lo `test -f 'dapl/common/dapl_ep_dup_connect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_dup_connect.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_dup_connect.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_dup_connect.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_dup_connect.c' object='dapl_udapl_libdaplofa_la-dapl_ep_dup_connect.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_dup_connect.lo `test -f 'dapl/common/dapl_ep_dup_connect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_dup_connect.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_dup_connect.lo `test -f 'dapl/common/dapl_ep_dup_connect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_dup_connect.c
dapl_udapl_libdaplofa_la-dapl_ep_free.lo: dapl/common/dapl_ep_free.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_free.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_free.lo `test -f 'dapl/common/dapl_ep_free.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_free.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_free.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_free.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_free.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_free.lo `test -f 'dapl/common/dapl_ep_free.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_free.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_free.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_free.c' object='dapl_udapl_libdaplofa_la-dapl_ep_free.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_free.lo `test -f 'dapl/common/dapl_ep_free.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_free.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_free.lo `test -f 'dapl/common/dapl_ep_free.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_free.c
dapl_udapl_libdaplofa_la-dapl_ep_reset.lo: dapl/common/dapl_ep_reset.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_reset.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_reset.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_reset.lo `test -f 'dapl/common/dapl_ep_reset.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_reset.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_reset.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_reset.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_reset.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_reset.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_reset.lo `test -f 'dapl/common/dapl_ep_reset.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_reset.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_reset.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_reset.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_reset.c' object='dapl_udapl_libdaplofa_la-dapl_ep_reset.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_reset.lo `test -f 'dapl/common/dapl_ep_reset.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_reset.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_reset.lo `test -f 'dapl/common/dapl_ep_reset.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_reset.c
dapl_udapl_libdaplofa_la-dapl_ep_get_status.lo: dapl/common/dapl_ep_get_status.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_get_status.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_get_status.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_get_status.lo `test -f 'dapl/common/dapl_ep_get_status.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_get_status.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_get_status.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_get_status.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_get_status.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_get_status.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_get_status.lo `test -f 'dapl/common/dapl_ep_get_status.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_get_status.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_get_status.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_get_status.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_get_status.c' object='dapl_udapl_libdaplofa_la-dapl_ep_get_status.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_get_status.lo `test -f 'dapl/common/dapl_ep_get_status.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_get_status.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_get_status.lo `test -f 'dapl/common/dapl_ep_get_status.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_get_status.c
dapl_udapl_libdaplofa_la-dapl_ep_modify.lo: dapl/common/dapl_ep_modify.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_modify.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_modify.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_modify.lo `test -f 'dapl/common/dapl_ep_modify.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_modify.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_modify.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_modify.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_modify.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_modify.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_modify.lo `test -f 'dapl/common/dapl_ep_modify.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_modify.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_modify.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_modify.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_modify.c' object='dapl_udapl_libdaplofa_la-dapl_ep_modify.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_modify.lo `test -f 'dapl/common/dapl_ep_modify.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_modify.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_modify.lo `test -f 'dapl/common/dapl_ep_modify.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_modify.c
dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read.lo: dapl/common/dapl_ep_post_rdma_read.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read.lo `test -f 'dapl/common/dapl_ep_post_rdma_read.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_rdm [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read.lo `test -f 'dapl/common/dapl_ep_post_rdma_read.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_rd [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_post_rdma_read.c' object='dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read.lo `test -f 'dapl/common/dapl_ep_post_rdma_read.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_rdma_read.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read.lo `test -f 'dapl/common/dapl_ep_post_rdma_read.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_rdma_read.c
dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_write.lo: dapl/common/dapl_ep_post_rdma_write.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_write.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_write.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_write.lo `test -f 'dapl/common/dapl_ep_post_rdma_write.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_write.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_write.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_write.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_write.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_write.lo `test -f 'dapl/common/dapl_ep_post_rdma_write.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_pos [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_write.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_write.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_post_rdma_write.c' object='dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_write.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_write.lo `test -f 'dapl/common/dapl_ep_post_rdma_write.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_rdma_write.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_write.lo `test -f 'dapl/common/dapl_ep_post_rdma_write.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_rdma_write.c
dapl_udapl_libdaplofa_la-dapl_ep_post_recv.lo: dapl/common/dapl_ep_post_recv.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_post_recv.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_recv.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_recv.lo `test -f 'dapl/common/dapl_ep_post_recv.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_recv.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_recv.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_recv.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_post_recv.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_recv.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_recv.lo `test -f 'dapl/common/dapl_ep_post_recv.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_recv.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_recv.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_recv.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_post_recv.c' object='dapl_udapl_libdaplofa_la-dapl_ep_post_recv.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_recv.lo `test -f 'dapl/common/dapl_ep_post_recv.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_recv.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_recv.lo `test -f 'dapl/common/dapl_ep_post_recv.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_recv.c
dapl_udapl_libdaplofa_la-dapl_ep_post_send.lo: dapl/common/dapl_ep_post_send.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_post_send.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_send.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_send.lo `test -f 'dapl/common/dapl_ep_post_send.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_send.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_send.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_send.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_post_send.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_send.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_send.lo `test -f 'dapl/common/dapl_ep_post_send.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_send.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_send.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_send.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_post_send.c' object='dapl_udapl_libdaplofa_la-dapl_ep_post_send.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_send.lo `test -f 'dapl/common/dapl_ep_post_send.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_send.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_send.lo `test -f 'dapl/common/dapl_ep_post_send.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_send.c
dapl_udapl_libdaplofa_la-dapl_ep_query.lo: dapl/common/dapl_ep_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_query.lo `test -f 'dapl/common/dapl_ep_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_query.lo `test -f 'dapl/common/dapl_ep_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_query.c' object='dapl_udapl_libdaplofa_la-dapl_ep_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_query.lo `test -f 'dapl/common/dapl_ep_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_query.lo `test -f 'dapl/common/dapl_ep_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_query.c
dapl_udapl_libdaplofa_la-dapl_ep_util.lo: dapl/common/dapl_ep_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_util.lo `test -f 'dapl/common/dapl_ep_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_util.lo `test -f 'dapl/common/dapl_ep_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_util.c' object='dapl_udapl_libdaplofa_la-dapl_ep_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_util.lo `test -f 'dapl/common/dapl_ep_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_util.lo `test -f 'dapl/common/dapl_ep_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_util.c
dapl_udapl_libdaplofa_la-dapl_evd_dequeue.lo: dapl/common/dapl_evd_dequeue.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_dequeue.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_dequeue.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_dequeue.lo `test -f 'dapl/common/dapl_evd_dequeue.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_dequeue.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_dequeue.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_dequeue.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_dequeue.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_dequeue.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_dequeue.lo `test -f 'dapl/common/dapl_evd_dequeue.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_dequeue.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_dequeue.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_dequeue.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_dequeue.c' object='dapl_udapl_libdaplofa_la-dapl_evd_dequeue.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_dequeue.lo `test -f 'dapl/common/dapl_evd_dequeue.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_dequeue.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_dequeue.lo `test -f 'dapl/common/dapl_evd_dequeue.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_dequeue.c
dapl_udapl_libdaplofa_la-dapl_evd_free.lo: dapl/common/dapl_evd_free.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_free.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_free.lo `test -f 'dapl/common/dapl_evd_free.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_free.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_free.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_free.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_free.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_free.lo `test -f 'dapl/common/dapl_evd_free.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_free.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_free.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_free.c' object='dapl_udapl_libdaplofa_la-dapl_evd_free.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_free.lo `test -f 'dapl/common/dapl_evd_free.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_free.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_free.lo `test -f 'dapl/common/dapl_evd_free.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_free.c
dapl_udapl_libdaplofa_la-dapl_evd_post_se.lo: dapl/common/dapl_evd_post_se.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_post_se.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_post_se.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_post_se.lo `test -f 'dapl/common/dapl_evd_post_se.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_post_se.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_post_se.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_post_se.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_post_se.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_post_se.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_post_se.lo `test -f 'dapl/common/dapl_evd_post_se.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_post_se.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_post_se.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_post_se.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_post_se.c' object='dapl_udapl_libdaplofa_la-dapl_evd_post_se.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_post_se.lo `test -f 'dapl/common/dapl_evd_post_se.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_post_se.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_post_se.lo `test -f 'dapl/common/dapl_evd_post_se.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_post_se.c
dapl_udapl_libdaplofa_la-dapl_evd_resize.lo: dapl/common/dapl_evd_resize.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_resize.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_resize.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_resize.lo `test -f 'dapl/common/dapl_evd_resize.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_resize.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_resize.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_resize.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_resize.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_resize.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_resize.lo `test -f 'dapl/common/dapl_evd_resize.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_resize.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_resize.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_resize.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_resize.c' object='dapl_udapl_libdaplofa_la-dapl_evd_resize.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_resize.lo `test -f 'dapl/common/dapl_evd_resize.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_resize.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_resize.lo `test -f 'dapl/common/dapl_evd_resize.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_resize.c
dapl_udapl_libdaplofa_la-dapl_evd_util.lo: dapl/common/dapl_evd_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_util.lo `test -f 'dapl/common/dapl_evd_util.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_util.lo `test -f 'dapl/common/dapl_evd_util.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_util.c' object='dapl_udapl_libdaplofa_la-dapl_evd_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_util.lo `test -f 'dapl/common/dapl_evd_util.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_util.lo `test -f 'dapl/common/dapl_evd_util.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_util.c
dapl_udapl_libdaplofa_la-dapl_evd_cq_async_error_callb.lo: dapl/common/dapl_evd_cq_async_error_callb.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_cq_async_error_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_cq_async_error_callb.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_cq_async_error_callb.lo `test -f 'dapl/common/dapl_evd_cq_async_error_callb.c' || echo '$(srcdir)/'` [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_cq_async_error_callb.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_cq_async_error_callb.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_cq_async_error_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_cq_async_error_callb.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_cq_async_error_callb.lo `test -f 'dapl/common/dapl_evd_cq_async_error_callb.c' || echo '$(srcdir)/' [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_cq_async_error_callb.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_cq_async_error_callb.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_cq_async_error_callb.c' object='dapl_udapl_libdaplofa_la-dapl_evd_cq_async_error_callb.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_cq_async_error_callb.lo `test -f 'dapl/common/dapl_evd_cq_async_error_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_cq_async_error_callb.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_cq_async_error_callb.lo `test -f 'dapl/common/dapl_evd_cq_async_error_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_cq_async_error_callb.c
dapl_udapl_libdaplofa_la-dapl_evd_qp_async_error_callb.lo: dapl/common/dapl_evd_qp_async_error_callb.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_qp_async_error_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_qp_async_error_callb.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_qp_async_error_callb.lo `test -f 'dapl/common/dapl_evd_qp_async_error_callb.c' || echo '$(srcdir)/'` [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_qp_async_error_callb.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_qp_async_error_callb.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_qp_async_error_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_qp_async_error_callb.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_qp_async_error_callb.lo `test -f 'dapl/common/dapl_evd_qp_async_error_callb.c' || echo '$(srcdir)/' [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_qp_async_error_callb.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_qp_async_error_callb.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_qp_async_error_callb.c' object='dapl_udapl_libdaplofa_la-dapl_evd_qp_async_error_callb.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_qp_async_error_callb.lo `test -f 'dapl/common/dapl_evd_qp_async_error_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_qp_async_error_callb.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_qp_async_error_callb.lo `test -f 'dapl/common/dapl_evd_qp_async_error_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_qp_async_error_callb.c
dapl_udapl_libdaplofa_la-dapl_evd_un_async_error_callb.lo: dapl/common/dapl_evd_un_async_error_callb.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_un_async_error_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_un_async_error_callb.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_un_async_error_callb.lo `test -f 'dapl/common/dapl_evd_un_async_error_callb.c' || echo '$(srcdir)/'` [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_un_async_error_callb.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_un_async_error_callb.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_un_async_error_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_un_async_error_callb.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_un_async_error_callb.lo `test -f 'dapl/common/dapl_evd_un_async_error_callb.c' || echo '$(srcdir)/' [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_un_async_error_callb.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_un_async_error_callb.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_un_async_error_callb.c' object='dapl_udapl_libdaplofa_la-dapl_evd_un_async_error_callb.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_un_async_error_callb.lo `test -f 'dapl/common/dapl_evd_un_async_error_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_un_async_error_callb.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_un_async_error_callb.lo `test -f 'dapl/common/dapl_evd_un_async_error_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_un_async_error_callb.c
dapl_udapl_libdaplofa_la-dapl_evd_connection_callb.lo: dapl/common/dapl_evd_connection_callb.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_connection_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_connection_callb.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_connection_callb.lo `test -f 'dapl/common/dapl_evd_connection_callb.c' || echo '$(srcdir)/'`dapl/common/dapl [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_connection_callb.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_connection_callb.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_connection_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_connection_callb.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_connection_callb.lo `test -f 'dapl/common/dapl_evd_connection_callb.c' || echo '$(srcdir)/'`dapl/common/dap [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_connection_callb.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_connection_callb.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_connection_callb.c' object='dapl_udapl_libdaplofa_la-dapl_evd_connection_callb.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_connection_callb.lo `test -f 'dapl/common/dapl_evd_connection_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_connection_callb.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_connection_callb.lo `test -f 'dapl/common/dapl_evd_connection_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_connection_callb.c
dapl_udapl_libdaplofa_la-dapl_evd_dto_callb.lo: dapl/common/dapl_evd_dto_callb.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_dto_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_dto_callb.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_dto_callb.lo `test -f 'dapl/common/dapl_evd_dto_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_dto_callb.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_dto_callb.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_dto_callb.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_evd_dto_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_dto_callb.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_evd_dto_callb.lo `test -f 'dapl/common/dapl_evd_dto_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_dto_callb.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_dto_callb.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_evd_dto_callb.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_dto_callb.c' object='dapl_udapl_libdaplofa_la-dapl_evd_dto_callb.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_dto_callb.lo `test -f 'dapl/common/dapl_evd_dto_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_dto_callb.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_evd_dto_callb.lo `test -f 'dapl/common/dapl_evd_dto_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_dto_callb.c
dapl_udapl_libdaplofa_la-dapl_get_consumer_context.lo: dapl/common/dapl_get_consumer_context.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_get_consumer_context.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_get_consumer_context.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_get_consumer_context.lo `test -f 'dapl/common/dapl_get_consumer_context.c' || echo '$(srcdir)/'`dapl/common/dapl [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_get_consumer_context.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_get_consumer_context.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_get_consumer_context.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_get_consumer_context.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_get_consumer_context.lo `test -f 'dapl/common/dapl_get_consumer_context.c' || echo '$(srcdir)/'`dapl/common/dap [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_get_consumer_context.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_get_consumer_context.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_get_consumer_context.c' object='dapl_udapl_libdaplofa_la-dapl_get_consumer_context.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_get_consumer_context.lo `test -f 'dapl/common/dapl_get_consumer_context.c' || echo '$(srcdir)/'`dapl/common/dapl_get_consumer_context.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_get_consumer_context.lo `test -f 'dapl/common/dapl_get_consumer_context.c' || echo '$(srcdir)/'`dapl/common/dapl_get_consumer_context.c
dapl_udapl_libdaplofa_la-dapl_get_handle_type.lo: dapl/common/dapl_get_handle_type.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_get_handle_type.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_get_handle_type.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_get_handle_type.lo `test -f 'dapl/common/dapl_get_handle_type.c' || echo '$(srcdir)/'`dapl/common/dapl_get_handle_type.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_get_handle_type.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_get_handle_type.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_get_handle_type.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_get_handle_type.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_get_handle_type.lo `test -f 'dapl/common/dapl_get_handle_type.c' || echo '$(srcdir)/'`dapl/common/dapl_get_handle_type.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_get_handle_type.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_get_handle_type.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_get_handle_type.c' object='dapl_udapl_libdaplofa_la-dapl_get_handle_type.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_get_handle_type.lo `test -f 'dapl/common/dapl_get_handle_type.c' || echo '$(srcdir)/'`dapl/common/dapl_get_handle_type.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_get_handle_type.lo `test -f 'dapl/common/dapl_get_handle_type.c' || echo '$(srcdir)/'`dapl/common/dapl_get_handle_type.c
dapl_udapl_libdaplofa_la-dapl_hash.lo: dapl/common/dapl_hash.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_hash.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_hash.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_hash.lo `test -f 'dapl/common/dapl_hash.c' || echo '$(srcdir)/'`dapl/common/dapl_hash.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_hash.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_hash.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_hash.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_hash.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_hash.lo `test -f 'dapl/common/dapl_hash.c' || echo '$(srcdir)/'`dapl/common/dapl_hash.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_hash.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_hash.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_hash.c' object='dapl_udapl_libdaplofa_la-dapl_hash.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_hash.lo `test -f 'dapl/common/dapl_hash.c' || echo '$(srcdir)/'`dapl/common/dapl_hash.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_hash.lo `test -f 'dapl/common/dapl_hash.c' || echo '$(srcdir)/'`dapl/common/dapl_hash.c
dapl_udapl_libdaplofa_la-dapl_hca_util.lo: dapl/common/dapl_hca_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_hca_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_hca_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_hca_util.lo `test -f 'dapl/common/dapl_hca_util.c' || echo '$(srcdir)/'`dapl/common/dapl_hca_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_hca_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_hca_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_hca_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_hca_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_hca_util.lo `test -f 'dapl/common/dapl_hca_util.c' || echo '$(srcdir)/'`dapl/common/dapl_hca_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_hca_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_hca_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_hca_util.c' object='dapl_udapl_libdaplofa_la-dapl_hca_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_hca_util.lo `test -f 'dapl/common/dapl_hca_util.c' || echo '$(srcdir)/'`dapl/common/dapl_hca_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_hca_util.lo `test -f 'dapl/common/dapl_hca_util.c' || echo '$(srcdir)/'`dapl/common/dapl_hca_util.c
dapl_udapl_libdaplofa_la-dapl_ia_close.lo: dapl/common/dapl_ia_close.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ia_close.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_close.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ia_close.lo `test -f 'dapl/common/dapl_ia_close.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_close.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_close.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_close.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ia_close.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_close.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ia_close.lo `test -f 'dapl/common/dapl_ia_close.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_close.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_close.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_close.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ia_close.c' object='dapl_udapl_libdaplofa_la-dapl_ia_close.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ia_close.lo `test -f 'dapl/common/dapl_ia_close.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_close.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ia_close.lo `test -f 'dapl/common/dapl_ia_close.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_close.c
dapl_udapl_libdaplofa_la-dapl_ia_open.lo: dapl/common/dapl_ia_open.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ia_open.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_open.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ia_open.lo `test -f 'dapl/common/dapl_ia_open.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_open.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_open.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_open.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ia_open.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_open.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ia_open.lo `test -f 'dapl/common/dapl_ia_open.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_open.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_open.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_open.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ia_open.c' object='dapl_udapl_libdaplofa_la-dapl_ia_open.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ia_open.lo `test -f 'dapl/common/dapl_ia_open.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_open.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ia_open.lo `test -f 'dapl/common/dapl_ia_open.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_open.c
dapl_udapl_libdaplofa_la-dapl_ia_query.lo: dapl/common/dapl_ia_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ia_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ia_query.lo `test -f 'dapl/common/dapl_ia_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ia_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ia_query.lo `test -f 'dapl/common/dapl_ia_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ia_query.c' object='dapl_udapl_libdaplofa_la-dapl_ia_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ia_query.lo `test -f 'dapl/common/dapl_ia_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ia_query.lo `test -f 'dapl/common/dapl_ia_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_query.c
dapl_udapl_libdaplofa_la-dapl_ia_util.lo: dapl/common/dapl_ia_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ia_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ia_util.lo `test -f 'dapl/common/dapl_ia_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ia_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ia_util.lo `test -f 'dapl/common/dapl_ia_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ia_util.c' object='dapl_udapl_libdaplofa_la-dapl_ia_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ia_util.lo `test -f 'dapl/common/dapl_ia_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ia_util.lo `test -f 'dapl/common/dapl_ia_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_util.c
dapl_udapl_libdaplofa_la-dapl_llist.lo: dapl/common/dapl_llist.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_llist.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_llist.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_llist.lo `test -f 'dapl/common/dapl_llist.c' || echo '$(srcdir)/'`dapl/common/dapl_llist.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_llist.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_llist.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_llist.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_llist.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_llist.lo `test -f 'dapl/common/dapl_llist.c' || echo '$(srcdir)/'`dapl/common/dapl_llist.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_llist.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_llist.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_llist.c' object='dapl_udapl_libdaplofa_la-dapl_llist.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_llist.lo `test -f 'dapl/common/dapl_llist.c' || echo '$(srcdir)/'`dapl/common/dapl_llist.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_llist.lo `test -f 'dapl/common/dapl_llist.c' || echo '$(srcdir)/'`dapl/common/dapl_llist.c
dapl_udapl_libdaplofa_la-dapl_lmr_free.lo: dapl/common/dapl_lmr_free.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_lmr_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_free.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_lmr_free.lo `test -f 'dapl/common/dapl_lmr_free.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_free.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_free.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_free.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_lmr_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_free.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_lmr_free.lo `test -f 'dapl/common/dapl_lmr_free.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_free.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_free.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_lmr_free.c' object='dapl_udapl_libdaplofa_la-dapl_lmr_free.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_lmr_free.lo `test -f 'dapl/common/dapl_lmr_free.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_free.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_lmr_free.lo `test -f 'dapl/common/dapl_lmr_free.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_free.c
dapl_udapl_libdaplofa_la-dapl_lmr_query.lo: dapl/common/dapl_lmr_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_lmr_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_lmr_query.lo `test -f 'dapl/common/dapl_lmr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_lmr_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_lmr_query.lo `test -f 'dapl/common/dapl_lmr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_lmr_query.c' object='dapl_udapl_libdaplofa_la-dapl_lmr_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_lmr_query.lo `test -f 'dapl/common/dapl_lmr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_lmr_query.lo `test -f 'dapl/common/dapl_lmr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_query.c
dapl_udapl_libdaplofa_la-dapl_lmr_util.lo: dapl/common/dapl_lmr_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_lmr_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_lmr_util.lo `test -f 'dapl/common/dapl_lmr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_lmr_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_lmr_util.lo `test -f 'dapl/common/dapl_lmr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_lmr_util.c' object='dapl_udapl_libdaplofa_la-dapl_lmr_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_lmr_util.lo `test -f 'dapl/common/dapl_lmr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_lmr_util.lo `test -f 'dapl/common/dapl_lmr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_util.c
dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_read.lo: dapl/common/dapl_lmr_sync_rdma_read.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_read.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_read.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_read.lo `test -f 'dapl/common/dapl_lmr_sync_rdma_read.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_syn [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_read.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_read.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_read.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_read.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_read.lo `test -f 'dapl/common/dapl_lmr_sync_rdma_read.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_sy [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_read.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_read.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_lmr_sync_rdma_read.c' object='dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_read.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_read.lo `test -f 'dapl/common/dapl_lmr_sync_rdma_read.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_sync_rdma_read.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_read.lo `test -f 'dapl/common/dapl_lmr_sync_rdma_read.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_sync_rdma_read.c
dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_write.lo: dapl/common/dapl_lmr_sync_rdma_write.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_write.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_write.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_write.lo `test -f 'dapl/common/dapl_lmr_sync_rdma_write.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_write.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_write.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_write.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_write.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_write.lo `test -f 'dapl/common/dapl_lmr_sync_rdma_write.c' || echo '$(srcdir)/'`dapl/common/dapl_lm [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_write.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_write.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_lmr_sync_rdma_write.c' object='dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_write.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_write.lo `test -f 'dapl/common/dapl_lmr_sync_rdma_write.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_sync_rdma_write.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_lmr_sync_rdma_write.lo `test -f 'dapl/common/dapl_lmr_sync_rdma_write.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_sync_rdma_write.c
dapl_udapl_libdaplofa_la-dapl_mr_util.lo: dapl/common/dapl_mr_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_mr_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_mr_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_mr_util.lo `test -f 'dapl/common/dapl_mr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_mr_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_mr_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_mr_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_mr_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_mr_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_mr_util.lo `test -f 'dapl/common/dapl_mr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_mr_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_mr_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_mr_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_mr_util.c' object='dapl_udapl_libdaplofa_la-dapl_mr_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_mr_util.lo `test -f 'dapl/common/dapl_mr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_mr_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_mr_util.lo `test -f 'dapl/common/dapl_mr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_mr_util.c
dapl_udapl_libdaplofa_la-dapl_provider.lo: dapl/common/dapl_provider.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_provider.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_provider.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_provider.lo `test -f 'dapl/common/dapl_provider.c' || echo '$(srcdir)/'`dapl/common/dapl_provider.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_provider.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_provider.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_provider.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_provider.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_provider.lo `test -f 'dapl/common/dapl_provider.c' || echo '$(srcdir)/'`dapl/common/dapl_provider.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_provider.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_provider.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_provider.c' object='dapl_udapl_libdaplofa_la-dapl_provider.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_provider.lo `test -f 'dapl/common/dapl_provider.c' || echo '$(srcdir)/'`dapl/common/dapl_provider.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_provider.lo `test -f 'dapl/common/dapl_provider.c' || echo '$(srcdir)/'`dapl/common/dapl_provider.c
dapl_udapl_libdaplofa_la-dapl_sp_util.lo: dapl/common/dapl_sp_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_sp_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_sp_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_sp_util.lo `test -f 'dapl/common/dapl_sp_util.c' || echo '$(srcdir)/'`dapl/common/dapl_sp_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_sp_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_sp_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_sp_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_sp_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_sp_util.lo `test -f 'dapl/common/dapl_sp_util.c' || echo '$(srcdir)/'`dapl/common/dapl_sp_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_sp_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_sp_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_sp_util.c' object='dapl_udapl_libdaplofa_la-dapl_sp_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_sp_util.lo `test -f 'dapl/common/dapl_sp_util.c' || echo '$(srcdir)/'`dapl/common/dapl_sp_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_sp_util.lo `test -f 'dapl/common/dapl_sp_util.c' || echo '$(srcdir)/'`dapl/common/dapl_sp_util.c
dapl_udapl_libdaplofa_la-dapl_psp_create.lo: dapl/common/dapl_psp_create.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_psp_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_create.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_psp_create.lo `test -f 'dapl/common/dapl_psp_create.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_create.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_create.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_create.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_psp_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_create.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_psp_create.lo `test -f 'dapl/common/dapl_psp_create.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_create.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_create.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_psp_create.c' object='dapl_udapl_libdaplofa_la-dapl_psp_create.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_psp_create.lo `test -f 'dapl/common/dapl_psp_create.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_create.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_psp_create.lo `test -f 'dapl/common/dapl_psp_create.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_create.c
dapl_udapl_libdaplofa_la-dapl_psp_create_any.lo: dapl/common/dapl_psp_create_any.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_psp_create_any.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_create_any.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_psp_create_any.lo `test -f 'dapl/common/dapl_psp_create_any.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_create_any.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_create_any.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_create_any.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_psp_create_any.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_create_any.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_psp_create_any.lo `test -f 'dapl/common/dapl_psp_create_any.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_create_any.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_create_any.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_create_any.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_psp_create_any.c' object='dapl_udapl_libdaplofa_la-dapl_psp_create_any.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_psp_create_any.lo `test -f 'dapl/common/dapl_psp_create_any.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_create_any.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_psp_create_any.lo `test -f 'dapl/common/dapl_psp_create_any.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_create_any.c
dapl_udapl_libdaplofa_la-dapl_psp_free.lo: dapl/common/dapl_psp_free.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_psp_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_free.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_psp_free.lo `test -f 'dapl/common/dapl_psp_free.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_free.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_free.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_free.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_psp_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_free.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_psp_free.lo `test -f 'dapl/common/dapl_psp_free.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_free.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_free.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_psp_free.c' object='dapl_udapl_libdaplofa_la-dapl_psp_free.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_psp_free.lo `test -f 'dapl/common/dapl_psp_free.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_free.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_psp_free.lo `test -f 'dapl/common/dapl_psp_free.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_free.c
dapl_udapl_libdaplofa_la-dapl_psp_query.lo: dapl/common/dapl_psp_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_psp_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_psp_query.lo `test -f 'dapl/common/dapl_psp_query.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_psp_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_psp_query.lo `test -f 'dapl/common/dapl_psp_query.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_psp_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_psp_query.c' object='dapl_udapl_libdaplofa_la-dapl_psp_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_psp_query.lo `test -f 'dapl/common/dapl_psp_query.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_psp_query.lo `test -f 'dapl/common/dapl_psp_query.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_query.c
dapl_udapl_libdaplofa_la-dapl_pz_create.lo: dapl/common/dapl_pz_create.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_pz_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_create.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_pz_create.lo `test -f 'dapl/common/dapl_pz_create.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_create.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_create.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_create.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_pz_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_create.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_pz_create.lo `test -f 'dapl/common/dapl_pz_create.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_create.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_create.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_pz_create.c' object='dapl_udapl_libdaplofa_la-dapl_pz_create.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_pz_create.lo `test -f 'dapl/common/dapl_pz_create.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_create.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_pz_create.lo `test -f 'dapl/common/dapl_pz_create.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_create.c
dapl_udapl_libdaplofa_la-dapl_pz_free.lo: dapl/common/dapl_pz_free.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_pz_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_free.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_pz_free.lo `test -f 'dapl/common/dapl_pz_free.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_free.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_free.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_free.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_pz_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_free.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_pz_free.lo `test -f 'dapl/common/dapl_pz_free.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_free.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_free.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_pz_free.c' object='dapl_udapl_libdaplofa_la-dapl_pz_free.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_pz_free.lo `test -f 'dapl/common/dapl_pz_free.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_free.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_pz_free.lo `test -f 'dapl/common/dapl_pz_free.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_free.c
dapl_udapl_libdaplofa_la-dapl_pz_query.lo: dapl/common/dapl_pz_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_pz_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_pz_query.lo `test -f 'dapl/common/dapl_pz_query.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_pz_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_pz_query.lo `test -f 'dapl/common/dapl_pz_query.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_pz_query.c' object='dapl_udapl_libdaplofa_la-dapl_pz_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_pz_query.lo `test -f 'dapl/common/dapl_pz_query.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_pz_query.lo `test -f 'dapl/common/dapl_pz_query.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_query.c
dapl_udapl_libdaplofa_la-dapl_pz_util.lo: dapl/common/dapl_pz_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_pz_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_pz_util.lo `test -f 'dapl/common/dapl_pz_util.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_pz_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_pz_util.lo `test -f 'dapl/common/dapl_pz_util.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_pz_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_pz_util.c' object='dapl_udapl_libdaplofa_la-dapl_pz_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_pz_util.lo `test -f 'dapl/common/dapl_pz_util.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_pz_util.lo `test -f 'dapl/common/dapl_pz_util.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_util.c
dapl_udapl_libdaplofa_la-dapl_rmr_create.lo: dapl/common/dapl_rmr_create.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_rmr_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_create.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_rmr_create.lo `test -f 'dapl/common/dapl_rmr_create.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_create.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_create.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_create.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_rmr_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_create.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_rmr_create.lo `test -f 'dapl/common/dapl_rmr_create.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_create.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_create.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rmr_create.c' object='dapl_udapl_libdaplofa_la-dapl_rmr_create.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_rmr_create.lo `test -f 'dapl/common/dapl_rmr_create.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_create.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_rmr_create.lo `test -f 'dapl/common/dapl_rmr_create.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_create.c
dapl_udapl_libdaplofa_la-dapl_rmr_free.lo: dapl/common/dapl_rmr_free.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_rmr_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_free.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_rmr_free.lo `test -f 'dapl/common/dapl_rmr_free.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_free.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_free.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_free.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_rmr_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_free.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_rmr_free.lo `test -f 'dapl/common/dapl_rmr_free.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_free.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_free.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rmr_free.c' object='dapl_udapl_libdaplofa_la-dapl_rmr_free.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_rmr_free.lo `test -f 'dapl/common/dapl_rmr_free.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_free.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_rmr_free.lo `test -f 'dapl/common/dapl_rmr_free.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_free.c
dapl_udapl_libdaplofa_la-dapl_rmr_bind.lo: dapl/common/dapl_rmr_bind.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_rmr_bind.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_bind.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_rmr_bind.lo `test -f 'dapl/common/dapl_rmr_bind.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_bind.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_bind.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_bind.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_rmr_bind.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_bind.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_rmr_bind.lo `test -f 'dapl/common/dapl_rmr_bind.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_bind.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_bind.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_bind.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rmr_bind.c' object='dapl_udapl_libdaplofa_la-dapl_rmr_bind.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_rmr_bind.lo `test -f 'dapl/common/dapl_rmr_bind.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_bind.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_rmr_bind.lo `test -f 'dapl/common/dapl_rmr_bind.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_bind.c
dapl_udapl_libdaplofa_la-dapl_rmr_query.lo: dapl/common/dapl_rmr_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_rmr_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_rmr_query.lo `test -f 'dapl/common/dapl_rmr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_rmr_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_rmr_query.lo `test -f 'dapl/common/dapl_rmr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rmr_query.c' object='dapl_udapl_libdaplofa_la-dapl_rmr_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_rmr_query.lo `test -f 'dapl/common/dapl_rmr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_rmr_query.lo `test -f 'dapl/common/dapl_rmr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_query.c
dapl_udapl_libdaplofa_la-dapl_rmr_util.lo: dapl/common/dapl_rmr_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_rmr_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_rmr_util.lo `test -f 'dapl/common/dapl_rmr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_rmr_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_rmr_util.lo `test -f 'dapl/common/dapl_rmr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rmr_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rmr_util.c' object='dapl_udapl_libdaplofa_la-dapl_rmr_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_rmr_util.lo `test -f 'dapl/common/dapl_rmr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_rmr_util.lo `test -f 'dapl/common/dapl_rmr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_util.c
dapl_udapl_libdaplofa_la-dapl_rsp_create.lo: dapl/common/dapl_rsp_create.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_rsp_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rsp_create.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_rsp_create.lo `test -f 'dapl/common/dapl_rsp_create.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_create.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rsp_create.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rsp_create.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_rsp_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rsp_create.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_rsp_create.lo `test -f 'dapl/common/dapl_rsp_create.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rsp_create.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rsp_create.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rsp_create.c' object='dapl_udapl_libdaplofa_la-dapl_rsp_create.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_rsp_create.lo `test -f 'dapl/common/dapl_rsp_create.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_create.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_rsp_create.lo `test -f 'dapl/common/dapl_rsp_create.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_create.c
dapl_udapl_libdaplofa_la-dapl_rsp_free.lo: dapl/common/dapl_rsp_free.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_rsp_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rsp_free.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_rsp_free.lo `test -f 'dapl/common/dapl_rsp_free.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_free.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rsp_free.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rsp_free.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_rsp_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rsp_free.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_rsp_free.lo `test -f 'dapl/common/dapl_rsp_free.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rsp_free.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rsp_free.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rsp_free.c' object='dapl_udapl_libdaplofa_la-dapl_rsp_free.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_rsp_free.lo `test -f 'dapl/common/dapl_rsp_free.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_free.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_rsp_free.lo `test -f 'dapl/common/dapl_rsp_free.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_free.c
dapl_udapl_libdaplofa_la-dapl_rsp_query.lo: dapl/common/dapl_rsp_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_rsp_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rsp_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_rsp_query.lo `test -f 'dapl/common/dapl_rsp_query.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rsp_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rsp_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_rsp_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rsp_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_rsp_query.lo `test -f 'dapl/common/dapl_rsp_query.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rsp_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_rsp_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rsp_query.c' object='dapl_udapl_libdaplofa_la-dapl_rsp_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_rsp_query.lo `test -f 'dapl/common/dapl_rsp_query.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_rsp_query.lo `test -f 'dapl/common/dapl_rsp_query.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_query.c
dapl_udapl_libdaplofa_la-dapl_cno_util.lo: dapl/common/dapl_cno_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cno_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cno_util.lo `test -f 'dapl/common/dapl_cno_util.c' || echo '$(srcdir)/'`dapl/common/dapl_cno_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_cno_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_cno_util.lo `test -f 'dapl/common/dapl_cno_util.c' || echo '$(srcdir)/'`dapl/common/dapl_cno_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_cno_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cno_util.c' object='dapl_udapl_libdaplofa_la-dapl_cno_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cno_util.lo `test -f 'dapl/common/dapl_cno_util.c' || echo '$(srcdir)/'`dapl/common/dapl_cno_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_cno_util.lo `test -f 'dapl/common/dapl_cno_util.c' || echo '$(srcdir)/'`dapl/common/dapl_cno_util.c
dapl_udapl_libdaplofa_la-dapl_set_consumer_context.lo: dapl/common/dapl_set_consumer_context.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_set_consumer_context.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_set_consumer_context.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_set_consumer_context.lo `test -f 'dapl/common/dapl_set_consumer_context.c' || echo '$(srcdir)/'`dapl/common/dapl [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_set_consumer_context.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_set_consumer_context.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_set_consumer_context.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_set_consumer_context.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_set_consumer_context.lo `test -f 'dapl/common/dapl_set_consumer_context.c' || echo '$(srcdir)/'`dapl/common/dap [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_set_consumer_context.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_set_consumer_context.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_set_consumer_context.c' object='dapl_udapl_libdaplofa_la-dapl_set_consumer_context.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_set_consumer_context.lo `test -f 'dapl/common/dapl_set_consumer_context.c' || echo '$(srcdir)/'`dapl/common/dapl_set_consumer_context.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_set_consumer_context.lo `test -f 'dapl/common/dapl_set_consumer_context.c' || echo '$(srcdir)/'`dapl/common/dapl_set_consumer_context.c
dapl_udapl_libdaplofa_la-dapl_ring_buffer_util.lo: dapl/common/dapl_ring_buffer_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ring_buffer_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ring_buffer_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ring_buffer_util.lo `test -f 'dapl/common/dapl_ring_buffer_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ring_buffer_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ring_buffer_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ring_buffer_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ring_buffer_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ring_buffer_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ring_buffer_util.lo `test -f 'dapl/common/dapl_ring_buffer_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ring_buffer_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ring_buffer_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ring_buffer_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ring_buffer_util.c' object='dapl_udapl_libdaplofa_la-dapl_ring_buffer_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ring_buffer_util.lo `test -f 'dapl/common/dapl_ring_buffer_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ring_buffer_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ring_buffer_util.lo `test -f 'dapl/common/dapl_ring_buffer_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ring_buffer_util.c
dapl_udapl_libdaplofa_la-dapl_name_service.lo: dapl/common/dapl_name_service.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_name_service.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_name_service.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_name_service.lo `test -f 'dapl/common/dapl_name_service.c' || echo '$(srcdir)/'`dapl/common/dapl_name_service.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_name_service.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_name_service.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_name_service.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_name_service.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_name_service.lo `test -f 'dapl/common/dapl_name_service.c' || echo '$(srcdir)/'`dapl/common/dapl_name_service.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_name_service.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_name_service.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_name_service.c' object='dapl_udapl_libdaplofa_la-dapl_name_service.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_name_service.lo `test -f 'dapl/common/dapl_name_service.c' || echo '$(srcdir)/'`dapl/common/dapl_name_service.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_name_service.lo `test -f 'dapl/common/dapl_name_service.c' || echo '$(srcdir)/'`dapl/common/dapl_name_service.c
dapl_udapl_libdaplofa_la-dapl_timer_util.lo: dapl/common/dapl_timer_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_timer_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_timer_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_timer_util.lo `test -f 'dapl/common/dapl_timer_util.c' || echo '$(srcdir)/'`dapl/common/dapl_timer_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_timer_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_timer_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_timer_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_timer_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_timer_util.lo `test -f 'dapl/common/dapl_timer_util.c' || echo '$(srcdir)/'`dapl/common/dapl_timer_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_timer_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_timer_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_timer_util.c' object='dapl_udapl_libdaplofa_la-dapl_timer_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_timer_util.lo `test -f 'dapl/common/dapl_timer_util.c' || echo '$(srcdir)/'`dapl/common/dapl_timer_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_timer_util.lo `test -f 'dapl/common/dapl_timer_util.c' || echo '$(srcdir)/'`dapl/common/dapl_timer_util.c
dapl_udapl_libdaplofa_la-dapl_ep_create_with_srq.lo: dapl/common/dapl_ep_create_with_srq.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_create_with_srq.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_create_with_srq.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_create_with_srq.lo `test -f 'dapl/common/dapl_ep_create_with_srq.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_crea [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_create_with_srq.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_create_with_srq.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_create_with_srq.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_create_with_srq.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_create_with_srq.lo `test -f 'dapl/common/dapl_ep_create_with_srq.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_cre [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_create_with_srq.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_create_with_srq.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_create_with_srq.c' object='dapl_udapl_libdaplofa_la-dapl_ep_create_with_srq.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_create_with_srq.lo `test -f 'dapl/common/dapl_ep_create_with_srq.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_create_with_srq.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_create_with_srq.lo `test -f 'dapl/common/dapl_ep_create_with_srq.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_create_with_srq.c
dapl_udapl_libdaplofa_la-dapl_ep_recv_query.lo: dapl/common/dapl_ep_recv_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_recv_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_recv_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_recv_query.lo `test -f 'dapl/common/dapl_ep_recv_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_recv_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_recv_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_recv_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_recv_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_recv_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_recv_query.lo `test -f 'dapl/common/dapl_ep_recv_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_recv_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_recv_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_recv_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_recv_query.c' object='dapl_udapl_libdaplofa_la-dapl_ep_recv_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_recv_query.lo `test -f 'dapl/common/dapl_ep_recv_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_recv_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_recv_query.lo `test -f 'dapl/common/dapl_ep_recv_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_recv_query.c
dapl_udapl_libdaplofa_la-dapl_ep_set_watermark.lo: dapl/common/dapl_ep_set_watermark.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_set_watermark.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_set_watermark.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_set_watermark.lo `test -f 'dapl/common/dapl_ep_set_watermark.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_set_watermark.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_set_watermark.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_set_watermark.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_set_watermark.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_set_watermark.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_set_watermark.lo `test -f 'dapl/common/dapl_ep_set_watermark.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_set_watermark.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_set_watermark.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_set_watermark.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_set_watermark.c' object='dapl_udapl_libdaplofa_la-dapl_ep_set_watermark.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_set_watermark.lo `test -f 'dapl/common/dapl_ep_set_watermark.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_set_watermark.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_set_watermark.lo `test -f 'dapl/common/dapl_ep_set_watermark.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_set_watermark.c
dapl_udapl_libdaplofa_la-dapl_srq_create.lo: dapl/common/dapl_srq_create.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_srq_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_create.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_srq_create.lo `test -f 'dapl/common/dapl_srq_create.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_create.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_create.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_create.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_srq_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_create.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_srq_create.lo `test -f 'dapl/common/dapl_srq_create.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_create.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_create.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_srq_create.c' object='dapl_udapl_libdaplofa_la-dapl_srq_create.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_srq_create.lo `test -f 'dapl/common/dapl_srq_create.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_create.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_srq_create.lo `test -f 'dapl/common/dapl_srq_create.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_create.c
dapl_udapl_libdaplofa_la-dapl_srq_free.lo: dapl/common/dapl_srq_free.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_srq_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_free.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_srq_free.lo `test -f 'dapl/common/dapl_srq_free.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_free.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_free.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_free.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_srq_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_free.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_srq_free.lo `test -f 'dapl/common/dapl_srq_free.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_free.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_free.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_srq_free.c' object='dapl_udapl_libdaplofa_la-dapl_srq_free.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_srq_free.lo `test -f 'dapl/common/dapl_srq_free.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_free.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_srq_free.lo `test -f 'dapl/common/dapl_srq_free.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_free.c
dapl_udapl_libdaplofa_la-dapl_srq_query.lo: dapl/common/dapl_srq_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_srq_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_srq_query.lo `test -f 'dapl/common/dapl_srq_query.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_srq_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_query.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_srq_query.lo `test -f 'dapl/common/dapl_srq_query.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_query.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_srq_query.c' object='dapl_udapl_libdaplofa_la-dapl_srq_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_srq_query.lo `test -f 'dapl/common/dapl_srq_query.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_srq_query.lo `test -f 'dapl/common/dapl_srq_query.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_query.c
dapl_udapl_libdaplofa_la-dapl_srq_resize.lo: dapl/common/dapl_srq_resize.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_srq_resize.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_resize.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_srq_resize.lo `test -f 'dapl/common/dapl_srq_resize.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_resize.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_resize.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_resize.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_srq_resize.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_resize.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_srq_resize.lo `test -f 'dapl/common/dapl_srq_resize.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_resize.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_resize.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_resize.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_srq_resize.c' object='dapl_udapl_libdaplofa_la-dapl_srq_resize.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_srq_resize.lo `test -f 'dapl/common/dapl_srq_resize.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_resize.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_srq_resize.lo `test -f 'dapl/common/dapl_srq_resize.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_resize.c
dapl_udapl_libdaplofa_la-dapl_srq_post_recv.lo: dapl/common/dapl_srq_post_recv.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_srq_post_recv.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_post_recv.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_srq_post_recv.lo `test -f 'dapl/common/dapl_srq_post_recv.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_post_recv.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_post_recv.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_post_recv.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_srq_post_recv.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_post_recv.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_srq_post_recv.lo `test -f 'dapl/common/dapl_srq_post_recv.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_post_recv.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_post_recv.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_post_recv.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_srq_post_recv.c' object='dapl_udapl_libdaplofa_la-dapl_srq_post_recv.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_srq_post_recv.lo `test -f 'dapl/common/dapl_srq_post_recv.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_post_recv.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_srq_post_recv.lo `test -f 'dapl/common/dapl_srq_post_recv.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_post_recv.c
dapl_udapl_libdaplofa_la-dapl_srq_set_lw.lo: dapl/common/dapl_srq_set_lw.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_srq_set_lw.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_set_lw.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_srq_set_lw.lo `test -f 'dapl/common/dapl_srq_set_lw.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_set_lw.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_set_lw.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_set_lw.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_srq_set_lw.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_set_lw.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_srq_set_lw.lo `test -f 'dapl/common/dapl_srq_set_lw.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_set_lw.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_set_lw.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_set_lw.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_srq_set_lw.c' object='dapl_udapl_libdaplofa_la-dapl_srq_set_lw.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_srq_set_lw.lo `test -f 'dapl/common/dapl_srq_set_lw.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_set_lw.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_srq_set_lw.lo `test -f 'dapl/common/dapl_srq_set_lw.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_set_lw.c
dapl_udapl_libdaplofa_la-dapl_srq_util.lo: dapl/common/dapl_srq_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_srq_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_srq_util.lo `test -f 'dapl/common/dapl_srq_util.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_srq_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_srq_util.lo `test -f 'dapl/common/dapl_srq_util.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_srq_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_srq_util.c' object='dapl_udapl_libdaplofa_la-dapl_srq_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_srq_util.lo `test -f 'dapl/common/dapl_srq_util.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_srq_util.lo `test -f 'dapl/common/dapl_srq_util.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_util.c
dapl_udapl_libdaplofa_la-dapl_debug.lo: dapl/common/dapl_debug.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_debug.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_debug.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_debug.lo `test -f 'dapl/common/dapl_debug.c' || echo '$(srcdir)/'`dapl/common/dapl_debug.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_debug.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_debug.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_debug.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_debug.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_debug.lo `test -f 'dapl/common/dapl_debug.c' || echo '$(srcdir)/'`dapl/common/dapl_debug.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_debug.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_debug.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_debug.c' object='dapl_udapl_libdaplofa_la-dapl_debug.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_debug.lo `test -f 'dapl/common/dapl_debug.c' || echo '$(srcdir)/'`dapl/common/dapl_debug.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_debug.lo `test -f 'dapl/common/dapl_debug.c' || echo '$(srcdir)/'`dapl/common/dapl_debug.c
dapl_udapl_libdaplofa_la-dapl_ia_ha.lo: dapl/common/dapl_ia_ha.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ia_ha.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_ha.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ia_ha.lo `test -f 'dapl/common/dapl_ia_ha.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_ha.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_ha.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_ha.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ia_ha.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_ha.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ia_ha.lo `test -f 'dapl/common/dapl_ia_ha.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_ha.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_ha.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ia_ha.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ia_ha.c' object='dapl_udapl_libdaplofa_la-dapl_ia_ha.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ia_ha.lo `test -f 'dapl/common/dapl_ia_ha.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_ha.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ia_ha.lo `test -f 'dapl/common/dapl_ia_ha.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_ha.c
dapl_udapl_libdaplofa_la-dapl_csp.lo: dapl/common/dapl_csp.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_csp.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_csp.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_csp.lo `test -f 'dapl/common/dapl_csp.c' || echo '$(srcdir)/'`dapl/common/dapl_csp.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_csp.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_csp.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_csp.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_csp.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_csp.lo `test -f 'dapl/common/dapl_csp.c' || echo '$(srcdir)/'`dapl/common/dapl_csp.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_csp.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_csp.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_csp.c' object='dapl_udapl_libdaplofa_la-dapl_csp.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_csp.lo `test -f 'dapl/common/dapl_csp.c' || echo '$(srcdir)/'`dapl/common/dapl_csp.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_csp.lo `test -f 'dapl/common/dapl_csp.c' || echo '$(srcdir)/'`dapl/common/dapl_csp.c
dapl_udapl_libdaplofa_la-dapl_ep_post_send_invalidate.lo: dapl/common/dapl_ep_post_send_invalidate.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_post_send_invalidate.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_send_invalidate.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_send_invalidate.lo `test -f 'dapl/common/dapl_ep_post_send_invalidate.c' || echo '$(srcdir)/'`dapl [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_send_invalidate.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_send_invalidate.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_post_send_invalidate.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_send_invalidate.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_send_invalidate.lo `test -f 'dapl/common/dapl_ep_post_send_invalidate.c' || echo '$(srcdir)/'`dap [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_send_invalidate.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_send_invalidate.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_post_send_invalidate.c' object='dapl_udapl_libdaplofa_la-dapl_ep_post_send_invalidate.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_send_invalidate.lo `test -f 'dapl/common/dapl_ep_post_send_invalidate.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_send_invalidate.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_send_invalidate.lo `test -f 'dapl/common/dapl_ep_post_send_invalidate.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_send_invalidate.c
dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read_to_rmr.lo: dapl/common/dapl_ep_post_rdma_read_to_rmr.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read_to_rmr.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read_to_rmr.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read_to_rmr.lo `test -f 'dapl/common/dapl_ep_post_rdma_read_to_rmr.c' || echo '$(srcdir)/'` [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read_to_rmr.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read_to_rmr.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read_to_rmr.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read_to_rmr.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read_to_rmr.lo `test -f 'dapl/common/dapl_ep_post_rdma_read_to_rmr.c' || echo '$(srcdir)/' [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read_to_rmr.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read_to_rmr.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_post_rdma_read_to_rmr.c' object='dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read_to_rmr.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read_to_rmr.lo `test -f 'dapl/common/dapl_ep_post_rdma_read_to_rmr.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_rdma_read_to_rmr.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ep_post_rdma_read_to_rmr.lo `test -f 'dapl/common/dapl_ep_post_rdma_read_to_rmr.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_rdma_read_to_rmr.c
+
+dapl_udapl_libdaplofa_la-mem.lo: dapl/openib_common/mem.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-mem.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-mem.Tpo -c -o dapl_udapl_libdaplofa_la-mem.lo `test -f 'dapl/openib_common/mem.c' || echo '$(srcdir)/'`dapl/openib_common/mem.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-mem.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-mem.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_common/mem.c' object='dapl_udapl_libdaplofa_la-mem.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-mem.lo `test -f 'dapl/openib_common/mem.c' || echo '$(srcdir)/'`dapl/openib_common/mem.c
-dapl_udapl_libdaplofa_la-dapl_ib_util.lo: dapl/openib_cma/dapl_ib_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ib_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_util.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ib_util.lo `test -f 'dapl/openib_cma/dapl_ib_util.c' || echo '$(srcdir)/'`dapl/openib_cma/dapl_ib_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_util.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_cma/dapl_ib_util.c' object='dapl_udapl_libdaplofa_la-dapl_ib_util.lo' libtool=yes @AMDEPBACKSLASH@
+dapl_udapl_libdaplofa_la-cq.lo: dapl/openib_common/cq.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-cq.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-cq.Tpo -c -o dapl_udapl_libdaplofa_la-cq.lo `test -f 'dapl/openib_common/cq.c' || echo '$(srcdir)/'`dapl/openib_common/cq.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-cq.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-cq.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_common/cq.c' object='dapl_udapl_libdaplofa_la-cq.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ib_util.lo `test -f 'dapl/openib_cma/dapl_ib_util.c' || echo '$(srcdir)/'`dapl/openib_cma/dapl_ib_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-cq.lo `test -f 'dapl/openib_common/cq.c' || echo '$(srcdir)/'`dapl/openib_common/cq.c
-dapl_udapl_libdaplofa_la-dapl_ib_cq.lo: dapl/openib_cma/dapl_ib_cq.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ib_cq.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_cq.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ib_cq.lo `test -f 'dapl/openib_cma/dapl_ib_cq.c' || echo '$(srcdir)/'`dapl/openib_cma/dapl_ib_cq.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_cq.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_cq.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_cma/dapl_ib_cq.c' object='dapl_udapl_libdaplofa_la-dapl_ib_cq.lo' libtool=yes @AMDEPBACKSLASH@
+dapl_udapl_libdaplofa_la-qp.lo: dapl/openib_common/qp.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-qp.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-qp.Tpo -c -o dapl_udapl_libdaplofa_la-qp.lo `test -f 'dapl/openib_common/qp.c' || echo '$(srcdir)/'`dapl/openib_common/qp.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-qp.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-qp.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_common/qp.c' object='dapl_udapl_libdaplofa_la-qp.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ib_cq.lo `test -f 'dapl/openib_cma/dapl_ib_cq.c' || echo '$(srcdir)/'`dapl/openib_cma/dapl_ib_cq.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-qp.lo `test -f 'dapl/openib_common/qp.c' || echo '$(srcdir)/'`dapl/openib_common/qp.c
-dapl_udapl_libdaplofa_la-dapl_ib_qp.lo: dapl/openib_cma/dapl_ib_qp.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ib_qp.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_qp.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ib_qp.lo `test -f 'dapl/openib_cma/dapl_ib_qp.c' || echo '$(srcdir)/'`dapl/openib_cma/dapl_ib_qp.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_qp.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_qp.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_cma/dapl_ib_qp.c' object='dapl_udapl_libdaplofa_la-dapl_ib_qp.lo' libtool=yes @AMDEPBACKSLASH@
+dapl_udapl_libdaplofa_la-util.lo: dapl/openib_common/util.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-util.Tpo -c -o dapl_udapl_libdaplofa_la-util.lo `test -f 'dapl/openib_common/util.c' || echo '$(srcdir)/'`dapl/openib_common/util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-util.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-util.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_common/util.c' object='dapl_udapl_libdaplofa_la-util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ib_qp.lo `test -f 'dapl/openib_cma/dapl_ib_qp.c' || echo '$(srcdir)/'`dapl/openib_cma/dapl_ib_qp.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-util.lo `test -f 'dapl/openib_common/util.c' || echo '$(srcdir)/'`dapl/openib_common/util.c
-dapl_udapl_libdaplofa_la-dapl_ib_cm.lo: dapl/openib_cma/dapl_ib_cm.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ib_cm.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_cm.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ib_cm.lo `test -f 'dapl/openib_cma/dapl_ib_cm.c' || echo '$(srcdir)/'`dapl/openib_cma/dapl_ib_cm.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_cm.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_cm.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_cma/dapl_ib_cm.c' object='dapl_udapl_libdaplofa_la-dapl_ib_cm.lo' libtool=yes @AMDEPBACKSLASH@
+dapl_udapl_libdaplofa_la-cm.lo: dapl/openib_cma/cm.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-cm.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-cm.Tpo -c -o dapl_udapl_libdaplofa_la-cm.lo `test -f 'dapl/openib_cma/cm.c' || echo '$(srcdir)/'`dapl/openib_cma/cm.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-cm.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-cm.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_cma/cm.c' object='dapl_udapl_libdaplofa_la-cm.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ib_cm.lo `test -f 'dapl/openib_cma/dapl_ib_cm.c' || echo '$(srcdir)/'`dapl/openib_cma/dapl_ib_cm.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-cm.lo `test -f 'dapl/openib_cma/cm.c' || echo '$(srcdir)/'`dapl/openib_cma/cm.c
-dapl_udapl_libdaplofa_la-dapl_ib_mem.lo: dapl/openib_cma/dapl_ib_mem.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ib_mem.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_mem.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ib_mem.lo `test -f 'dapl/openib_cma/dapl_ib_mem.c' || echo '$(srcdir)/'`dapl/openib_cma/dapl_ib_mem.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_mem.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_mem.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_cma/dapl_ib_mem.c' object='dapl_udapl_libdaplofa_la-dapl_ib_mem.lo' libtool=yes @AMDEPBACKSLASH@
+dapl_udapl_libdaplofa_la-device.lo: dapl/openib_cma/device.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-device.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-device.Tpo -c -o dapl_udapl_libdaplofa_la-device.lo `test -f 'dapl/openib_cma/device.c' || echo '$(srcdir)/'`dapl/openib_cma/device.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-device.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-device.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_cma/device.c' object='dapl_udapl_libdaplofa_la-device.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ib_mem.lo `test -f 'dapl/openib_cma/dapl_ib_mem.c' || echo '$(srcdir)/'`dapl/openib_cma/dapl_ib_mem.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-device.lo `test -f 'dapl/openib_cma/device.c' || echo '$(srcdir)/'`dapl/openib_cma/device.c
-dapl_udapl_libdaplofa_la-dapl_ib_extensions.lo: dapl/openib_cma/dapl_ib_extensions.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-dapl_ib_extensions.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_extensions.Tpo -c -o dapl_udapl_libdaplofa_la-dapl_ib_extensions.lo `test -f 'dapl/openib_cma/dapl_ib_extensions.c' || echo '$(srcdir)/'`dapl/openib_cma/dapl_ib_extensions.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_extensions.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-dapl_ib_extensions.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_cma/dapl_ib_extensions.c' object='dapl_udapl_libdaplofa_la-dapl_ib_extensions.lo' libtool=yes @AMDEPBACKSLASH@
+dapl_udapl_libdaplofa_la-ib_extensions.lo: dapl/openib_common/ib_extensions.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-ib_extensions.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-ib_extensions.Tpo -c -o dapl_udapl_libdaplofa_la-ib_extensions.lo `test -f 'dapl/openib_common/ib_extensions.c' || echo '$(srcdir)/'`dapl/openib_common/ib_extensions.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-ib_extensions.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-ib_extensions.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_common/ib_extensions.c' object='dapl_udapl_libdaplofa_la-ib_extensions.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-dapl_ib_extensions.lo `test -f 'dapl/openib_cma/dapl_ib_extensions.c' || echo '$(srcdir)/'`dapl/openib_cma/dapl_ib_extensions.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-ib_extensions.lo `test -f 'dapl/openib_common/ib_extensions.c' || echo '$(srcdir)/'`dapl/openib_common/ib_extensions.c
+
+dapl_udapl_libdaplofa_la-fca_provider.lo: dapl/openib_common/collectives/fca_provider.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaplofa_la-fca_provider.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaplofa_la-fca_provider.Tpo -c -o dapl_udapl_libdaplofa_la-fca_provider.lo `test -f 'dapl/openib_common/collectives/fca_provider.c' || echo '$(srcdir)/'`dapl/openib_common/collectives/fca_provider.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaplofa_la-fca_provider.Tpo $(DEPDIR)/dapl_udapl_libdaplofa_la-fca_provider.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_common/collectives/fca_provider.c' object='dapl_udapl_libdaplofa_la-fca_provider.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaplofa_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaplofa_la-fca_provider.lo `test -f 'dapl/openib_common/collectives/fca_provider.c' || echo '$(srcdir)/'`dapl/openib_common/collectives/fca_provider.c
dapl_udapl_libdaploscm_la-dapl_init.lo: dapl/udapl/dapl_init.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_init.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_init.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_init.lo `test -f 'dapl/udapl/dapl_init.c' || echo '$(srcdir)/'`dapl/udapl/dapl_init.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_init.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_init.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_init.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_init.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_init.lo `test -f 'dapl/udapl/dapl_init.c' || echo '$(srcdir)/'`dapl/udapl/dapl_init.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_init.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_init.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_init.c' object='dapl_udapl_libdaploscm_la-dapl_init.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_init.lo `test -f 'dapl/udapl/dapl_init.c' || echo '$(srcdir)/'`dapl/udapl/dapl_init.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_init.lo `test -f 'dapl/udapl/dapl_init.c' || echo '$(srcdir)/'`dapl/udapl/dapl_init.c
dapl_udapl_libdaploscm_la-dapl_evd_create.lo: dapl/udapl/dapl_evd_create.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_create.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_create.lo `test -f 'dapl/udapl/dapl_evd_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_create.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_create.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_create.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_create.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_create.lo `test -f 'dapl/udapl/dapl_evd_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_create.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_create.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_create.c' object='dapl_udapl_libdaploscm_la-dapl_evd_create.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_create.lo `test -f 'dapl/udapl/dapl_evd_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_create.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_create.lo `test -f 'dapl/udapl/dapl_evd_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_create.c
dapl_udapl_libdaploscm_la-dapl_evd_query.lo: dapl/udapl/dapl_evd_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_query.lo `test -f 'dapl/udapl/dapl_evd_query.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_query.lo `test -f 'dapl/udapl/dapl_evd_query.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_query.c' object='dapl_udapl_libdaploscm_la-dapl_evd_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_query.lo `test -f 'dapl/udapl/dapl_evd_query.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_query.lo `test -f 'dapl/udapl/dapl_evd_query.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_query.c
dapl_udapl_libdaploscm_la-dapl_cno_create.lo: dapl/udapl/dapl_cno_create.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cno_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_create.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cno_create.lo `test -f 'dapl/udapl/dapl_cno_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_create.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_create.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_create.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cno_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_create.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cno_create.lo `test -f 'dapl/udapl/dapl_cno_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_create.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_create.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_cno_create.c' object='dapl_udapl_libdaploscm_la-dapl_cno_create.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cno_create.lo `test -f 'dapl/udapl/dapl_cno_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_create.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cno_create.lo `test -f 'dapl/udapl/dapl_cno_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_create.c
dapl_udapl_libdaploscm_la-dapl_cno_modify_agent.lo: dapl/udapl/dapl_cno_modify_agent.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cno_modify_agent.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_modify_agent.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cno_modify_agent.lo `test -f 'dapl/udapl/dapl_cno_modify_agent.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_modify_agent.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_modify_agent.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_modify_agent.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cno_modify_agent.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_modify_agent.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cno_modify_agent.lo `test -f 'dapl/udapl/dapl_cno_modify_agent.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_modify_agent.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_modify_agent.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_modify_agent.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_cno_modify_agent.c' object='dapl_udapl_libdaploscm_la-dapl_cno_modify_agent.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cno_modify_agent.lo `test -f 'dapl/udapl/dapl_cno_modify_agent.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_modify_agent.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cno_modify_agent.lo `test -f 'dapl/udapl/dapl_cno_modify_agent.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_modify_agent.c
dapl_udapl_libdaploscm_la-dapl_cno_free.lo: dapl/udapl/dapl_cno_free.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cno_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_free.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cno_free.lo `test -f 'dapl/udapl/dapl_cno_free.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_free.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_free.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_free.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cno_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_free.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cno_free.lo `test -f 'dapl/udapl/dapl_cno_free.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_free.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_free.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_cno_free.c' object='dapl_udapl_libdaploscm_la-dapl_cno_free.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cno_free.lo `test -f 'dapl/udapl/dapl_cno_free.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_free.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cno_free.lo `test -f 'dapl/udapl/dapl_cno_free.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_free.c
dapl_udapl_libdaploscm_la-dapl_cno_wait.lo: dapl/udapl/dapl_cno_wait.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cno_wait.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_wait.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cno_wait.lo `test -f 'dapl/udapl/dapl_cno_wait.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_wait.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_wait.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_wait.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cno_wait.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_wait.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cno_wait.lo `test -f 'dapl/udapl/dapl_cno_wait.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_wait.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_wait.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_wait.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_cno_wait.c' object='dapl_udapl_libdaploscm_la-dapl_cno_wait.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cno_wait.lo `test -f 'dapl/udapl/dapl_cno_wait.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_wait.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cno_wait.lo `test -f 'dapl/udapl/dapl_cno_wait.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_wait.c
dapl_udapl_libdaploscm_la-dapl_cno_query.lo: dapl/udapl/dapl_cno_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cno_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cno_query.lo `test -f 'dapl/udapl/dapl_cno_query.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cno_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cno_query.lo `test -f 'dapl/udapl/dapl_cno_query.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_cno_query.c' object='dapl_udapl_libdaploscm_la-dapl_cno_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cno_query.lo `test -f 'dapl/udapl/dapl_cno_query.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cno_query.lo `test -f 'dapl/udapl/dapl_cno_query.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_query.c
dapl_udapl_libdaploscm_la-dapl_lmr_create.lo: dapl/udapl/dapl_lmr_create.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_lmr_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_create.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_lmr_create.lo `test -f 'dapl/udapl/dapl_lmr_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_lmr_create.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_create.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_create.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_lmr_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_create.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_lmr_create.lo `test -f 'dapl/udapl/dapl_lmr_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_lmr_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_create.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_create.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_lmr_create.c' object='dapl_udapl_libdaploscm_la-dapl_lmr_create.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_lmr_create.lo `test -f 'dapl/udapl/dapl_lmr_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_lmr_create.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_lmr_create.lo `test -f 'dapl/udapl/dapl_lmr_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_lmr_create.c
dapl_udapl_libdaploscm_la-dapl_evd_wait.lo: dapl/udapl/dapl_evd_wait.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_wait.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_wait.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_wait.lo `test -f 'dapl/udapl/dapl_evd_wait.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_wait.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_wait.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_wait.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_wait.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_wait.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_wait.lo `test -f 'dapl/udapl/dapl_evd_wait.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_wait.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_wait.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_wait.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_wait.c' object='dapl_udapl_libdaploscm_la-dapl_evd_wait.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_wait.lo `test -f 'dapl/udapl/dapl_evd_wait.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_wait.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_wait.lo `test -f 'dapl/udapl/dapl_evd_wait.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_wait.c
dapl_udapl_libdaploscm_la-dapl_evd_disable.lo: dapl/udapl/dapl_evd_disable.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_disable.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_disable.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_disable.lo `test -f 'dapl/udapl/dapl_evd_disable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_disable.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_disable.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_disable.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_disable.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_disable.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_disable.lo `test -f 'dapl/udapl/dapl_evd_disable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_disable.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_disable.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_disable.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_disable.c' object='dapl_udapl_libdaploscm_la-dapl_evd_disable.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_disable.lo `test -f 'dapl/udapl/dapl_evd_disable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_disable.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_disable.lo `test -f 'dapl/udapl/dapl_evd_disable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_disable.c
dapl_udapl_libdaploscm_la-dapl_evd_enable.lo: dapl/udapl/dapl_evd_enable.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_enable.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_enable.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_enable.lo `test -f 'dapl/udapl/dapl_evd_enable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_enable.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_enable.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_enable.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_enable.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_enable.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_enable.lo `test -f 'dapl/udapl/dapl_evd_enable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_enable.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_enable.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_enable.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_enable.c' object='dapl_udapl_libdaploscm_la-dapl_evd_enable.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_enable.lo `test -f 'dapl/udapl/dapl_evd_enable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_enable.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_enable.lo `test -f 'dapl/udapl/dapl_evd_enable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_enable.c
dapl_udapl_libdaploscm_la-dapl_evd_modify_cno.lo: dapl/udapl/dapl_evd_modify_cno.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_modify_cno.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_modify_cno.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_modify_cno.lo `test -f 'dapl/udapl/dapl_evd_modify_cno.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_modify_cno.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_modify_cno.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_modify_cno.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_modify_cno.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_modify_cno.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_modify_cno.lo `test -f 'dapl/udapl/dapl_evd_modify_cno.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_modify_cno.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_modify_cno.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_modify_cno.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_modify_cno.c' object='dapl_udapl_libdaploscm_la-dapl_evd_modify_cno.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_modify_cno.lo `test -f 'dapl/udapl/dapl_evd_modify_cno.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_modify_cno.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_modify_cno.lo `test -f 'dapl/udapl/dapl_evd_modify_cno.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_modify_cno.c
dapl_udapl_libdaploscm_la-dapl_evd_set_unwaitable.lo: dapl/udapl/dapl_evd_set_unwaitable.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_set_unwaitable.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_set_unwaitable.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_set_unwaitable.lo `test -f 'dapl/udapl/dapl_evd_set_unwaitable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_s [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_set_unwaitable.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_set_unwaitable.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_set_unwaitable.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_set_unwaitable.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_set_unwaitable.lo `test -f 'dapl/udapl/dapl_evd_set_unwaitable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_ [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_set_unwaitable.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_set_unwaitable.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_set_unwaitable.c' object='dapl_udapl_libdaploscm_la-dapl_evd_set_unwaitable.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_set_unwaitable.lo `test -f 'dapl/udapl/dapl_evd_set_unwaitable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_set_unwaitable.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_set_unwaitable.lo `test -f 'dapl/udapl/dapl_evd_set_unwaitable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_set_unwaitable.c
dapl_udapl_libdaploscm_la-dapl_evd_clear_unwaitable.lo: dapl/udapl/dapl_evd_clear_unwaitable.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_clear_unwaitable.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_clear_unwaitable.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_clear_unwaitable.lo `test -f 'dapl/udapl/dapl_evd_clear_unwaitable.c' || echo '$(srcdir)/'`dapl/udapl/da [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_clear_unwaitable.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_clear_unwaitable.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_clear_unwaitable.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_clear_unwaitable.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_clear_unwaitable.lo `test -f 'dapl/udapl/dapl_evd_clear_unwaitable.c' || echo '$(srcdir)/'`dapl/udapl/d [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_clear_unwaitable.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_clear_unwaitable.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_clear_unwaitable.c' object='dapl_udapl_libdaploscm_la-dapl_evd_clear_unwaitable.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_clear_unwaitable.lo `test -f 'dapl/udapl/dapl_evd_clear_unwaitable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_clear_unwaitable.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_clear_unwaitable.lo `test -f 'dapl/udapl/dapl_evd_clear_unwaitable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_clear_unwaitable.c
dapl_udapl_libdaploscm_la-dapl_osd.lo: dapl/udapl/linux/dapl_osd.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_osd.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_osd.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_osd.lo `test -f 'dapl/udapl/linux/dapl_osd.c' || echo '$(srcdir)/'`dapl/udapl/linux/dapl_osd.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_osd.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_osd.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_osd.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_osd.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_osd.lo `test -f 'dapl/udapl/linux/dapl_osd.c' || echo '$(srcdir)/'`dapl/udapl/linux/dapl_osd.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_osd.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_osd.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/linux/dapl_osd.c' object='dapl_udapl_libdaploscm_la-dapl_osd.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_osd.lo `test -f 'dapl/udapl/linux/dapl_osd.c' || echo '$(srcdir)/'`dapl/udapl/linux/dapl_osd.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_osd.lo `test -f 'dapl/udapl/linux/dapl_osd.c' || echo '$(srcdir)/'`dapl/udapl/linux/dapl_osd.c
dapl_udapl_libdaploscm_la-dapl_cookie.lo: dapl/common/dapl_cookie.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cookie.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cookie.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cookie.lo `test -f 'dapl/common/dapl_cookie.c' || echo '$(srcdir)/'`dapl/common/dapl_cookie.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cookie.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cookie.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cookie.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cookie.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cookie.lo `test -f 'dapl/common/dapl_cookie.c' || echo '$(srcdir)/'`dapl/common/dapl_cookie.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cookie.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cookie.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cookie.c' object='dapl_udapl_libdaploscm_la-dapl_cookie.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cookie.lo `test -f 'dapl/common/dapl_cookie.c' || echo '$(srcdir)/'`dapl/common/dapl_cookie.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cookie.lo `test -f 'dapl/common/dapl_cookie.c' || echo '$(srcdir)/'`dapl/common/dapl_cookie.c
dapl_udapl_libdaploscm_la-dapl_cr_accept.lo: dapl/common/dapl_cr_accept.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cr_accept.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_accept.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cr_accept.lo `test -f 'dapl/common/dapl_cr_accept.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_accept.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_accept.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_accept.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cr_accept.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_accept.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cr_accept.lo `test -f 'dapl/common/dapl_cr_accept.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_accept.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_accept.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_accept.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cr_accept.c' object='dapl_udapl_libdaploscm_la-dapl_cr_accept.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cr_accept.lo `test -f 'dapl/common/dapl_cr_accept.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_accept.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cr_accept.lo `test -f 'dapl/common/dapl_cr_accept.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_accept.c
dapl_udapl_libdaploscm_la-dapl_cr_query.lo: dapl/common/dapl_cr_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cr_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cr_query.lo `test -f 'dapl/common/dapl_cr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cr_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cr_query.lo `test -f 'dapl/common/dapl_cr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cr_query.c' object='dapl_udapl_libdaploscm_la-dapl_cr_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cr_query.lo `test -f 'dapl/common/dapl_cr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cr_query.lo `test -f 'dapl/common/dapl_cr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_query.c
dapl_udapl_libdaploscm_la-dapl_cr_reject.lo: dapl/common/dapl_cr_reject.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cr_reject.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_reject.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cr_reject.lo `test -f 'dapl/common/dapl_cr_reject.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_reject.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_reject.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_reject.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cr_reject.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_reject.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cr_reject.lo `test -f 'dapl/common/dapl_cr_reject.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_reject.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_reject.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_reject.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cr_reject.c' object='dapl_udapl_libdaploscm_la-dapl_cr_reject.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cr_reject.lo `test -f 'dapl/common/dapl_cr_reject.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_reject.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cr_reject.lo `test -f 'dapl/common/dapl_cr_reject.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_reject.c
dapl_udapl_libdaploscm_la-dapl_cr_util.lo: dapl/common/dapl_cr_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cr_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cr_util.lo `test -f 'dapl/common/dapl_cr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cr_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cr_util.lo `test -f 'dapl/common/dapl_cr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cr_util.c' object='dapl_udapl_libdaploscm_la-dapl_cr_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cr_util.lo `test -f 'dapl/common/dapl_cr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cr_util.lo `test -f 'dapl/common/dapl_cr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_util.c
dapl_udapl_libdaploscm_la-dapl_cr_callback.lo: dapl/common/dapl_cr_callback.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cr_callback.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_callback.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cr_callback.lo `test -f 'dapl/common/dapl_cr_callback.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_callback.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_callback.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_callback.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cr_callback.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_callback.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cr_callback.lo `test -f 'dapl/common/dapl_cr_callback.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_callback.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_callback.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_callback.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cr_callback.c' object='dapl_udapl_libdaploscm_la-dapl_cr_callback.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cr_callback.lo `test -f 'dapl/common/dapl_cr_callback.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_callback.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cr_callback.lo `test -f 'dapl/common/dapl_cr_callback.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_callback.c
dapl_udapl_libdaploscm_la-dapl_cr_handoff.lo: dapl/common/dapl_cr_handoff.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cr_handoff.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_handoff.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cr_handoff.lo `test -f 'dapl/common/dapl_cr_handoff.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_handoff.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_handoff.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_handoff.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cr_handoff.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_handoff.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cr_handoff.lo `test -f 'dapl/common/dapl_cr_handoff.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_handoff.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_handoff.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cr_handoff.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cr_handoff.c' object='dapl_udapl_libdaploscm_la-dapl_cr_handoff.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cr_handoff.lo `test -f 'dapl/common/dapl_cr_handoff.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_handoff.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cr_handoff.lo `test -f 'dapl/common/dapl_cr_handoff.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_handoff.c
dapl_udapl_libdaploscm_la-dapl_ep_connect.lo: dapl/common/dapl_ep_connect.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_connect.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_connect.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_connect.lo `test -f 'dapl/common/dapl_ep_connect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_connect.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_connect.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_connect.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_connect.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_connect.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_connect.lo `test -f 'dapl/common/dapl_ep_connect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_connect.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_connect.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_connect.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_connect.c' object='dapl_udapl_libdaploscm_la-dapl_ep_connect.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_connect.lo `test -f 'dapl/common/dapl_ep_connect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_connect.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_connect.lo `test -f 'dapl/common/dapl_ep_connect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_connect.c
dapl_udapl_libdaploscm_la-dapl_ep_create.lo: dapl/common/dapl_ep_create.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_create.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_create.lo `test -f 'dapl/common/dapl_ep_create.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_create.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_create.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_create.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_create.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_create.lo `test -f 'dapl/common/dapl_ep_create.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_create.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_create.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_create.c' object='dapl_udapl_libdaploscm_la-dapl_ep_create.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_create.lo `test -f 'dapl/common/dapl_ep_create.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_create.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_create.lo `test -f 'dapl/common/dapl_ep_create.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_create.c
dapl_udapl_libdaploscm_la-dapl_ep_disconnect.lo: dapl/common/dapl_ep_disconnect.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_disconnect.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_disconnect.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_disconnect.lo `test -f 'dapl/common/dapl_ep_disconnect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_disconnect.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_disconnect.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_disconnect.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_disconnect.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_disconnect.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_disconnect.lo `test -f 'dapl/common/dapl_ep_disconnect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_disconnect.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_disconnect.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_disconnect.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_disconnect.c' object='dapl_udapl_libdaploscm_la-dapl_ep_disconnect.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_disconnect.lo `test -f 'dapl/common/dapl_ep_disconnect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_disconnect.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_disconnect.lo `test -f 'dapl/common/dapl_ep_disconnect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_disconnect.c
dapl_udapl_libdaploscm_la-dapl_ep_dup_connect.lo: dapl/common/dapl_ep_dup_connect.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_dup_connect.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_dup_connect.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_dup_connect.lo `test -f 'dapl/common/dapl_ep_dup_connect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_dup_connect.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_dup_connect.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_dup_connect.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_dup_connect.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_dup_connect.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_dup_connect.lo `test -f 'dapl/common/dapl_ep_dup_connect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_dup_connect.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_dup_connect.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_dup_connect.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_dup_connect.c' object='dapl_udapl_libdaploscm_la-dapl_ep_dup_connect.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_dup_connect.lo `test -f 'dapl/common/dapl_ep_dup_connect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_dup_connect.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_dup_connect.lo `test -f 'dapl/common/dapl_ep_dup_connect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_dup_connect.c
dapl_udapl_libdaploscm_la-dapl_ep_free.lo: dapl/common/dapl_ep_free.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_free.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_free.lo `test -f 'dapl/common/dapl_ep_free.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_free.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_free.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_free.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_free.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_free.lo `test -f 'dapl/common/dapl_ep_free.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_free.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_free.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_free.c' object='dapl_udapl_libdaploscm_la-dapl_ep_free.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_free.lo `test -f 'dapl/common/dapl_ep_free.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_free.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_free.lo `test -f 'dapl/common/dapl_ep_free.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_free.c
dapl_udapl_libdaploscm_la-dapl_ep_reset.lo: dapl/common/dapl_ep_reset.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_reset.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_reset.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_reset.lo `test -f 'dapl/common/dapl_ep_reset.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_reset.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_reset.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_reset.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_reset.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_reset.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_reset.lo `test -f 'dapl/common/dapl_ep_reset.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_reset.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_reset.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_reset.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_reset.c' object='dapl_udapl_libdaploscm_la-dapl_ep_reset.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_reset.lo `test -f 'dapl/common/dapl_ep_reset.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_reset.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_reset.lo `test -f 'dapl/common/dapl_ep_reset.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_reset.c
dapl_udapl_libdaploscm_la-dapl_ep_get_status.lo: dapl/common/dapl_ep_get_status.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_get_status.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_get_status.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_get_status.lo `test -f 'dapl/common/dapl_ep_get_status.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_get_status.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_get_status.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_get_status.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_get_status.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_get_status.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_get_status.lo `test -f 'dapl/common/dapl_ep_get_status.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_get_status.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_get_status.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_get_status.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_get_status.c' object='dapl_udapl_libdaploscm_la-dapl_ep_get_status.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_get_status.lo `test -f 'dapl/common/dapl_ep_get_status.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_get_status.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_get_status.lo `test -f 'dapl/common/dapl_ep_get_status.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_get_status.c
dapl_udapl_libdaploscm_la-dapl_ep_modify.lo: dapl/common/dapl_ep_modify.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_modify.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_modify.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_modify.lo `test -f 'dapl/common/dapl_ep_modify.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_modify.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_modify.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_modify.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_modify.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_modify.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_modify.lo `test -f 'dapl/common/dapl_ep_modify.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_modify.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_modify.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_modify.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_modify.c' object='dapl_udapl_libdaploscm_la-dapl_ep_modify.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_modify.lo `test -f 'dapl/common/dapl_ep_modify.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_modify.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_modify.lo `test -f 'dapl/common/dapl_ep_modify.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_modify.c
dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read.lo: dapl/common/dapl_ep_post_rdma_read.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read.lo `test -f 'dapl/common/dapl_ep_post_rdma_read.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read.lo `test -f 'dapl/common/dapl_ep_post_rdma_read.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_pos [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_post_rdma_read.c' object='dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read.lo `test -f 'dapl/common/dapl_ep_post_rdma_read.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_rdma_read.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read.lo `test -f 'dapl/common/dapl_ep_post_rdma_read.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_rdma_read.c
dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_write.lo: dapl/common/dapl_ep_post_rdma_write.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_write.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_write.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_write.lo `test -f 'dapl/common/dapl_ep_post_rdma_write.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_ [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_write.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_write.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_write.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_write.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_write.lo `test -f 'dapl/common/dapl_ep_post_rdma_write.c' || echo '$(srcdir)/'`dapl/common/dapl_ep [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_write.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_write.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_post_rdma_write.c' object='dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_write.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_write.lo `test -f 'dapl/common/dapl_ep_post_rdma_write.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_rdma_write.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_write.lo `test -f 'dapl/common/dapl_ep_post_rdma_write.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_rdma_write.c
dapl_udapl_libdaploscm_la-dapl_ep_post_recv.lo: dapl/common/dapl_ep_post_recv.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_post_recv.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_recv.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_recv.lo `test -f 'dapl/common/dapl_ep_post_recv.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_recv.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_recv.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_recv.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_post_recv.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_recv.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_recv.lo `test -f 'dapl/common/dapl_ep_post_recv.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_recv.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_recv.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_recv.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_post_recv.c' object='dapl_udapl_libdaploscm_la-dapl_ep_post_recv.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_recv.lo `test -f 'dapl/common/dapl_ep_post_recv.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_recv.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_recv.lo `test -f 'dapl/common/dapl_ep_post_recv.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_recv.c
dapl_udapl_libdaploscm_la-dapl_ep_post_send.lo: dapl/common/dapl_ep_post_send.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_post_send.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_send.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_send.lo `test -f 'dapl/common/dapl_ep_post_send.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_send.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_send.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_send.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_post_send.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_send.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_send.lo `test -f 'dapl/common/dapl_ep_post_send.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_send.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_send.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_send.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_post_send.c' object='dapl_udapl_libdaploscm_la-dapl_ep_post_send.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_send.lo `test -f 'dapl/common/dapl_ep_post_send.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_send.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_send.lo `test -f 'dapl/common/dapl_ep_post_send.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_send.c
dapl_udapl_libdaploscm_la-dapl_ep_query.lo: dapl/common/dapl_ep_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_query.lo `test -f 'dapl/common/dapl_ep_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_query.lo `test -f 'dapl/common/dapl_ep_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_query.c' object='dapl_udapl_libdaploscm_la-dapl_ep_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_query.lo `test -f 'dapl/common/dapl_ep_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_query.lo `test -f 'dapl/common/dapl_ep_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_query.c
dapl_udapl_libdaploscm_la-dapl_ep_util.lo: dapl/common/dapl_ep_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_util.lo `test -f 'dapl/common/dapl_ep_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_util.lo `test -f 'dapl/common/dapl_ep_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_util.c' object='dapl_udapl_libdaploscm_la-dapl_ep_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_util.lo `test -f 'dapl/common/dapl_ep_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_util.lo `test -f 'dapl/common/dapl_ep_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_util.c
dapl_udapl_libdaploscm_la-dapl_evd_dequeue.lo: dapl/common/dapl_evd_dequeue.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_dequeue.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_dequeue.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_dequeue.lo `test -f 'dapl/common/dapl_evd_dequeue.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_dequeue.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_dequeue.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_dequeue.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_dequeue.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_dequeue.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_dequeue.lo `test -f 'dapl/common/dapl_evd_dequeue.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_dequeue.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_dequeue.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_dequeue.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_dequeue.c' object='dapl_udapl_libdaploscm_la-dapl_evd_dequeue.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_dequeue.lo `test -f 'dapl/common/dapl_evd_dequeue.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_dequeue.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_dequeue.lo `test -f 'dapl/common/dapl_evd_dequeue.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_dequeue.c
dapl_udapl_libdaploscm_la-dapl_evd_free.lo: dapl/common/dapl_evd_free.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_free.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_free.lo `test -f 'dapl/common/dapl_evd_free.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_free.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_free.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_free.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_free.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_free.lo `test -f 'dapl/common/dapl_evd_free.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_free.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_free.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_free.c' object='dapl_udapl_libdaploscm_la-dapl_evd_free.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_free.lo `test -f 'dapl/common/dapl_evd_free.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_free.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_free.lo `test -f 'dapl/common/dapl_evd_free.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_free.c
dapl_udapl_libdaploscm_la-dapl_evd_post_se.lo: dapl/common/dapl_evd_post_se.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_post_se.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_post_se.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_post_se.lo `test -f 'dapl/common/dapl_evd_post_se.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_post_se.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_post_se.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_post_se.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_post_se.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_post_se.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_post_se.lo `test -f 'dapl/common/dapl_evd_post_se.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_post_se.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_post_se.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_post_se.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_post_se.c' object='dapl_udapl_libdaploscm_la-dapl_evd_post_se.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_post_se.lo `test -f 'dapl/common/dapl_evd_post_se.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_post_se.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_post_se.lo `test -f 'dapl/common/dapl_evd_post_se.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_post_se.c
dapl_udapl_libdaploscm_la-dapl_evd_resize.lo: dapl/common/dapl_evd_resize.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_resize.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_resize.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_resize.lo `test -f 'dapl/common/dapl_evd_resize.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_resize.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_resize.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_resize.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_resize.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_resize.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_resize.lo `test -f 'dapl/common/dapl_evd_resize.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_resize.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_resize.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_resize.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_resize.c' object='dapl_udapl_libdaploscm_la-dapl_evd_resize.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_resize.lo `test -f 'dapl/common/dapl_evd_resize.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_resize.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_resize.lo `test -f 'dapl/common/dapl_evd_resize.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_resize.c
dapl_udapl_libdaploscm_la-dapl_evd_util.lo: dapl/common/dapl_evd_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_util.lo `test -f 'dapl/common/dapl_evd_util.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_util.lo `test -f 'dapl/common/dapl_evd_util.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_util.c' object='dapl_udapl_libdaploscm_la-dapl_evd_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_util.lo `test -f 'dapl/common/dapl_evd_util.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_util.lo `test -f 'dapl/common/dapl_evd_util.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_util.c
dapl_udapl_libdaploscm_la-dapl_evd_cq_async_error_callb.lo: dapl/common/dapl_evd_cq_async_error_callb.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_cq_async_error_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_cq_async_error_callb.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_cq_async_error_callb.lo `test -f 'dapl/common/dapl_evd_cq_async_error_callb.c' || echo '$(srcdir [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_cq_async_error_callb.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_cq_async_error_callb.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_cq_async_error_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_cq_async_error_callb.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_cq_async_error_callb.lo `test -f 'dapl/common/dapl_evd_cq_async_error_callb.c' || echo '$(srcdi [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_cq_async_error_callb.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_cq_async_error_callb.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_cq_async_error_callb.c' object='dapl_udapl_libdaploscm_la-dapl_evd_cq_async_error_callb.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_cq_async_error_callb.lo `test -f 'dapl/common/dapl_evd_cq_async_error_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_cq_async_error_callb.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_cq_async_error_callb.lo `test -f 'dapl/common/dapl_evd_cq_async_error_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_cq_async_error_callb.c
dapl_udapl_libdaploscm_la-dapl_evd_qp_async_error_callb.lo: dapl/common/dapl_evd_qp_async_error_callb.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_qp_async_error_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_qp_async_error_callb.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_qp_async_error_callb.lo `test -f 'dapl/common/dapl_evd_qp_async_error_callb.c' || echo '$(srcdir [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_qp_async_error_callb.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_qp_async_error_callb.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_qp_async_error_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_qp_async_error_callb.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_qp_async_error_callb.lo `test -f 'dapl/common/dapl_evd_qp_async_error_callb.c' || echo '$(srcdi [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_qp_async_error_callb.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_qp_async_error_callb.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_qp_async_error_callb.c' object='dapl_udapl_libdaploscm_la-dapl_evd_qp_async_error_callb.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_qp_async_error_callb.lo `test -f 'dapl/common/dapl_evd_qp_async_error_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_qp_async_error_callb.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_qp_async_error_callb.lo `test -f 'dapl/common/dapl_evd_qp_async_error_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_qp_async_error_callb.c
dapl_udapl_libdaploscm_la-dapl_evd_un_async_error_callb.lo: dapl/common/dapl_evd_un_async_error_callb.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_un_async_error_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_un_async_error_callb.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_un_async_error_callb.lo `test -f 'dapl/common/dapl_evd_un_async_error_callb.c' || echo '$(srcdir [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_un_async_error_callb.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_un_async_error_callb.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_un_async_error_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_un_async_error_callb.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_un_async_error_callb.lo `test -f 'dapl/common/dapl_evd_un_async_error_callb.c' || echo '$(srcdi [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_un_async_error_callb.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_un_async_error_callb.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_un_async_error_callb.c' object='dapl_udapl_libdaploscm_la-dapl_evd_un_async_error_callb.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_un_async_error_callb.lo `test -f 'dapl/common/dapl_evd_un_async_error_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_un_async_error_callb.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_un_async_error_callb.lo `test -f 'dapl/common/dapl_evd_un_async_error_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_un_async_error_callb.c
dapl_udapl_libdaploscm_la-dapl_evd_connection_callb.lo: dapl/common/dapl_evd_connection_callb.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_connection_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_connection_callb.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_connection_callb.lo `test -f 'dapl/common/dapl_evd_connection_callb.c' || echo '$(srcdir)/'`dapl/common/ [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_connection_callb.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_connection_callb.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_connection_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_connection_callb.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_connection_callb.lo `test -f 'dapl/common/dapl_evd_connection_callb.c' || echo '$(srcdir)/'`dapl/common [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_connection_callb.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_connection_callb.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_connection_callb.c' object='dapl_udapl_libdaploscm_la-dapl_evd_connection_callb.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_connection_callb.lo `test -f 'dapl/common/dapl_evd_connection_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_connection_callb.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_connection_callb.lo `test -f 'dapl/common/dapl_evd_connection_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_connection_callb.c
dapl_udapl_libdaploscm_la-dapl_evd_dto_callb.lo: dapl/common/dapl_evd_dto_callb.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_dto_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_dto_callb.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_dto_callb.lo `test -f 'dapl/common/dapl_evd_dto_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_dto_callb.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_dto_callb.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_dto_callb.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_evd_dto_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_dto_callb.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_evd_dto_callb.lo `test -f 'dapl/common/dapl_evd_dto_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_dto_callb.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_dto_callb.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_evd_dto_callb.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_dto_callb.c' object='dapl_udapl_libdaploscm_la-dapl_evd_dto_callb.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_dto_callb.lo `test -f 'dapl/common/dapl_evd_dto_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_dto_callb.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_evd_dto_callb.lo `test -f 'dapl/common/dapl_evd_dto_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_dto_callb.c
dapl_udapl_libdaploscm_la-dapl_get_consumer_context.lo: dapl/common/dapl_get_consumer_context.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_get_consumer_context.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_get_consumer_context.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_get_consumer_context.lo `test -f 'dapl/common/dapl_get_consumer_context.c' || echo '$(srcdir)/'`dapl/common/ [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_get_consumer_context.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_get_consumer_context.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_get_consumer_context.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_get_consumer_context.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_get_consumer_context.lo `test -f 'dapl/common/dapl_get_consumer_context.c' || echo '$(srcdir)/'`dapl/common [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_get_consumer_context.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_get_consumer_context.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_get_consumer_context.c' object='dapl_udapl_libdaploscm_la-dapl_get_consumer_context.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_get_consumer_context.lo `test -f 'dapl/common/dapl_get_consumer_context.c' || echo '$(srcdir)/'`dapl/common/dapl_get_consumer_context.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_get_consumer_context.lo `test -f 'dapl/common/dapl_get_consumer_context.c' || echo '$(srcdir)/'`dapl/common/dapl_get_consumer_context.c
dapl_udapl_libdaploscm_la-dapl_get_handle_type.lo: dapl/common/dapl_get_handle_type.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_get_handle_type.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_get_handle_type.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_get_handle_type.lo `test -f 'dapl/common/dapl_get_handle_type.c' || echo '$(srcdir)/'`dapl/common/dapl_get_handle_type.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_get_handle_type.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_get_handle_type.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_get_handle_type.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_get_handle_type.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_get_handle_type.lo `test -f 'dapl/common/dapl_get_handle_type.c' || echo '$(srcdir)/'`dapl/common/dapl_get_handle_type.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_get_handle_type.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_get_handle_type.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_get_handle_type.c' object='dapl_udapl_libdaploscm_la-dapl_get_handle_type.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_get_handle_type.lo `test -f 'dapl/common/dapl_get_handle_type.c' || echo '$(srcdir)/'`dapl/common/dapl_get_handle_type.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_get_handle_type.lo `test -f 'dapl/common/dapl_get_handle_type.c' || echo '$(srcdir)/'`dapl/common/dapl_get_handle_type.c
dapl_udapl_libdaploscm_la-dapl_hash.lo: dapl/common/dapl_hash.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_hash.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_hash.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_hash.lo `test -f 'dapl/common/dapl_hash.c' || echo '$(srcdir)/'`dapl/common/dapl_hash.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_hash.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_hash.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_hash.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_hash.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_hash.lo `test -f 'dapl/common/dapl_hash.c' || echo '$(srcdir)/'`dapl/common/dapl_hash.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_hash.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_hash.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_hash.c' object='dapl_udapl_libdaploscm_la-dapl_hash.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_hash.lo `test -f 'dapl/common/dapl_hash.c' || echo '$(srcdir)/'`dapl/common/dapl_hash.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_hash.lo `test -f 'dapl/common/dapl_hash.c' || echo '$(srcdir)/'`dapl/common/dapl_hash.c
dapl_udapl_libdaploscm_la-dapl_hca_util.lo: dapl/common/dapl_hca_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_hca_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_hca_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_hca_util.lo `test -f 'dapl/common/dapl_hca_util.c' || echo '$(srcdir)/'`dapl/common/dapl_hca_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_hca_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_hca_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_hca_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_hca_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_hca_util.lo `test -f 'dapl/common/dapl_hca_util.c' || echo '$(srcdir)/'`dapl/common/dapl_hca_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_hca_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_hca_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_hca_util.c' object='dapl_udapl_libdaploscm_la-dapl_hca_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_hca_util.lo `test -f 'dapl/common/dapl_hca_util.c' || echo '$(srcdir)/'`dapl/common/dapl_hca_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_hca_util.lo `test -f 'dapl/common/dapl_hca_util.c' || echo '$(srcdir)/'`dapl/common/dapl_hca_util.c
dapl_udapl_libdaploscm_la-dapl_ia_close.lo: dapl/common/dapl_ia_close.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ia_close.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_close.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ia_close.lo `test -f 'dapl/common/dapl_ia_close.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_close.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_close.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_close.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ia_close.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_close.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ia_close.lo `test -f 'dapl/common/dapl_ia_close.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_close.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_close.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_close.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ia_close.c' object='dapl_udapl_libdaploscm_la-dapl_ia_close.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ia_close.lo `test -f 'dapl/common/dapl_ia_close.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_close.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ia_close.lo `test -f 'dapl/common/dapl_ia_close.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_close.c
dapl_udapl_libdaploscm_la-dapl_ia_open.lo: dapl/common/dapl_ia_open.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ia_open.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_open.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ia_open.lo `test -f 'dapl/common/dapl_ia_open.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_open.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_open.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_open.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ia_open.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_open.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ia_open.lo `test -f 'dapl/common/dapl_ia_open.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_open.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_open.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_open.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ia_open.c' object='dapl_udapl_libdaploscm_la-dapl_ia_open.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ia_open.lo `test -f 'dapl/common/dapl_ia_open.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_open.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ia_open.lo `test -f 'dapl/common/dapl_ia_open.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_open.c
dapl_udapl_libdaploscm_la-dapl_ia_query.lo: dapl/common/dapl_ia_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ia_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ia_query.lo `test -f 'dapl/common/dapl_ia_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ia_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ia_query.lo `test -f 'dapl/common/dapl_ia_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ia_query.c' object='dapl_udapl_libdaploscm_la-dapl_ia_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ia_query.lo `test -f 'dapl/common/dapl_ia_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ia_query.lo `test -f 'dapl/common/dapl_ia_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_query.c
dapl_udapl_libdaploscm_la-dapl_ia_util.lo: dapl/common/dapl_ia_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ia_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ia_util.lo `test -f 'dapl/common/dapl_ia_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ia_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ia_util.lo `test -f 'dapl/common/dapl_ia_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ia_util.c' object='dapl_udapl_libdaploscm_la-dapl_ia_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ia_util.lo `test -f 'dapl/common/dapl_ia_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ia_util.lo `test -f 'dapl/common/dapl_ia_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_util.c
dapl_udapl_libdaploscm_la-dapl_llist.lo: dapl/common/dapl_llist.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_llist.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_llist.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_llist.lo `test -f 'dapl/common/dapl_llist.c' || echo '$(srcdir)/'`dapl/common/dapl_llist.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_llist.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_llist.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_llist.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_llist.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_llist.lo `test -f 'dapl/common/dapl_llist.c' || echo '$(srcdir)/'`dapl/common/dapl_llist.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_llist.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_llist.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_llist.c' object='dapl_udapl_libdaploscm_la-dapl_llist.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_llist.lo `test -f 'dapl/common/dapl_llist.c' || echo '$(srcdir)/'`dapl/common/dapl_llist.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_llist.lo `test -f 'dapl/common/dapl_llist.c' || echo '$(srcdir)/'`dapl/common/dapl_llist.c
dapl_udapl_libdaploscm_la-dapl_lmr_free.lo: dapl/common/dapl_lmr_free.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_lmr_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_free.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_lmr_free.lo `test -f 'dapl/common/dapl_lmr_free.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_free.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_free.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_free.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_lmr_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_free.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_lmr_free.lo `test -f 'dapl/common/dapl_lmr_free.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_free.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_free.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_lmr_free.c' object='dapl_udapl_libdaploscm_la-dapl_lmr_free.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_lmr_free.lo `test -f 'dapl/common/dapl_lmr_free.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_free.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_lmr_free.lo `test -f 'dapl/common/dapl_lmr_free.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_free.c
dapl_udapl_libdaploscm_la-dapl_lmr_query.lo: dapl/common/dapl_lmr_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_lmr_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_lmr_query.lo `test -f 'dapl/common/dapl_lmr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_lmr_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_lmr_query.lo `test -f 'dapl/common/dapl_lmr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_lmr_query.c' object='dapl_udapl_libdaploscm_la-dapl_lmr_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_lmr_query.lo `test -f 'dapl/common/dapl_lmr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_lmr_query.lo `test -f 'dapl/common/dapl_lmr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_query.c
dapl_udapl_libdaploscm_la-dapl_lmr_util.lo: dapl/common/dapl_lmr_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_lmr_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_lmr_util.lo `test -f 'dapl/common/dapl_lmr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_lmr_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_lmr_util.lo `test -f 'dapl/common/dapl_lmr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_lmr_util.c' object='dapl_udapl_libdaploscm_la-dapl_lmr_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_lmr_util.lo `test -f 'dapl/common/dapl_lmr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_lmr_util.lo `test -f 'dapl/common/dapl_lmr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_util.c
dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_read.lo: dapl/common/dapl_lmr_sync_rdma_read.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_read.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_read.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_read.lo `test -f 'dapl/common/dapl_lmr_sync_rdma_read.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_read.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_read.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_read.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_read.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_read.lo `test -f 'dapl/common/dapl_lmr_sync_rdma_read.c' || echo '$(srcdir)/'`dapl/common/dapl_lm [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_read.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_read.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_lmr_sync_rdma_read.c' object='dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_read.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_read.lo `test -f 'dapl/common/dapl_lmr_sync_rdma_read.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_sync_rdma_read.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_read.lo `test -f 'dapl/common/dapl_lmr_sync_rdma_read.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_sync_rdma_read.c
dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_write.lo: dapl/common/dapl_lmr_sync_rdma_write.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_write.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_write.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_write.lo `test -f 'dapl/common/dapl_lmr_sync_rdma_write.c' || echo '$(srcdir)/'`dapl/common/dapl [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_write.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_write.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_write.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_write.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_write.lo `test -f 'dapl/common/dapl_lmr_sync_rdma_write.c' || echo '$(srcdir)/'`dapl/common/dap [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_write.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_write.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_lmr_sync_rdma_write.c' object='dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_write.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_write.lo `test -f 'dapl/common/dapl_lmr_sync_rdma_write.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_sync_rdma_write.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_lmr_sync_rdma_write.lo `test -f 'dapl/common/dapl_lmr_sync_rdma_write.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_sync_rdma_write.c
dapl_udapl_libdaploscm_la-dapl_mr_util.lo: dapl/common/dapl_mr_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_mr_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_mr_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_mr_util.lo `test -f 'dapl/common/dapl_mr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_mr_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_mr_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_mr_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_mr_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_mr_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_mr_util.lo `test -f 'dapl/common/dapl_mr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_mr_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_mr_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_mr_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_mr_util.c' object='dapl_udapl_libdaploscm_la-dapl_mr_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_mr_util.lo `test -f 'dapl/common/dapl_mr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_mr_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_mr_util.lo `test -f 'dapl/common/dapl_mr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_mr_util.c
dapl_udapl_libdaploscm_la-dapl_provider.lo: dapl/common/dapl_provider.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_provider.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_provider.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_provider.lo `test -f 'dapl/common/dapl_provider.c' || echo '$(srcdir)/'`dapl/common/dapl_provider.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_provider.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_provider.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_provider.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_provider.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_provider.lo `test -f 'dapl/common/dapl_provider.c' || echo '$(srcdir)/'`dapl/common/dapl_provider.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_provider.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_provider.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_provider.c' object='dapl_udapl_libdaploscm_la-dapl_provider.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_provider.lo `test -f 'dapl/common/dapl_provider.c' || echo '$(srcdir)/'`dapl/common/dapl_provider.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_provider.lo `test -f 'dapl/common/dapl_provider.c' || echo '$(srcdir)/'`dapl/common/dapl_provider.c
dapl_udapl_libdaploscm_la-dapl_sp_util.lo: dapl/common/dapl_sp_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_sp_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_sp_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_sp_util.lo `test -f 'dapl/common/dapl_sp_util.c' || echo '$(srcdir)/'`dapl/common/dapl_sp_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_sp_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_sp_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_sp_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_sp_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_sp_util.lo `test -f 'dapl/common/dapl_sp_util.c' || echo '$(srcdir)/'`dapl/common/dapl_sp_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_sp_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_sp_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_sp_util.c' object='dapl_udapl_libdaploscm_la-dapl_sp_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_sp_util.lo `test -f 'dapl/common/dapl_sp_util.c' || echo '$(srcdir)/'`dapl/common/dapl_sp_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_sp_util.lo `test -f 'dapl/common/dapl_sp_util.c' || echo '$(srcdir)/'`dapl/common/dapl_sp_util.c
dapl_udapl_libdaploscm_la-dapl_psp_create.lo: dapl/common/dapl_psp_create.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_psp_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_create.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_psp_create.lo `test -f 'dapl/common/dapl_psp_create.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_create.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_create.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_create.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_psp_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_create.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_psp_create.lo `test -f 'dapl/common/dapl_psp_create.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_create.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_create.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_psp_create.c' object='dapl_udapl_libdaploscm_la-dapl_psp_create.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_psp_create.lo `test -f 'dapl/common/dapl_psp_create.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_create.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_psp_create.lo `test -f 'dapl/common/dapl_psp_create.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_create.c
dapl_udapl_libdaploscm_la-dapl_psp_create_any.lo: dapl/common/dapl_psp_create_any.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_psp_create_any.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_create_any.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_psp_create_any.lo `test -f 'dapl/common/dapl_psp_create_any.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_create_any.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_create_any.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_create_any.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_psp_create_any.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_create_any.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_psp_create_any.lo `test -f 'dapl/common/dapl_psp_create_any.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_create_any.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_create_any.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_create_any.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_psp_create_any.c' object='dapl_udapl_libdaploscm_la-dapl_psp_create_any.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_psp_create_any.lo `test -f 'dapl/common/dapl_psp_create_any.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_create_any.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_psp_create_any.lo `test -f 'dapl/common/dapl_psp_create_any.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_create_any.c
dapl_udapl_libdaploscm_la-dapl_psp_free.lo: dapl/common/dapl_psp_free.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_psp_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_free.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_psp_free.lo `test -f 'dapl/common/dapl_psp_free.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_free.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_free.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_free.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_psp_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_free.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_psp_free.lo `test -f 'dapl/common/dapl_psp_free.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_free.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_free.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_psp_free.c' object='dapl_udapl_libdaploscm_la-dapl_psp_free.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_psp_free.lo `test -f 'dapl/common/dapl_psp_free.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_free.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_psp_free.lo `test -f 'dapl/common/dapl_psp_free.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_free.c
dapl_udapl_libdaploscm_la-dapl_psp_query.lo: dapl/common/dapl_psp_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_psp_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_psp_query.lo `test -f 'dapl/common/dapl_psp_query.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_psp_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_psp_query.lo `test -f 'dapl/common/dapl_psp_query.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_psp_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_psp_query.c' object='dapl_udapl_libdaploscm_la-dapl_psp_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_psp_query.lo `test -f 'dapl/common/dapl_psp_query.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_psp_query.lo `test -f 'dapl/common/dapl_psp_query.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_query.c
dapl_udapl_libdaploscm_la-dapl_pz_create.lo: dapl/common/dapl_pz_create.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_pz_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_create.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_pz_create.lo `test -f 'dapl/common/dapl_pz_create.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_create.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_create.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_create.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_pz_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_create.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_pz_create.lo `test -f 'dapl/common/dapl_pz_create.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_create.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_create.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_pz_create.c' object='dapl_udapl_libdaploscm_la-dapl_pz_create.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_pz_create.lo `test -f 'dapl/common/dapl_pz_create.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_create.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_pz_create.lo `test -f 'dapl/common/dapl_pz_create.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_create.c
dapl_udapl_libdaploscm_la-dapl_pz_free.lo: dapl/common/dapl_pz_free.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_pz_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_free.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_pz_free.lo `test -f 'dapl/common/dapl_pz_free.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_free.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_free.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_free.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_pz_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_free.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_pz_free.lo `test -f 'dapl/common/dapl_pz_free.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_free.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_free.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_pz_free.c' object='dapl_udapl_libdaploscm_la-dapl_pz_free.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_pz_free.lo `test -f 'dapl/common/dapl_pz_free.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_free.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_pz_free.lo `test -f 'dapl/common/dapl_pz_free.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_free.c
dapl_udapl_libdaploscm_la-dapl_pz_query.lo: dapl/common/dapl_pz_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_pz_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_pz_query.lo `test -f 'dapl/common/dapl_pz_query.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_pz_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_pz_query.lo `test -f 'dapl/common/dapl_pz_query.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_pz_query.c' object='dapl_udapl_libdaploscm_la-dapl_pz_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_pz_query.lo `test -f 'dapl/common/dapl_pz_query.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_pz_query.lo `test -f 'dapl/common/dapl_pz_query.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_query.c
dapl_udapl_libdaploscm_la-dapl_pz_util.lo: dapl/common/dapl_pz_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_pz_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_pz_util.lo `test -f 'dapl/common/dapl_pz_util.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_pz_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_pz_util.lo `test -f 'dapl/common/dapl_pz_util.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_pz_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_pz_util.c' object='dapl_udapl_libdaploscm_la-dapl_pz_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_pz_util.lo `test -f 'dapl/common/dapl_pz_util.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_pz_util.lo `test -f 'dapl/common/dapl_pz_util.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_util.c
dapl_udapl_libdaploscm_la-dapl_rmr_create.lo: dapl/common/dapl_rmr_create.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_rmr_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_create.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_rmr_create.lo `test -f 'dapl/common/dapl_rmr_create.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_create.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_create.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_create.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_rmr_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_create.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_rmr_create.lo `test -f 'dapl/common/dapl_rmr_create.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_create.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_create.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rmr_create.c' object='dapl_udapl_libdaploscm_la-dapl_rmr_create.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_rmr_create.lo `test -f 'dapl/common/dapl_rmr_create.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_create.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_rmr_create.lo `test -f 'dapl/common/dapl_rmr_create.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_create.c
dapl_udapl_libdaploscm_la-dapl_rmr_free.lo: dapl/common/dapl_rmr_free.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_rmr_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_free.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_rmr_free.lo `test -f 'dapl/common/dapl_rmr_free.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_free.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_free.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_free.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_rmr_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_free.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_rmr_free.lo `test -f 'dapl/common/dapl_rmr_free.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_free.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_free.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rmr_free.c' object='dapl_udapl_libdaploscm_la-dapl_rmr_free.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_rmr_free.lo `test -f 'dapl/common/dapl_rmr_free.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_free.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_rmr_free.lo `test -f 'dapl/common/dapl_rmr_free.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_free.c
dapl_udapl_libdaploscm_la-dapl_rmr_bind.lo: dapl/common/dapl_rmr_bind.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_rmr_bind.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_bind.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_rmr_bind.lo `test -f 'dapl/common/dapl_rmr_bind.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_bind.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_bind.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_bind.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_rmr_bind.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_bind.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_rmr_bind.lo `test -f 'dapl/common/dapl_rmr_bind.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_bind.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_bind.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_bind.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rmr_bind.c' object='dapl_udapl_libdaploscm_la-dapl_rmr_bind.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_rmr_bind.lo `test -f 'dapl/common/dapl_rmr_bind.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_bind.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_rmr_bind.lo `test -f 'dapl/common/dapl_rmr_bind.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_bind.c
dapl_udapl_libdaploscm_la-dapl_rmr_query.lo: dapl/common/dapl_rmr_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_rmr_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_rmr_query.lo `test -f 'dapl/common/dapl_rmr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_rmr_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_rmr_query.lo `test -f 'dapl/common/dapl_rmr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rmr_query.c' object='dapl_udapl_libdaploscm_la-dapl_rmr_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_rmr_query.lo `test -f 'dapl/common/dapl_rmr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_rmr_query.lo `test -f 'dapl/common/dapl_rmr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_query.c
dapl_udapl_libdaploscm_la-dapl_rmr_util.lo: dapl/common/dapl_rmr_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_rmr_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_rmr_util.lo `test -f 'dapl/common/dapl_rmr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_rmr_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_rmr_util.lo `test -f 'dapl/common/dapl_rmr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rmr_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rmr_util.c' object='dapl_udapl_libdaploscm_la-dapl_rmr_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_rmr_util.lo `test -f 'dapl/common/dapl_rmr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_rmr_util.lo `test -f 'dapl/common/dapl_rmr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_util.c
dapl_udapl_libdaploscm_la-dapl_rsp_create.lo: dapl/common/dapl_rsp_create.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_rsp_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rsp_create.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_rsp_create.lo `test -f 'dapl/common/dapl_rsp_create.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_create.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rsp_create.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rsp_create.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_rsp_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rsp_create.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_rsp_create.lo `test -f 'dapl/common/dapl_rsp_create.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rsp_create.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rsp_create.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rsp_create.c' object='dapl_udapl_libdaploscm_la-dapl_rsp_create.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_rsp_create.lo `test -f 'dapl/common/dapl_rsp_create.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_create.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_rsp_create.lo `test -f 'dapl/common/dapl_rsp_create.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_create.c
dapl_udapl_libdaploscm_la-dapl_rsp_free.lo: dapl/common/dapl_rsp_free.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_rsp_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rsp_free.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_rsp_free.lo `test -f 'dapl/common/dapl_rsp_free.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_free.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rsp_free.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rsp_free.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_rsp_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rsp_free.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_rsp_free.lo `test -f 'dapl/common/dapl_rsp_free.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rsp_free.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rsp_free.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rsp_free.c' object='dapl_udapl_libdaploscm_la-dapl_rsp_free.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_rsp_free.lo `test -f 'dapl/common/dapl_rsp_free.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_free.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_rsp_free.lo `test -f 'dapl/common/dapl_rsp_free.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_free.c
dapl_udapl_libdaploscm_la-dapl_rsp_query.lo: dapl/common/dapl_rsp_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_rsp_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rsp_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_rsp_query.lo `test -f 'dapl/common/dapl_rsp_query.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rsp_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rsp_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_rsp_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rsp_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_rsp_query.lo `test -f 'dapl/common/dapl_rsp_query.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rsp_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_rsp_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rsp_query.c' object='dapl_udapl_libdaploscm_la-dapl_rsp_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_rsp_query.lo `test -f 'dapl/common/dapl_rsp_query.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_rsp_query.lo `test -f 'dapl/common/dapl_rsp_query.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_query.c
dapl_udapl_libdaploscm_la-dapl_cno_util.lo: dapl/common/dapl_cno_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cno_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cno_util.lo `test -f 'dapl/common/dapl_cno_util.c' || echo '$(srcdir)/'`dapl/common/dapl_cno_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_cno_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_cno_util.lo `test -f 'dapl/common/dapl_cno_util.c' || echo '$(srcdir)/'`dapl/common/dapl_cno_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_cno_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cno_util.c' object='dapl_udapl_libdaploscm_la-dapl_cno_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cno_util.lo `test -f 'dapl/common/dapl_cno_util.c' || echo '$(srcdir)/'`dapl/common/dapl_cno_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_cno_util.lo `test -f 'dapl/common/dapl_cno_util.c' || echo '$(srcdir)/'`dapl/common/dapl_cno_util.c
dapl_udapl_libdaploscm_la-dapl_set_consumer_context.lo: dapl/common/dapl_set_consumer_context.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_set_consumer_context.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_set_consumer_context.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_set_consumer_context.lo `test -f 'dapl/common/dapl_set_consumer_context.c' || echo '$(srcdir)/'`dapl/common/ [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_set_consumer_context.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_set_consumer_context.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_set_consumer_context.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_set_consumer_context.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_set_consumer_context.lo `test -f 'dapl/common/dapl_set_consumer_context.c' || echo '$(srcdir)/'`dapl/common [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_set_consumer_context.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_set_consumer_context.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_set_consumer_context.c' object='dapl_udapl_libdaploscm_la-dapl_set_consumer_context.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_set_consumer_context.lo `test -f 'dapl/common/dapl_set_consumer_context.c' || echo '$(srcdir)/'`dapl/common/dapl_set_consumer_context.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_set_consumer_context.lo `test -f 'dapl/common/dapl_set_consumer_context.c' || echo '$(srcdir)/'`dapl/common/dapl_set_consumer_context.c
dapl_udapl_libdaploscm_la-dapl_ring_buffer_util.lo: dapl/common/dapl_ring_buffer_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ring_buffer_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ring_buffer_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ring_buffer_util.lo `test -f 'dapl/common/dapl_ring_buffer_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ring_buffer_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ring_buffer_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ring_buffer_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ring_buffer_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ring_buffer_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ring_buffer_util.lo `test -f 'dapl/common/dapl_ring_buffer_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ring_buffe [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ring_buffer_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ring_buffer_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ring_buffer_util.c' object='dapl_udapl_libdaploscm_la-dapl_ring_buffer_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ring_buffer_util.lo `test -f 'dapl/common/dapl_ring_buffer_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ring_buffer_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ring_buffer_util.lo `test -f 'dapl/common/dapl_ring_buffer_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ring_buffer_util.c
dapl_udapl_libdaploscm_la-dapl_name_service.lo: dapl/common/dapl_name_service.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_name_service.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_name_service.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_name_service.lo `test -f 'dapl/common/dapl_name_service.c' || echo '$(srcdir)/'`dapl/common/dapl_name_service.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_name_service.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_name_service.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_name_service.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_name_service.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_name_service.lo `test -f 'dapl/common/dapl_name_service.c' || echo '$(srcdir)/'`dapl/common/dapl_name_service.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_name_service.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_name_service.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_name_service.c' object='dapl_udapl_libdaploscm_la-dapl_name_service.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_name_service.lo `test -f 'dapl/common/dapl_name_service.c' || echo '$(srcdir)/'`dapl/common/dapl_name_service.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_name_service.lo `test -f 'dapl/common/dapl_name_service.c' || echo '$(srcdir)/'`dapl/common/dapl_name_service.c
dapl_udapl_libdaploscm_la-dapl_timer_util.lo: dapl/common/dapl_timer_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_timer_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_timer_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_timer_util.lo `test -f 'dapl/common/dapl_timer_util.c' || echo '$(srcdir)/'`dapl/common/dapl_timer_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_timer_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_timer_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_timer_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_timer_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_timer_util.lo `test -f 'dapl/common/dapl_timer_util.c' || echo '$(srcdir)/'`dapl/common/dapl_timer_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_timer_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_timer_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_timer_util.c' object='dapl_udapl_libdaploscm_la-dapl_timer_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_timer_util.lo `test -f 'dapl/common/dapl_timer_util.c' || echo '$(srcdir)/'`dapl/common/dapl_timer_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_timer_util.lo `test -f 'dapl/common/dapl_timer_util.c' || echo '$(srcdir)/'`dapl/common/dapl_timer_util.c
dapl_udapl_libdaploscm_la-dapl_ep_create_with_srq.lo: dapl/common/dapl_ep_create_with_srq.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_create_with_srq.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_create_with_srq.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_create_with_srq.lo `test -f 'dapl/common/dapl_ep_create_with_srq.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_ [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_create_with_srq.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_create_with_srq.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_create_with_srq.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_create_with_srq.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_create_with_srq.lo `test -f 'dapl/common/dapl_ep_create_with_srq.c' || echo '$(srcdir)/'`dapl/common/dapl_ep [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_create_with_srq.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_create_with_srq.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_create_with_srq.c' object='dapl_udapl_libdaploscm_la-dapl_ep_create_with_srq.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_create_with_srq.lo `test -f 'dapl/common/dapl_ep_create_with_srq.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_create_with_srq.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_create_with_srq.lo `test -f 'dapl/common/dapl_ep_create_with_srq.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_create_with_srq.c
dapl_udapl_libdaploscm_la-dapl_ep_recv_query.lo: dapl/common/dapl_ep_recv_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_recv_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_recv_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_recv_query.lo `test -f 'dapl/common/dapl_ep_recv_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_recv_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_recv_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_recv_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_recv_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_recv_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_recv_query.lo `test -f 'dapl/common/dapl_ep_recv_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_recv_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_recv_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_recv_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_recv_query.c' object='dapl_udapl_libdaploscm_la-dapl_ep_recv_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_recv_query.lo `test -f 'dapl/common/dapl_ep_recv_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_recv_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_recv_query.lo `test -f 'dapl/common/dapl_ep_recv_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_recv_query.c
dapl_udapl_libdaploscm_la-dapl_ep_set_watermark.lo: dapl/common/dapl_ep_set_watermark.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_set_watermark.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_set_watermark.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_set_watermark.lo `test -f 'dapl/common/dapl_ep_set_watermark.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_set_watermark.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_set_watermark.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_set_watermark.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_set_watermark.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_set_watermark.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_set_watermark.lo `test -f 'dapl/common/dapl_ep_set_watermark.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_set_wat [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_set_watermark.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_set_watermark.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_set_watermark.c' object='dapl_udapl_libdaploscm_la-dapl_ep_set_watermark.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_set_watermark.lo `test -f 'dapl/common/dapl_ep_set_watermark.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_set_watermark.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_set_watermark.lo `test -f 'dapl/common/dapl_ep_set_watermark.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_set_watermark.c
dapl_udapl_libdaploscm_la-dapl_srq_create.lo: dapl/common/dapl_srq_create.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_srq_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_create.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_srq_create.lo `test -f 'dapl/common/dapl_srq_create.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_create.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_create.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_create.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_srq_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_create.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_srq_create.lo `test -f 'dapl/common/dapl_srq_create.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_create.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_create.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_srq_create.c' object='dapl_udapl_libdaploscm_la-dapl_srq_create.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_srq_create.lo `test -f 'dapl/common/dapl_srq_create.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_create.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_srq_create.lo `test -f 'dapl/common/dapl_srq_create.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_create.c
dapl_udapl_libdaploscm_la-dapl_srq_free.lo: dapl/common/dapl_srq_free.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_srq_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_free.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_srq_free.lo `test -f 'dapl/common/dapl_srq_free.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_free.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_free.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_free.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_srq_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_free.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_srq_free.lo `test -f 'dapl/common/dapl_srq_free.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_free.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_free.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_srq_free.c' object='dapl_udapl_libdaploscm_la-dapl_srq_free.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_srq_free.lo `test -f 'dapl/common/dapl_srq_free.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_free.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_srq_free.lo `test -f 'dapl/common/dapl_srq_free.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_free.c
dapl_udapl_libdaploscm_la-dapl_srq_query.lo: dapl/common/dapl_srq_query.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_srq_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_srq_query.lo `test -f 'dapl/common/dapl_srq_query.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_query.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_query.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_srq_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_query.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_srq_query.lo `test -f 'dapl/common/dapl_srq_query.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_query.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_query.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_srq_query.c' object='dapl_udapl_libdaploscm_la-dapl_srq_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_srq_query.lo `test -f 'dapl/common/dapl_srq_query.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_query.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_srq_query.lo `test -f 'dapl/common/dapl_srq_query.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_query.c
dapl_udapl_libdaploscm_la-dapl_srq_resize.lo: dapl/common/dapl_srq_resize.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_srq_resize.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_resize.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_srq_resize.lo `test -f 'dapl/common/dapl_srq_resize.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_resize.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_resize.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_resize.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_srq_resize.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_resize.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_srq_resize.lo `test -f 'dapl/common/dapl_srq_resize.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_resize.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_resize.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_resize.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_srq_resize.c' object='dapl_udapl_libdaploscm_la-dapl_srq_resize.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_srq_resize.lo `test -f 'dapl/common/dapl_srq_resize.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_resize.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_srq_resize.lo `test -f 'dapl/common/dapl_srq_resize.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_resize.c
dapl_udapl_libdaploscm_la-dapl_srq_post_recv.lo: dapl/common/dapl_srq_post_recv.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_srq_post_recv.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_post_recv.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_srq_post_recv.lo `test -f 'dapl/common/dapl_srq_post_recv.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_post_recv.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_post_recv.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_post_recv.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_srq_post_recv.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_post_recv.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_srq_post_recv.lo `test -f 'dapl/common/dapl_srq_post_recv.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_post_recv.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_post_recv.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_post_recv.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_srq_post_recv.c' object='dapl_udapl_libdaploscm_la-dapl_srq_post_recv.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_srq_post_recv.lo `test -f 'dapl/common/dapl_srq_post_recv.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_post_recv.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_srq_post_recv.lo `test -f 'dapl/common/dapl_srq_post_recv.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_post_recv.c
dapl_udapl_libdaploscm_la-dapl_srq_set_lw.lo: dapl/common/dapl_srq_set_lw.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_srq_set_lw.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_set_lw.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_srq_set_lw.lo `test -f 'dapl/common/dapl_srq_set_lw.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_set_lw.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_set_lw.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_set_lw.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_srq_set_lw.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_set_lw.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_srq_set_lw.lo `test -f 'dapl/common/dapl_srq_set_lw.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_set_lw.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_set_lw.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_set_lw.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_srq_set_lw.c' object='dapl_udapl_libdaploscm_la-dapl_srq_set_lw.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_srq_set_lw.lo `test -f 'dapl/common/dapl_srq_set_lw.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_set_lw.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_srq_set_lw.lo `test -f 'dapl/common/dapl_srq_set_lw.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_set_lw.c
dapl_udapl_libdaploscm_la-dapl_srq_util.lo: dapl/common/dapl_srq_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_srq_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_srq_util.lo `test -f 'dapl/common/dapl_srq_util.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_util.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_srq_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_srq_util.lo `test -f 'dapl/common/dapl_srq_util.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_srq_util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_srq_util.c' object='dapl_udapl_libdaploscm_la-dapl_srq_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_srq_util.lo `test -f 'dapl/common/dapl_srq_util.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_srq_util.lo `test -f 'dapl/common/dapl_srq_util.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_util.c
dapl_udapl_libdaploscm_la-dapl_debug.lo: dapl/common/dapl_debug.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_debug.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_debug.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_debug.lo `test -f 'dapl/common/dapl_debug.c' || echo '$(srcdir)/'`dapl/common/dapl_debug.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_debug.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_debug.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_debug.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_debug.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_debug.lo `test -f 'dapl/common/dapl_debug.c' || echo '$(srcdir)/'`dapl/common/dapl_debug.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_debug.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_debug.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_debug.c' object='dapl_udapl_libdaploscm_la-dapl_debug.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_debug.lo `test -f 'dapl/common/dapl_debug.c' || echo '$(srcdir)/'`dapl/common/dapl_debug.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_debug.lo `test -f 'dapl/common/dapl_debug.c' || echo '$(srcdir)/'`dapl/common/dapl_debug.c
dapl_udapl_libdaploscm_la-dapl_ia_ha.lo: dapl/common/dapl_ia_ha.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ia_ha.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_ha.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ia_ha.lo `test -f 'dapl/common/dapl_ia_ha.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_ha.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_ha.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_ha.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ia_ha.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_ha.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ia_ha.lo `test -f 'dapl/common/dapl_ia_ha.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_ha.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_ha.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ia_ha.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ia_ha.c' object='dapl_udapl_libdaploscm_la-dapl_ia_ha.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ia_ha.lo `test -f 'dapl/common/dapl_ia_ha.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_ha.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ia_ha.lo `test -f 'dapl/common/dapl_ia_ha.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_ha.c
dapl_udapl_libdaploscm_la-dapl_csp.lo: dapl/common/dapl_csp.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_csp.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_csp.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_csp.lo `test -f 'dapl/common/dapl_csp.c' || echo '$(srcdir)/'`dapl/common/dapl_csp.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_csp.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_csp.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_csp.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_csp.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_csp.lo `test -f 'dapl/common/dapl_csp.c' || echo '$(srcdir)/'`dapl/common/dapl_csp.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_csp.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_csp.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_csp.c' object='dapl_udapl_libdaploscm_la-dapl_csp.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_csp.lo `test -f 'dapl/common/dapl_csp.c' || echo '$(srcdir)/'`dapl/common/dapl_csp.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_csp.lo `test -f 'dapl/common/dapl_csp.c' || echo '$(srcdir)/'`dapl/common/dapl_csp.c
dapl_udapl_libdaploscm_la-dapl_ep_post_send_invalidate.lo: dapl/common/dapl_ep_post_send_invalidate.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_post_send_invalidate.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_send_invalidate.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_send_invalidate.lo `test -f 'dapl/common/dapl_ep_post_send_invalidate.c' || echo '$(srcdir)/'` [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_send_invalidate.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_send_invalidate.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_post_send_invalidate.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_send_invalidate.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_send_invalidate.lo `test -f 'dapl/common/dapl_ep_post_send_invalidate.c' || echo '$(srcdir)/' [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_send_invalidate.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_send_invalidate.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_post_send_invalidate.c' object='dapl_udapl_libdaploscm_la-dapl_ep_post_send_invalidate.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_send_invalidate.lo `test -f 'dapl/common/dapl_ep_post_send_invalidate.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_send_invalidate.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_send_invalidate.lo `test -f 'dapl/common/dapl_ep_post_send_invalidate.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_send_invalidate.c
dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read_to_rmr.lo: dapl/common/dapl_ep_post_rdma_read_to_rmr.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read_to_rmr.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read_to_rmr.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read_to_rmr.lo `test -f 'dapl/common/dapl_ep_post_rdma_read_to_rmr.c' || echo '$(srcdir [...]
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read_to_rmr.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read_to_rmr.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read_to_rmr.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read_to_rmr.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read_to_rmr.lo `test -f 'dapl/common/dapl_ep_post_rdma_read_to_rmr.c' || echo '$(srcdi [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read_to_rmr.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read_to_rmr.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_post_rdma_read_to_rmr.c' object='dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read_to_rmr.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read_to_rmr.lo `test -f 'dapl/common/dapl_ep_post_rdma_read_to_rmr.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_rdma_read_to_rmr.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ep_post_rdma_read_to_rmr.lo `test -f 'dapl/common/dapl_ep_post_rdma_read_to_rmr.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_rdma_read_to_rmr.c
+
+dapl_udapl_libdaploscm_la-mem.lo: dapl/openib_common/mem.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-mem.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-mem.Tpo -c -o dapl_udapl_libdaploscm_la-mem.lo `test -f 'dapl/openib_common/mem.c' || echo '$(srcdir)/'`dapl/openib_common/mem.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-mem.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-mem.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_common/mem.c' object='dapl_udapl_libdaploscm_la-mem.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-mem.lo `test -f 'dapl/openib_common/mem.c' || echo '$(srcdir)/'`dapl/openib_common/mem.c
+
+dapl_udapl_libdaploscm_la-cq.lo: dapl/openib_common/cq.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-cq.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-cq.Tpo -c -o dapl_udapl_libdaploscm_la-cq.lo `test -f 'dapl/openib_common/cq.c' || echo '$(srcdir)/'`dapl/openib_common/cq.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-cq.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-cq.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_common/cq.c' object='dapl_udapl_libdaploscm_la-cq.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-cq.lo `test -f 'dapl/openib_common/cq.c' || echo '$(srcdir)/'`dapl/openib_common/cq.c
+
+dapl_udapl_libdaploscm_la-qp.lo: dapl/openib_common/qp.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-qp.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-qp.Tpo -c -o dapl_udapl_libdaploscm_la-qp.lo `test -f 'dapl/openib_common/qp.c' || echo '$(srcdir)/'`dapl/openib_common/qp.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-qp.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-qp.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_common/qp.c' object='dapl_udapl_libdaploscm_la-qp.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-qp.lo `test -f 'dapl/openib_common/qp.c' || echo '$(srcdir)/'`dapl/openib_common/qp.c
+
+dapl_udapl_libdaploscm_la-util.lo: dapl/openib_common/util.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-util.Tpo -c -o dapl_udapl_libdaploscm_la-util.lo `test -f 'dapl/openib_common/util.c' || echo '$(srcdir)/'`dapl/openib_common/util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-util.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_common/util.c' object='dapl_udapl_libdaploscm_la-util.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-util.lo `test -f 'dapl/openib_common/util.c' || echo '$(srcdir)/'`dapl/openib_common/util.c
+
+dapl_udapl_libdaploscm_la-cm.lo: dapl/openib_scm/cm.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-cm.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-cm.Tpo -c -o dapl_udapl_libdaploscm_la-cm.lo `test -f 'dapl/openib_scm/cm.c' || echo '$(srcdir)/'`dapl/openib_scm/cm.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-cm.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-cm.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_scm/cm.c' object='dapl_udapl_libdaploscm_la-cm.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-cm.lo `test -f 'dapl/openib_scm/cm.c' || echo '$(srcdir)/'`dapl/openib_scm/cm.c
+
+dapl_udapl_libdaploscm_la-device.lo: dapl/openib_scm/device.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-device.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-device.Tpo -c -o dapl_udapl_libdaploscm_la-device.lo `test -f 'dapl/openib_scm/device.c' || echo '$(srcdir)/'`dapl/openib_scm/device.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-device.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-device.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_scm/device.c' object='dapl_udapl_libdaploscm_la-device.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-device.lo `test -f 'dapl/openib_scm/device.c' || echo '$(srcdir)/'`dapl/openib_scm/device.c
+
+dapl_udapl_libdaploscm_la-ib_extensions.lo: dapl/openib_common/ib_extensions.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-ib_extensions.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-ib_extensions.Tpo -c -o dapl_udapl_libdaploscm_la-ib_extensions.lo `test -f 'dapl/openib_common/ib_extensions.c' || echo '$(srcdir)/'`dapl/openib_common/ib_extensions.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-ib_extensions.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-ib_extensions.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_common/ib_extensions.c' object='dapl_udapl_libdaploscm_la-ib_extensions.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-ib_extensions.lo `test -f 'dapl/openib_common/ib_extensions.c' || echo '$(srcdir)/'`dapl/openib_common/ib_extensions.c
+
+dapl_udapl_libdaploscm_la-fca_provider.lo: dapl/openib_common/collectives/fca_provider.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-fca_provider.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-fca_provider.Tpo -c -o dapl_udapl_libdaploscm_la-fca_provider.lo `test -f 'dapl/openib_common/collectives/fca_provider.c' || echo '$(srcdir)/'`dapl/openib_common/collectives/fca_provider.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploscm_la-fca_provider.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-fca_provider.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_common/collectives/fca_provider.c' object='dapl_udapl_libdaploscm_la-fca_provider.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-fca_provider.lo `test -f 'dapl/openib_common/collectives/fca_provider.c' || echo '$(srcdir)/'`dapl/openib_common/collectives/fca_provider.c
+
+dapl_udapl_libdaploucm_la-dapl_init.lo: dapl/udapl/dapl_init.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_init.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_init.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_init.lo `test -f 'dapl/udapl/dapl_init.c' || echo '$(srcdir)/'`dapl/udapl/dapl_init.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_init.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_init.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_init.c' object='dapl_udapl_libdaploucm_la-dapl_init.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_init.lo `test -f 'dapl/udapl/dapl_init.c' || echo '$(srcdir)/'`dapl/udapl/dapl_init.c
+
+dapl_udapl_libdaploucm_la-dapl_evd_create.lo: dapl/udapl/dapl_evd_create.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_evd_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_create.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_evd_create.lo `test -f 'dapl/udapl/dapl_evd_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_create.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_create.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_create.c' object='dapl_udapl_libdaploucm_la-dapl_evd_create.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_evd_create.lo `test -f 'dapl/udapl/dapl_evd_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_create.c
+
+dapl_udapl_libdaploucm_la-dapl_evd_query.lo: dapl/udapl/dapl_evd_query.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_evd_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_query.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_evd_query.lo `test -f 'dapl/udapl/dapl_evd_query.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_query.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_query.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_query.c' object='dapl_udapl_libdaploucm_la-dapl_evd_query.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_evd_query.lo `test -f 'dapl/udapl/dapl_evd_query.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_query.c
+
+dapl_udapl_libdaploucm_la-dapl_cno_create.lo: dapl/udapl/dapl_cno_create.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_cno_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_create.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_cno_create.lo `test -f 'dapl/udapl/dapl_cno_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_create.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_create.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_cno_create.c' object='dapl_udapl_libdaploucm_la-dapl_cno_create.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_cno_create.lo `test -f 'dapl/udapl/dapl_cno_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_create.c
+
+dapl_udapl_libdaploucm_la-dapl_cno_modify_agent.lo: dapl/udapl/dapl_cno_modify_agent.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_cno_modify_agent.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_modify_agent.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_cno_modify_agent.lo `test -f 'dapl/udapl/dapl_cno_modify_agent.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_modify_agent.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_modify_agent.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_modify_agent.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_cno_modify_agent.c' object='dapl_udapl_libdaploucm_la-dapl_cno_modify_agent.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_cno_modify_agent.lo `test -f 'dapl/udapl/dapl_cno_modify_agent.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_modify_agent.c
+
+dapl_udapl_libdaploucm_la-dapl_cno_free.lo: dapl/udapl/dapl_cno_free.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_cno_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_free.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_cno_free.lo `test -f 'dapl/udapl/dapl_cno_free.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_free.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_free.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_cno_free.c' object='dapl_udapl_libdaploucm_la-dapl_cno_free.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_cno_free.lo `test -f 'dapl/udapl/dapl_cno_free.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_free.c
+
+dapl_udapl_libdaploucm_la-dapl_cno_wait.lo: dapl/udapl/dapl_cno_wait.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_cno_wait.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_wait.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_cno_wait.lo `test -f 'dapl/udapl/dapl_cno_wait.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_wait.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_wait.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_wait.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_cno_wait.c' object='dapl_udapl_libdaploucm_la-dapl_cno_wait.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_cno_wait.lo `test -f 'dapl/udapl/dapl_cno_wait.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_wait.c
+
+dapl_udapl_libdaploucm_la-dapl_cno_query.lo: dapl/udapl/dapl_cno_query.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_cno_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_query.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_cno_query.lo `test -f 'dapl/udapl/dapl_cno_query.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_query.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_query.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_cno_query.c' object='dapl_udapl_libdaploucm_la-dapl_cno_query.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_cno_query.lo `test -f 'dapl/udapl/dapl_cno_query.c' || echo '$(srcdir)/'`dapl/udapl/dapl_cno_query.c
+
+dapl_udapl_libdaploucm_la-dapl_lmr_create.lo: dapl/udapl/dapl_lmr_create.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_lmr_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_create.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_lmr_create.lo `test -f 'dapl/udapl/dapl_lmr_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_lmr_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_create.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_create.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_lmr_create.c' object='dapl_udapl_libdaploucm_la-dapl_lmr_create.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_lmr_create.lo `test -f 'dapl/udapl/dapl_lmr_create.c' || echo '$(srcdir)/'`dapl/udapl/dapl_lmr_create.c
+
+dapl_udapl_libdaploucm_la-dapl_evd_wait.lo: dapl/udapl/dapl_evd_wait.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_evd_wait.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_wait.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_evd_wait.lo `test -f 'dapl/udapl/dapl_evd_wait.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_wait.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_wait.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_wait.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_wait.c' object='dapl_udapl_libdaploucm_la-dapl_evd_wait.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_evd_wait.lo `test -f 'dapl/udapl/dapl_evd_wait.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_wait.c
+
+dapl_udapl_libdaploucm_la-dapl_evd_disable.lo: dapl/udapl/dapl_evd_disable.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_evd_disable.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_disable.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_evd_disable.lo `test -f 'dapl/udapl/dapl_evd_disable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_disable.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_disable.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_disable.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_disable.c' object='dapl_udapl_libdaploucm_la-dapl_evd_disable.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_evd_disable.lo `test -f 'dapl/udapl/dapl_evd_disable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_disable.c
+
+dapl_udapl_libdaploucm_la-dapl_evd_enable.lo: dapl/udapl/dapl_evd_enable.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_evd_enable.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_enable.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_evd_enable.lo `test -f 'dapl/udapl/dapl_evd_enable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_enable.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_enable.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_enable.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_enable.c' object='dapl_udapl_libdaploucm_la-dapl_evd_enable.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_evd_enable.lo `test -f 'dapl/udapl/dapl_evd_enable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_enable.c
+
+dapl_udapl_libdaploucm_la-dapl_evd_modify_cno.lo: dapl/udapl/dapl_evd_modify_cno.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_evd_modify_cno.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_modify_cno.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_evd_modify_cno.lo `test -f 'dapl/udapl/dapl_evd_modify_cno.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_modify_cno.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_modify_cno.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_modify_cno.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_modify_cno.c' object='dapl_udapl_libdaploucm_la-dapl_evd_modify_cno.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_evd_modify_cno.lo `test -f 'dapl/udapl/dapl_evd_modify_cno.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_modify_cno.c
+
+dapl_udapl_libdaploucm_la-dapl_evd_set_unwaitable.lo: dapl/udapl/dapl_evd_set_unwaitable.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_evd_set_unwaitable.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_set_unwaitable.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_evd_set_unwaitable.lo `test -f 'dapl/udapl/dapl_evd_set_unwaitable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_ [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_set_unwaitable.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_set_unwaitable.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_set_unwaitable.c' object='dapl_udapl_libdaploucm_la-dapl_evd_set_unwaitable.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_evd_set_unwaitable.lo `test -f 'dapl/udapl/dapl_evd_set_unwaitable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_set_unwaitable.c
+
+dapl_udapl_libdaploucm_la-dapl_evd_clear_unwaitable.lo: dapl/udapl/dapl_evd_clear_unwaitable.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_evd_clear_unwaitable.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_clear_unwaitable.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_evd_clear_unwaitable.lo `test -f 'dapl/udapl/dapl_evd_clear_unwaitable.c' || echo '$(srcdir)/'`dapl/udapl/d [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_clear_unwaitable.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_clear_unwaitable.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/dapl_evd_clear_unwaitable.c' object='dapl_udapl_libdaploucm_la-dapl_evd_clear_unwaitable.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_evd_clear_unwaitable.lo `test -f 'dapl/udapl/dapl_evd_clear_unwaitable.c' || echo '$(srcdir)/'`dapl/udapl/dapl_evd_clear_unwaitable.c
+
+dapl_udapl_libdaploucm_la-dapl_osd.lo: dapl/udapl/linux/dapl_osd.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_osd.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_osd.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_osd.lo `test -f 'dapl/udapl/linux/dapl_osd.c' || echo '$(srcdir)/'`dapl/udapl/linux/dapl_osd.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_osd.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_osd.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/udapl/linux/dapl_osd.c' object='dapl_udapl_libdaploucm_la-dapl_osd.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_osd.lo `test -f 'dapl/udapl/linux/dapl_osd.c' || echo '$(srcdir)/'`dapl/udapl/linux/dapl_osd.c
+
+dapl_udapl_libdaploucm_la-dapl_cookie.lo: dapl/common/dapl_cookie.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_cookie.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cookie.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_cookie.lo `test -f 'dapl/common/dapl_cookie.c' || echo '$(srcdir)/'`dapl/common/dapl_cookie.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cookie.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cookie.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cookie.c' object='dapl_udapl_libdaploucm_la-dapl_cookie.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_cookie.lo `test -f 'dapl/common/dapl_cookie.c' || echo '$(srcdir)/'`dapl/common/dapl_cookie.c
+
+dapl_udapl_libdaploucm_la-dapl_cr_accept.lo: dapl/common/dapl_cr_accept.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_cr_accept.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_accept.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_cr_accept.lo `test -f 'dapl/common/dapl_cr_accept.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_accept.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_accept.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_accept.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cr_accept.c' object='dapl_udapl_libdaploucm_la-dapl_cr_accept.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_cr_accept.lo `test -f 'dapl/common/dapl_cr_accept.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_accept.c
+
+dapl_udapl_libdaploucm_la-dapl_cr_query.lo: dapl/common/dapl_cr_query.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_cr_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_query.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_cr_query.lo `test -f 'dapl/common/dapl_cr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_query.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_query.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cr_query.c' object='dapl_udapl_libdaploucm_la-dapl_cr_query.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_cr_query.lo `test -f 'dapl/common/dapl_cr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_query.c
+
+dapl_udapl_libdaploucm_la-dapl_cr_reject.lo: dapl/common/dapl_cr_reject.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_cr_reject.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_reject.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_cr_reject.lo `test -f 'dapl/common/dapl_cr_reject.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_reject.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_reject.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_reject.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cr_reject.c' object='dapl_udapl_libdaploucm_la-dapl_cr_reject.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_cr_reject.lo `test -f 'dapl/common/dapl_cr_reject.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_reject.c
+
+dapl_udapl_libdaploucm_la-dapl_cr_util.lo: dapl/common/dapl_cr_util.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_cr_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_util.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_cr_util.lo `test -f 'dapl/common/dapl_cr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_util.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_util.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cr_util.c' object='dapl_udapl_libdaploucm_la-dapl_cr_util.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_cr_util.lo `test -f 'dapl/common/dapl_cr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_util.c
+
+dapl_udapl_libdaploucm_la-dapl_cr_callback.lo: dapl/common/dapl_cr_callback.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_cr_callback.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_callback.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_cr_callback.lo `test -f 'dapl/common/dapl_cr_callback.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_callback.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_callback.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_callback.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cr_callback.c' object='dapl_udapl_libdaploucm_la-dapl_cr_callback.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_cr_callback.lo `test -f 'dapl/common/dapl_cr_callback.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_callback.c
+
+dapl_udapl_libdaploucm_la-dapl_cr_handoff.lo: dapl/common/dapl_cr_handoff.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_cr_handoff.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_handoff.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_cr_handoff.lo `test -f 'dapl/common/dapl_cr_handoff.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_handoff.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_handoff.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cr_handoff.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cr_handoff.c' object='dapl_udapl_libdaploucm_la-dapl_cr_handoff.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_cr_handoff.lo `test -f 'dapl/common/dapl_cr_handoff.c' || echo '$(srcdir)/'`dapl/common/dapl_cr_handoff.c
+
+dapl_udapl_libdaploucm_la-dapl_ep_connect.lo: dapl/common/dapl_ep_connect.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ep_connect.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_connect.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ep_connect.lo `test -f 'dapl/common/dapl_ep_connect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_connect.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_connect.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_connect.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_connect.c' object='dapl_udapl_libdaploucm_la-dapl_ep_connect.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ep_connect.lo `test -f 'dapl/common/dapl_ep_connect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_connect.c
+
+dapl_udapl_libdaploucm_la-dapl_ep_create.lo: dapl/common/dapl_ep_create.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ep_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_create.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ep_create.lo `test -f 'dapl/common/dapl_ep_create.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_create.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_create.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_create.c' object='dapl_udapl_libdaploucm_la-dapl_ep_create.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ep_create.lo `test -f 'dapl/common/dapl_ep_create.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_create.c
+
+dapl_udapl_libdaploucm_la-dapl_ep_disconnect.lo: dapl/common/dapl_ep_disconnect.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ep_disconnect.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_disconnect.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ep_disconnect.lo `test -f 'dapl/common/dapl_ep_disconnect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_disconnect.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_disconnect.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_disconnect.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_disconnect.c' object='dapl_udapl_libdaploucm_la-dapl_ep_disconnect.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ep_disconnect.lo `test -f 'dapl/common/dapl_ep_disconnect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_disconnect.c
+
+dapl_udapl_libdaploucm_la-dapl_ep_dup_connect.lo: dapl/common/dapl_ep_dup_connect.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ep_dup_connect.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_dup_connect.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ep_dup_connect.lo `test -f 'dapl/common/dapl_ep_dup_connect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_dup_connect.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_dup_connect.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_dup_connect.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_dup_connect.c' object='dapl_udapl_libdaploucm_la-dapl_ep_dup_connect.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ep_dup_connect.lo `test -f 'dapl/common/dapl_ep_dup_connect.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_dup_connect.c
+
+dapl_udapl_libdaploucm_la-dapl_ep_free.lo: dapl/common/dapl_ep_free.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ep_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_free.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ep_free.lo `test -f 'dapl/common/dapl_ep_free.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_free.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_free.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_free.c' object='dapl_udapl_libdaploucm_la-dapl_ep_free.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ep_free.lo `test -f 'dapl/common/dapl_ep_free.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_free.c
+
+dapl_udapl_libdaploucm_la-dapl_ep_reset.lo: dapl/common/dapl_ep_reset.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ep_reset.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_reset.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ep_reset.lo `test -f 'dapl/common/dapl_ep_reset.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_reset.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_reset.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_reset.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_reset.c' object='dapl_udapl_libdaploucm_la-dapl_ep_reset.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ep_reset.lo `test -f 'dapl/common/dapl_ep_reset.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_reset.c
+
+dapl_udapl_libdaploucm_la-dapl_ep_get_status.lo: dapl/common/dapl_ep_get_status.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ep_get_status.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_get_status.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ep_get_status.lo `test -f 'dapl/common/dapl_ep_get_status.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_get_status.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_get_status.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_get_status.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_get_status.c' object='dapl_udapl_libdaploucm_la-dapl_ep_get_status.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ep_get_status.lo `test -f 'dapl/common/dapl_ep_get_status.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_get_status.c
+
+dapl_udapl_libdaploucm_la-dapl_ep_modify.lo: dapl/common/dapl_ep_modify.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ep_modify.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_modify.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ep_modify.lo `test -f 'dapl/common/dapl_ep_modify.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_modify.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_modify.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_modify.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_modify.c' object='dapl_udapl_libdaploucm_la-dapl_ep_modify.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ep_modify.lo `test -f 'dapl/common/dapl_ep_modify.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_modify.c
+
+dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_read.lo: dapl/common/dapl_ep_post_rdma_read.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_read.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_read.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_read.lo `test -f 'dapl/common/dapl_ep_post_rdma_read.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_pos [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_read.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_read.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_post_rdma_read.c' object='dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_read.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_read.lo `test -f 'dapl/common/dapl_ep_post_rdma_read.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_rdma_read.c
+
+dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_write.lo: dapl/common/dapl_ep_post_rdma_write.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_write.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_write.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_write.lo `test -f 'dapl/common/dapl_ep_post_rdma_write.c' || echo '$(srcdir)/'`dapl/common/dapl_ep [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_write.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_write.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_post_rdma_write.c' object='dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_write.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_write.lo `test -f 'dapl/common/dapl_ep_post_rdma_write.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_rdma_write.c
-dapl_udapl_libdaploscm_la-dapl_ib_util.lo: dapl/openib_scm/dapl_ib_util.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ib_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_util.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ib_util.lo `test -f 'dapl/openib_scm/dapl_ib_util.c' || echo '$(srcdir)/'`dapl/openib_scm/dapl_ib_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_util.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_util.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_scm/dapl_ib_util.c' object='dapl_udapl_libdaploscm_la-dapl_ib_util.lo' libtool=yes @AMDEPBACKSLASH@
+dapl_udapl_libdaploucm_la-dapl_ep_post_recv.lo: dapl/common/dapl_ep_post_recv.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ep_post_recv.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_recv.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ep_post_recv.lo `test -f 'dapl/common/dapl_ep_post_recv.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_recv.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_recv.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_recv.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_post_recv.c' object='dapl_udapl_libdaploucm_la-dapl_ep_post_recv.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ib_util.lo `test -f 'dapl/openib_scm/dapl_ib_util.c' || echo '$(srcdir)/'`dapl/openib_scm/dapl_ib_util.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ep_post_recv.lo `test -f 'dapl/common/dapl_ep_post_recv.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_recv.c
-dapl_udapl_libdaploscm_la-dapl_ib_cq.lo: dapl/openib_scm/dapl_ib_cq.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ib_cq.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_cq.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ib_cq.lo `test -f 'dapl/openib_scm/dapl_ib_cq.c' || echo '$(srcdir)/'`dapl/openib_scm/dapl_ib_cq.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_cq.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_cq.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_scm/dapl_ib_cq.c' object='dapl_udapl_libdaploscm_la-dapl_ib_cq.lo' libtool=yes @AMDEPBACKSLASH@
+dapl_udapl_libdaploucm_la-dapl_ep_post_send.lo: dapl/common/dapl_ep_post_send.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ep_post_send.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_send.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ep_post_send.lo `test -f 'dapl/common/dapl_ep_post_send.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_send.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_send.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_send.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_post_send.c' object='dapl_udapl_libdaploucm_la-dapl_ep_post_send.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ib_cq.lo `test -f 'dapl/openib_scm/dapl_ib_cq.c' || echo '$(srcdir)/'`dapl/openib_scm/dapl_ib_cq.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ep_post_send.lo `test -f 'dapl/common/dapl_ep_post_send.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_send.c
-dapl_udapl_libdaploscm_la-dapl_ib_qp.lo: dapl/openib_scm/dapl_ib_qp.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ib_qp.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_qp.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ib_qp.lo `test -f 'dapl/openib_scm/dapl_ib_qp.c' || echo '$(srcdir)/'`dapl/openib_scm/dapl_ib_qp.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_qp.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_qp.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_scm/dapl_ib_qp.c' object='dapl_udapl_libdaploscm_la-dapl_ib_qp.lo' libtool=yes @AMDEPBACKSLASH@
+dapl_udapl_libdaploucm_la-dapl_ep_query.lo: dapl/common/dapl_ep_query.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ep_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_query.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ep_query.lo `test -f 'dapl/common/dapl_ep_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_query.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_query.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_query.c' object='dapl_udapl_libdaploucm_la-dapl_ep_query.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ib_qp.lo `test -f 'dapl/openib_scm/dapl_ib_qp.c' || echo '$(srcdir)/'`dapl/openib_scm/dapl_ib_qp.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ep_query.lo `test -f 'dapl/common/dapl_ep_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_query.c
-dapl_udapl_libdaploscm_la-dapl_ib_cm.lo: dapl/openib_scm/dapl_ib_cm.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ib_cm.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_cm.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ib_cm.lo `test -f 'dapl/openib_scm/dapl_ib_cm.c' || echo '$(srcdir)/'`dapl/openib_scm/dapl_ib_cm.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_cm.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_cm.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_scm/dapl_ib_cm.c' object='dapl_udapl_libdaploscm_la-dapl_ib_cm.lo' libtool=yes @AMDEPBACKSLASH@
+dapl_udapl_libdaploucm_la-dapl_ep_util.lo: dapl/common/dapl_ep_util.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ep_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_util.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ep_util.lo `test -f 'dapl/common/dapl_ep_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_util.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_util.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_util.c' object='dapl_udapl_libdaploucm_la-dapl_ep_util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ib_cm.lo `test -f 'dapl/openib_scm/dapl_ib_cm.c' || echo '$(srcdir)/'`dapl/openib_scm/dapl_ib_cm.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ep_util.lo `test -f 'dapl/common/dapl_ep_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_util.c
-dapl_udapl_libdaploscm_la-dapl_ib_mem.lo: dapl/openib_scm/dapl_ib_mem.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ib_mem.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_mem.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ib_mem.lo `test -f 'dapl/openib_scm/dapl_ib_mem.c' || echo '$(srcdir)/'`dapl/openib_scm/dapl_ib_mem.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_mem.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_mem.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_scm/dapl_ib_mem.c' object='dapl_udapl_libdaploscm_la-dapl_ib_mem.lo' libtool=yes @AMDEPBACKSLASH@
+dapl_udapl_libdaploucm_la-dapl_evd_dequeue.lo: dapl/common/dapl_evd_dequeue.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_evd_dequeue.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_dequeue.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_evd_dequeue.lo `test -f 'dapl/common/dapl_evd_dequeue.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_dequeue.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_dequeue.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_dequeue.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_dequeue.c' object='dapl_udapl_libdaploucm_la-dapl_evd_dequeue.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ib_mem.lo `test -f 'dapl/openib_scm/dapl_ib_mem.c' || echo '$(srcdir)/'`dapl/openib_scm/dapl_ib_mem.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_evd_dequeue.lo `test -f 'dapl/common/dapl_evd_dequeue.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_dequeue.c
-dapl_udapl_libdaploscm_la-dapl_ib_extensions.lo: dapl/openib_scm/dapl_ib_extensions.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploscm_la-dapl_ib_extensions.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_extensions.Tpo -c -o dapl_udapl_libdaploscm_la-dapl_ib_extensions.lo `test -f 'dapl/openib_scm/dapl_ib_extensions.c' || echo '$(srcdir)/'`dapl/openib_scm/dapl_ib_extensions.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_extensions.Tpo $(DEPDIR)/dapl_udapl_libdaploscm_la-dapl_ib_extensions.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_scm/dapl_ib_extensions.c' object='dapl_udapl_libdaploscm_la-dapl_ib_extensions.lo' libtool=yes @AMDEPBACKSLASH@
+dapl_udapl_libdaploucm_la-dapl_evd_free.lo: dapl/common/dapl_evd_free.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_evd_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_free.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_evd_free.lo `test -f 'dapl/common/dapl_evd_free.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_free.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_free.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_free.c' object='dapl_udapl_libdaploucm_la-dapl_evd_free.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploscm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploscm_la-dapl_ib_extensions.lo `test -f 'dapl/openib_scm/dapl_ib_extensions.c' || echo '$(srcdir)/'`dapl/openib_scm/dapl_ib_extensions.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_evd_free.lo `test -f 'dapl/common/dapl_evd_free.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_free.c
+
+dapl_udapl_libdaploucm_la-dapl_evd_post_se.lo: dapl/common/dapl_evd_post_se.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_evd_post_se.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_post_se.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_evd_post_se.lo `test -f 'dapl/common/dapl_evd_post_se.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_post_se.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_post_se.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_post_se.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_post_se.c' object='dapl_udapl_libdaploucm_la-dapl_evd_post_se.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_evd_post_se.lo `test -f 'dapl/common/dapl_evd_post_se.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_post_se.c
+
+dapl_udapl_libdaploucm_la-dapl_evd_resize.lo: dapl/common/dapl_evd_resize.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_evd_resize.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_resize.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_evd_resize.lo `test -f 'dapl/common/dapl_evd_resize.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_resize.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_resize.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_resize.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_resize.c' object='dapl_udapl_libdaploucm_la-dapl_evd_resize.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_evd_resize.lo `test -f 'dapl/common/dapl_evd_resize.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_resize.c
+
+dapl_udapl_libdaploucm_la-dapl_evd_util.lo: dapl/common/dapl_evd_util.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_evd_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_util.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_evd_util.lo `test -f 'dapl/common/dapl_evd_util.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_util.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_util.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_util.c' object='dapl_udapl_libdaploucm_la-dapl_evd_util.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_evd_util.lo `test -f 'dapl/common/dapl_evd_util.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_util.c
+
+dapl_udapl_libdaploucm_la-dapl_evd_cq_async_error_callb.lo: dapl/common/dapl_evd_cq_async_error_callb.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_evd_cq_async_error_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_cq_async_error_callb.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_evd_cq_async_error_callb.lo `test -f 'dapl/common/dapl_evd_cq_async_error_callb.c' || echo '$(srcdi [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_cq_async_error_callb.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_cq_async_error_callb.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_cq_async_error_callb.c' object='dapl_udapl_libdaploucm_la-dapl_evd_cq_async_error_callb.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_evd_cq_async_error_callb.lo `test -f 'dapl/common/dapl_evd_cq_async_error_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_cq_async_error_callb.c
+
+dapl_udapl_libdaploucm_la-dapl_evd_qp_async_error_callb.lo: dapl/common/dapl_evd_qp_async_error_callb.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_evd_qp_async_error_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_qp_async_error_callb.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_evd_qp_async_error_callb.lo `test -f 'dapl/common/dapl_evd_qp_async_error_callb.c' || echo '$(srcdi [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_qp_async_error_callb.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_qp_async_error_callb.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_qp_async_error_callb.c' object='dapl_udapl_libdaploucm_la-dapl_evd_qp_async_error_callb.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_evd_qp_async_error_callb.lo `test -f 'dapl/common/dapl_evd_qp_async_error_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_qp_async_error_callb.c
+
+dapl_udapl_libdaploucm_la-dapl_evd_un_async_error_callb.lo: dapl/common/dapl_evd_un_async_error_callb.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_evd_un_async_error_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_un_async_error_callb.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_evd_un_async_error_callb.lo `test -f 'dapl/common/dapl_evd_un_async_error_callb.c' || echo '$(srcdi [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_un_async_error_callb.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_un_async_error_callb.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_un_async_error_callb.c' object='dapl_udapl_libdaploucm_la-dapl_evd_un_async_error_callb.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_evd_un_async_error_callb.lo `test -f 'dapl/common/dapl_evd_un_async_error_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_un_async_error_callb.c
+
+dapl_udapl_libdaploucm_la-dapl_evd_connection_callb.lo: dapl/common/dapl_evd_connection_callb.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_evd_connection_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_connection_callb.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_evd_connection_callb.lo `test -f 'dapl/common/dapl_evd_connection_callb.c' || echo '$(srcdir)/'`dapl/common [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_connection_callb.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_connection_callb.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_connection_callb.c' object='dapl_udapl_libdaploucm_la-dapl_evd_connection_callb.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_evd_connection_callb.lo `test -f 'dapl/common/dapl_evd_connection_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_connection_callb.c
+
+dapl_udapl_libdaploucm_la-dapl_evd_dto_callb.lo: dapl/common/dapl_evd_dto_callb.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_evd_dto_callb.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_dto_callb.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_evd_dto_callb.lo `test -f 'dapl/common/dapl_evd_dto_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_dto_callb.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_dto_callb.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_evd_dto_callb.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_evd_dto_callb.c' object='dapl_udapl_libdaploucm_la-dapl_evd_dto_callb.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_evd_dto_callb.lo `test -f 'dapl/common/dapl_evd_dto_callb.c' || echo '$(srcdir)/'`dapl/common/dapl_evd_dto_callb.c
+
+dapl_udapl_libdaploucm_la-dapl_get_consumer_context.lo: dapl/common/dapl_get_consumer_context.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_get_consumer_context.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_get_consumer_context.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_get_consumer_context.lo `test -f 'dapl/common/dapl_get_consumer_context.c' || echo '$(srcdir)/'`dapl/common [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_get_consumer_context.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_get_consumer_context.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_get_consumer_context.c' object='dapl_udapl_libdaploucm_la-dapl_get_consumer_context.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_get_consumer_context.lo `test -f 'dapl/common/dapl_get_consumer_context.c' || echo '$(srcdir)/'`dapl/common/dapl_get_consumer_context.c
+
+dapl_udapl_libdaploucm_la-dapl_get_handle_type.lo: dapl/common/dapl_get_handle_type.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_get_handle_type.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_get_handle_type.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_get_handle_type.lo `test -f 'dapl/common/dapl_get_handle_type.c' || echo '$(srcdir)/'`dapl/common/dapl_get_handle_type.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_get_handle_type.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_get_handle_type.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_get_handle_type.c' object='dapl_udapl_libdaploucm_la-dapl_get_handle_type.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_get_handle_type.lo `test -f 'dapl/common/dapl_get_handle_type.c' || echo '$(srcdir)/'`dapl/common/dapl_get_handle_type.c
+
+dapl_udapl_libdaploucm_la-dapl_hash.lo: dapl/common/dapl_hash.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_hash.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_hash.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_hash.lo `test -f 'dapl/common/dapl_hash.c' || echo '$(srcdir)/'`dapl/common/dapl_hash.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_hash.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_hash.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_hash.c' object='dapl_udapl_libdaploucm_la-dapl_hash.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_hash.lo `test -f 'dapl/common/dapl_hash.c' || echo '$(srcdir)/'`dapl/common/dapl_hash.c
+
+dapl_udapl_libdaploucm_la-dapl_hca_util.lo: dapl/common/dapl_hca_util.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_hca_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_hca_util.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_hca_util.lo `test -f 'dapl/common/dapl_hca_util.c' || echo '$(srcdir)/'`dapl/common/dapl_hca_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_hca_util.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_hca_util.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_hca_util.c' object='dapl_udapl_libdaploucm_la-dapl_hca_util.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_hca_util.lo `test -f 'dapl/common/dapl_hca_util.c' || echo '$(srcdir)/'`dapl/common/dapl_hca_util.c
+
+dapl_udapl_libdaploucm_la-dapl_ia_close.lo: dapl/common/dapl_ia_close.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ia_close.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ia_close.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ia_close.lo `test -f 'dapl/common/dapl_ia_close.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_close.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ia_close.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ia_close.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ia_close.c' object='dapl_udapl_libdaploucm_la-dapl_ia_close.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ia_close.lo `test -f 'dapl/common/dapl_ia_close.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_close.c
+
+dapl_udapl_libdaploucm_la-dapl_ia_open.lo: dapl/common/dapl_ia_open.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ia_open.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ia_open.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ia_open.lo `test -f 'dapl/common/dapl_ia_open.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_open.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ia_open.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ia_open.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ia_open.c' object='dapl_udapl_libdaploucm_la-dapl_ia_open.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ia_open.lo `test -f 'dapl/common/dapl_ia_open.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_open.c
+
+dapl_udapl_libdaploucm_la-dapl_ia_query.lo: dapl/common/dapl_ia_query.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ia_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ia_query.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ia_query.lo `test -f 'dapl/common/dapl_ia_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ia_query.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ia_query.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ia_query.c' object='dapl_udapl_libdaploucm_la-dapl_ia_query.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ia_query.lo `test -f 'dapl/common/dapl_ia_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_query.c
+
+dapl_udapl_libdaploucm_la-dapl_ia_util.lo: dapl/common/dapl_ia_util.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ia_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ia_util.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ia_util.lo `test -f 'dapl/common/dapl_ia_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ia_util.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ia_util.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ia_util.c' object='dapl_udapl_libdaploucm_la-dapl_ia_util.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ia_util.lo `test -f 'dapl/common/dapl_ia_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_util.c
+
+dapl_udapl_libdaploucm_la-dapl_llist.lo: dapl/common/dapl_llist.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_llist.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_llist.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_llist.lo `test -f 'dapl/common/dapl_llist.c' || echo '$(srcdir)/'`dapl/common/dapl_llist.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_llist.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_llist.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_llist.c' object='dapl_udapl_libdaploucm_la-dapl_llist.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_llist.lo `test -f 'dapl/common/dapl_llist.c' || echo '$(srcdir)/'`dapl/common/dapl_llist.c
+
+dapl_udapl_libdaploucm_la-dapl_lmr_free.lo: dapl/common/dapl_lmr_free.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_lmr_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_free.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_lmr_free.lo `test -f 'dapl/common/dapl_lmr_free.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_free.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_free.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_lmr_free.c' object='dapl_udapl_libdaploucm_la-dapl_lmr_free.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_lmr_free.lo `test -f 'dapl/common/dapl_lmr_free.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_free.c
+
+dapl_udapl_libdaploucm_la-dapl_lmr_query.lo: dapl/common/dapl_lmr_query.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_lmr_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_query.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_lmr_query.lo `test -f 'dapl/common/dapl_lmr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_query.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_query.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_lmr_query.c' object='dapl_udapl_libdaploucm_la-dapl_lmr_query.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_lmr_query.lo `test -f 'dapl/common/dapl_lmr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_query.c
+
+dapl_udapl_libdaploucm_la-dapl_lmr_util.lo: dapl/common/dapl_lmr_util.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_lmr_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_util.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_lmr_util.lo `test -f 'dapl/common/dapl_lmr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_util.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_util.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_lmr_util.c' object='dapl_udapl_libdaploucm_la-dapl_lmr_util.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_lmr_util.lo `test -f 'dapl/common/dapl_lmr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_util.c
+
+dapl_udapl_libdaploucm_la-dapl_lmr_sync_rdma_read.lo: dapl/common/dapl_lmr_sync_rdma_read.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_lmr_sync_rdma_read.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_sync_rdma_read.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_lmr_sync_rdma_read.lo `test -f 'dapl/common/dapl_lmr_sync_rdma_read.c' || echo '$(srcdir)/'`dapl/common/dapl_lm [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_sync_rdma_read.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_sync_rdma_read.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_lmr_sync_rdma_read.c' object='dapl_udapl_libdaploucm_la-dapl_lmr_sync_rdma_read.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_lmr_sync_rdma_read.lo `test -f 'dapl/common/dapl_lmr_sync_rdma_read.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_sync_rdma_read.c
+
+dapl_udapl_libdaploucm_la-dapl_lmr_sync_rdma_write.lo: dapl/common/dapl_lmr_sync_rdma_write.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_lmr_sync_rdma_write.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_sync_rdma_write.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_lmr_sync_rdma_write.lo `test -f 'dapl/common/dapl_lmr_sync_rdma_write.c' || echo '$(srcdir)/'`dapl/common/dap [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_sync_rdma_write.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_lmr_sync_rdma_write.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_lmr_sync_rdma_write.c' object='dapl_udapl_libdaploucm_la-dapl_lmr_sync_rdma_write.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_lmr_sync_rdma_write.lo `test -f 'dapl/common/dapl_lmr_sync_rdma_write.c' || echo '$(srcdir)/'`dapl/common/dapl_lmr_sync_rdma_write.c
+
+dapl_udapl_libdaploucm_la-dapl_mr_util.lo: dapl/common/dapl_mr_util.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_mr_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_mr_util.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_mr_util.lo `test -f 'dapl/common/dapl_mr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_mr_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_mr_util.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_mr_util.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_mr_util.c' object='dapl_udapl_libdaploucm_la-dapl_mr_util.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_mr_util.lo `test -f 'dapl/common/dapl_mr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_mr_util.c
+
+dapl_udapl_libdaploucm_la-dapl_provider.lo: dapl/common/dapl_provider.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_provider.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_provider.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_provider.lo `test -f 'dapl/common/dapl_provider.c' || echo '$(srcdir)/'`dapl/common/dapl_provider.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_provider.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_provider.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_provider.c' object='dapl_udapl_libdaploucm_la-dapl_provider.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_provider.lo `test -f 'dapl/common/dapl_provider.c' || echo '$(srcdir)/'`dapl/common/dapl_provider.c
+
+dapl_udapl_libdaploucm_la-dapl_sp_util.lo: dapl/common/dapl_sp_util.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_sp_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_sp_util.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_sp_util.lo `test -f 'dapl/common/dapl_sp_util.c' || echo '$(srcdir)/'`dapl/common/dapl_sp_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_sp_util.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_sp_util.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_sp_util.c' object='dapl_udapl_libdaploucm_la-dapl_sp_util.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_sp_util.lo `test -f 'dapl/common/dapl_sp_util.c' || echo '$(srcdir)/'`dapl/common/dapl_sp_util.c
+
+dapl_udapl_libdaploucm_la-dapl_psp_create.lo: dapl/common/dapl_psp_create.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_psp_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_psp_create.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_psp_create.lo `test -f 'dapl/common/dapl_psp_create.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_psp_create.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_psp_create.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_psp_create.c' object='dapl_udapl_libdaploucm_la-dapl_psp_create.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_psp_create.lo `test -f 'dapl/common/dapl_psp_create.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_create.c
+
+dapl_udapl_libdaploucm_la-dapl_psp_create_any.lo: dapl/common/dapl_psp_create_any.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_psp_create_any.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_psp_create_any.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_psp_create_any.lo `test -f 'dapl/common/dapl_psp_create_any.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_create_any.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_psp_create_any.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_psp_create_any.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_psp_create_any.c' object='dapl_udapl_libdaploucm_la-dapl_psp_create_any.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_psp_create_any.lo `test -f 'dapl/common/dapl_psp_create_any.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_create_any.c
+
+dapl_udapl_libdaploucm_la-dapl_psp_free.lo: dapl/common/dapl_psp_free.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_psp_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_psp_free.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_psp_free.lo `test -f 'dapl/common/dapl_psp_free.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_psp_free.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_psp_free.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_psp_free.c' object='dapl_udapl_libdaploucm_la-dapl_psp_free.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_psp_free.lo `test -f 'dapl/common/dapl_psp_free.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_free.c
+
+dapl_udapl_libdaploucm_la-dapl_psp_query.lo: dapl/common/dapl_psp_query.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_psp_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_psp_query.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_psp_query.lo `test -f 'dapl/common/dapl_psp_query.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_psp_query.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_psp_query.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_psp_query.c' object='dapl_udapl_libdaploucm_la-dapl_psp_query.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_psp_query.lo `test -f 'dapl/common/dapl_psp_query.c' || echo '$(srcdir)/'`dapl/common/dapl_psp_query.c
+
+dapl_udapl_libdaploucm_la-dapl_pz_create.lo: dapl/common/dapl_pz_create.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_pz_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_pz_create.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_pz_create.lo `test -f 'dapl/common/dapl_pz_create.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_pz_create.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_pz_create.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_pz_create.c' object='dapl_udapl_libdaploucm_la-dapl_pz_create.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_pz_create.lo `test -f 'dapl/common/dapl_pz_create.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_create.c
+
+dapl_udapl_libdaploucm_la-dapl_pz_free.lo: dapl/common/dapl_pz_free.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_pz_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_pz_free.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_pz_free.lo `test -f 'dapl/common/dapl_pz_free.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_pz_free.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_pz_free.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_pz_free.c' object='dapl_udapl_libdaploucm_la-dapl_pz_free.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_pz_free.lo `test -f 'dapl/common/dapl_pz_free.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_free.c
+
+dapl_udapl_libdaploucm_la-dapl_pz_query.lo: dapl/common/dapl_pz_query.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_pz_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_pz_query.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_pz_query.lo `test -f 'dapl/common/dapl_pz_query.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_pz_query.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_pz_query.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_pz_query.c' object='dapl_udapl_libdaploucm_la-dapl_pz_query.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_pz_query.lo `test -f 'dapl/common/dapl_pz_query.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_query.c
+
+dapl_udapl_libdaploucm_la-dapl_pz_util.lo: dapl/common/dapl_pz_util.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_pz_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_pz_util.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_pz_util.lo `test -f 'dapl/common/dapl_pz_util.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_pz_util.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_pz_util.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_pz_util.c' object='dapl_udapl_libdaploucm_la-dapl_pz_util.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_pz_util.lo `test -f 'dapl/common/dapl_pz_util.c' || echo '$(srcdir)/'`dapl/common/dapl_pz_util.c
+
+dapl_udapl_libdaploucm_la-dapl_rmr_create.lo: dapl/common/dapl_rmr_create.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_rmr_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rmr_create.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_rmr_create.lo `test -f 'dapl/common/dapl_rmr_create.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rmr_create.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rmr_create.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rmr_create.c' object='dapl_udapl_libdaploucm_la-dapl_rmr_create.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_rmr_create.lo `test -f 'dapl/common/dapl_rmr_create.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_create.c
+
+dapl_udapl_libdaploucm_la-dapl_rmr_free.lo: dapl/common/dapl_rmr_free.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_rmr_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rmr_free.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_rmr_free.lo `test -f 'dapl/common/dapl_rmr_free.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rmr_free.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rmr_free.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rmr_free.c' object='dapl_udapl_libdaploucm_la-dapl_rmr_free.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_rmr_free.lo `test -f 'dapl/common/dapl_rmr_free.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_free.c
+
+dapl_udapl_libdaploucm_la-dapl_rmr_bind.lo: dapl/common/dapl_rmr_bind.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_rmr_bind.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rmr_bind.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_rmr_bind.lo `test -f 'dapl/common/dapl_rmr_bind.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_bind.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rmr_bind.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rmr_bind.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rmr_bind.c' object='dapl_udapl_libdaploucm_la-dapl_rmr_bind.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_rmr_bind.lo `test -f 'dapl/common/dapl_rmr_bind.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_bind.c
+
+dapl_udapl_libdaploucm_la-dapl_rmr_query.lo: dapl/common/dapl_rmr_query.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_rmr_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rmr_query.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_rmr_query.lo `test -f 'dapl/common/dapl_rmr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rmr_query.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rmr_query.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rmr_query.c' object='dapl_udapl_libdaploucm_la-dapl_rmr_query.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_rmr_query.lo `test -f 'dapl/common/dapl_rmr_query.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_query.c
+
+dapl_udapl_libdaploucm_la-dapl_rmr_util.lo: dapl/common/dapl_rmr_util.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_rmr_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rmr_util.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_rmr_util.lo `test -f 'dapl/common/dapl_rmr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rmr_util.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rmr_util.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rmr_util.c' object='dapl_udapl_libdaploucm_la-dapl_rmr_util.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_rmr_util.lo `test -f 'dapl/common/dapl_rmr_util.c' || echo '$(srcdir)/'`dapl/common/dapl_rmr_util.c
+
+dapl_udapl_libdaploucm_la-dapl_rsp_create.lo: dapl/common/dapl_rsp_create.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_rsp_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rsp_create.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_rsp_create.lo `test -f 'dapl/common/dapl_rsp_create.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rsp_create.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rsp_create.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rsp_create.c' object='dapl_udapl_libdaploucm_la-dapl_rsp_create.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_rsp_create.lo `test -f 'dapl/common/dapl_rsp_create.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_create.c
+
+dapl_udapl_libdaploucm_la-dapl_rsp_free.lo: dapl/common/dapl_rsp_free.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_rsp_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rsp_free.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_rsp_free.lo `test -f 'dapl/common/dapl_rsp_free.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rsp_free.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rsp_free.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rsp_free.c' object='dapl_udapl_libdaploucm_la-dapl_rsp_free.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_rsp_free.lo `test -f 'dapl/common/dapl_rsp_free.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_free.c
+
+dapl_udapl_libdaploucm_la-dapl_rsp_query.lo: dapl/common/dapl_rsp_query.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_rsp_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rsp_query.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_rsp_query.lo `test -f 'dapl/common/dapl_rsp_query.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rsp_query.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_rsp_query.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_rsp_query.c' object='dapl_udapl_libdaploucm_la-dapl_rsp_query.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_rsp_query.lo `test -f 'dapl/common/dapl_rsp_query.c' || echo '$(srcdir)/'`dapl/common/dapl_rsp_query.c
+
+dapl_udapl_libdaploucm_la-dapl_cno_util.lo: dapl/common/dapl_cno_util.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_cno_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_util.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_cno_util.lo `test -f 'dapl/common/dapl_cno_util.c' || echo '$(srcdir)/'`dapl/common/dapl_cno_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_util.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_cno_util.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_cno_util.c' object='dapl_udapl_libdaploucm_la-dapl_cno_util.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_cno_util.lo `test -f 'dapl/common/dapl_cno_util.c' || echo '$(srcdir)/'`dapl/common/dapl_cno_util.c
+
+dapl_udapl_libdaploucm_la-dapl_set_consumer_context.lo: dapl/common/dapl_set_consumer_context.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_set_consumer_context.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_set_consumer_context.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_set_consumer_context.lo `test -f 'dapl/common/dapl_set_consumer_context.c' || echo '$(srcdir)/'`dapl/common [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_set_consumer_context.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_set_consumer_context.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_set_consumer_context.c' object='dapl_udapl_libdaploucm_la-dapl_set_consumer_context.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_set_consumer_context.lo `test -f 'dapl/common/dapl_set_consumer_context.c' || echo '$(srcdir)/'`dapl/common/dapl_set_consumer_context.c
+
+dapl_udapl_libdaploucm_la-dapl_ring_buffer_util.lo: dapl/common/dapl_ring_buffer_util.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ring_buffer_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ring_buffer_util.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ring_buffer_util.lo `test -f 'dapl/common/dapl_ring_buffer_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ring_buffe [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ring_buffer_util.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ring_buffer_util.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ring_buffer_util.c' object='dapl_udapl_libdaploucm_la-dapl_ring_buffer_util.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ring_buffer_util.lo `test -f 'dapl/common/dapl_ring_buffer_util.c' || echo '$(srcdir)/'`dapl/common/dapl_ring_buffer_util.c
+
+dapl_udapl_libdaploucm_la-dapl_name_service.lo: dapl/common/dapl_name_service.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_name_service.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_name_service.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_name_service.lo `test -f 'dapl/common/dapl_name_service.c' || echo '$(srcdir)/'`dapl/common/dapl_name_service.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_name_service.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_name_service.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_name_service.c' object='dapl_udapl_libdaploucm_la-dapl_name_service.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_name_service.lo `test -f 'dapl/common/dapl_name_service.c' || echo '$(srcdir)/'`dapl/common/dapl_name_service.c
+
+dapl_udapl_libdaploucm_la-dapl_timer_util.lo: dapl/common/dapl_timer_util.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_timer_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_timer_util.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_timer_util.lo `test -f 'dapl/common/dapl_timer_util.c' || echo '$(srcdir)/'`dapl/common/dapl_timer_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_timer_util.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_timer_util.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_timer_util.c' object='dapl_udapl_libdaploucm_la-dapl_timer_util.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_timer_util.lo `test -f 'dapl/common/dapl_timer_util.c' || echo '$(srcdir)/'`dapl/common/dapl_timer_util.c
+
+dapl_udapl_libdaploucm_la-dapl_ep_create_with_srq.lo: dapl/common/dapl_ep_create_with_srq.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ep_create_with_srq.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_create_with_srq.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ep_create_with_srq.lo `test -f 'dapl/common/dapl_ep_create_with_srq.c' || echo '$(srcdir)/'`dapl/common/dapl_ep [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_create_with_srq.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_create_with_srq.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_create_with_srq.c' object='dapl_udapl_libdaploucm_la-dapl_ep_create_with_srq.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ep_create_with_srq.lo `test -f 'dapl/common/dapl_ep_create_with_srq.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_create_with_srq.c
+
+dapl_udapl_libdaploucm_la-dapl_ep_recv_query.lo: dapl/common/dapl_ep_recv_query.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ep_recv_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_recv_query.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ep_recv_query.lo `test -f 'dapl/common/dapl_ep_recv_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_recv_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_recv_query.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_recv_query.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_recv_query.c' object='dapl_udapl_libdaploucm_la-dapl_ep_recv_query.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ep_recv_query.lo `test -f 'dapl/common/dapl_ep_recv_query.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_recv_query.c
+
+dapl_udapl_libdaploucm_la-dapl_ep_set_watermark.lo: dapl/common/dapl_ep_set_watermark.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ep_set_watermark.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_set_watermark.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ep_set_watermark.lo `test -f 'dapl/common/dapl_ep_set_watermark.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_set_wat [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_set_watermark.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_set_watermark.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_set_watermark.c' object='dapl_udapl_libdaploucm_la-dapl_ep_set_watermark.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ep_set_watermark.lo `test -f 'dapl/common/dapl_ep_set_watermark.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_set_watermark.c
+
+dapl_udapl_libdaploucm_la-dapl_srq_create.lo: dapl/common/dapl_srq_create.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_srq_create.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_create.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_srq_create.lo `test -f 'dapl/common/dapl_srq_create.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_create.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_create.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_create.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_srq_create.c' object='dapl_udapl_libdaploucm_la-dapl_srq_create.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_srq_create.lo `test -f 'dapl/common/dapl_srq_create.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_create.c
+
+dapl_udapl_libdaploucm_la-dapl_srq_free.lo: dapl/common/dapl_srq_free.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_srq_free.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_free.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_srq_free.lo `test -f 'dapl/common/dapl_srq_free.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_free.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_free.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_free.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_srq_free.c' object='dapl_udapl_libdaploucm_la-dapl_srq_free.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_srq_free.lo `test -f 'dapl/common/dapl_srq_free.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_free.c
+
+dapl_udapl_libdaploucm_la-dapl_srq_query.lo: dapl/common/dapl_srq_query.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_srq_query.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_query.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_srq_query.lo `test -f 'dapl/common/dapl_srq_query.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_query.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_query.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_query.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_srq_query.c' object='dapl_udapl_libdaploucm_la-dapl_srq_query.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_srq_query.lo `test -f 'dapl/common/dapl_srq_query.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_query.c
+
+dapl_udapl_libdaploucm_la-dapl_srq_resize.lo: dapl/common/dapl_srq_resize.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_srq_resize.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_resize.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_srq_resize.lo `test -f 'dapl/common/dapl_srq_resize.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_resize.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_resize.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_resize.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_srq_resize.c' object='dapl_udapl_libdaploucm_la-dapl_srq_resize.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_srq_resize.lo `test -f 'dapl/common/dapl_srq_resize.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_resize.c
+
+dapl_udapl_libdaploucm_la-dapl_srq_post_recv.lo: dapl/common/dapl_srq_post_recv.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_srq_post_recv.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_post_recv.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_srq_post_recv.lo `test -f 'dapl/common/dapl_srq_post_recv.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_post_recv.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_post_recv.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_post_recv.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_srq_post_recv.c' object='dapl_udapl_libdaploucm_la-dapl_srq_post_recv.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_srq_post_recv.lo `test -f 'dapl/common/dapl_srq_post_recv.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_post_recv.c
+
+dapl_udapl_libdaploucm_la-dapl_srq_set_lw.lo: dapl/common/dapl_srq_set_lw.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_srq_set_lw.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_set_lw.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_srq_set_lw.lo `test -f 'dapl/common/dapl_srq_set_lw.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_set_lw.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_set_lw.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_set_lw.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_srq_set_lw.c' object='dapl_udapl_libdaploucm_la-dapl_srq_set_lw.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_srq_set_lw.lo `test -f 'dapl/common/dapl_srq_set_lw.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_set_lw.c
+
+dapl_udapl_libdaploucm_la-dapl_srq_util.lo: dapl/common/dapl_srq_util.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_srq_util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_util.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_srq_util.lo `test -f 'dapl/common/dapl_srq_util.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_util.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_srq_util.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_srq_util.c' object='dapl_udapl_libdaploucm_la-dapl_srq_util.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_srq_util.lo `test -f 'dapl/common/dapl_srq_util.c' || echo '$(srcdir)/'`dapl/common/dapl_srq_util.c
+
+dapl_udapl_libdaploucm_la-dapl_debug.lo: dapl/common/dapl_debug.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_debug.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_debug.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_debug.lo `test -f 'dapl/common/dapl_debug.c' || echo '$(srcdir)/'`dapl/common/dapl_debug.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_debug.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_debug.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_debug.c' object='dapl_udapl_libdaploucm_la-dapl_debug.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_debug.lo `test -f 'dapl/common/dapl_debug.c' || echo '$(srcdir)/'`dapl/common/dapl_debug.c
+
+dapl_udapl_libdaploucm_la-dapl_ia_ha.lo: dapl/common/dapl_ia_ha.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ia_ha.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ia_ha.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ia_ha.lo `test -f 'dapl/common/dapl_ia_ha.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_ha.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ia_ha.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ia_ha.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ia_ha.c' object='dapl_udapl_libdaploucm_la-dapl_ia_ha.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ia_ha.lo `test -f 'dapl/common/dapl_ia_ha.c' || echo '$(srcdir)/'`dapl/common/dapl_ia_ha.c
+
+dapl_udapl_libdaploucm_la-dapl_csp.lo: dapl/common/dapl_csp.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_csp.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_csp.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_csp.lo `test -f 'dapl/common/dapl_csp.c' || echo '$(srcdir)/'`dapl/common/dapl_csp.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_csp.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_csp.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_csp.c' object='dapl_udapl_libdaploucm_la-dapl_csp.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_csp.lo `test -f 'dapl/common/dapl_csp.c' || echo '$(srcdir)/'`dapl/common/dapl_csp.c
+
+dapl_udapl_libdaploucm_la-dapl_ep_post_send_invalidate.lo: dapl/common/dapl_ep_post_send_invalidate.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ep_post_send_invalidate.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_send_invalidate.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ep_post_send_invalidate.lo `test -f 'dapl/common/dapl_ep_post_send_invalidate.c' || echo '$(srcdir)/' [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_send_invalidate.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_send_invalidate.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_post_send_invalidate.c' object='dapl_udapl_libdaploucm_la-dapl_ep_post_send_invalidate.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ep_post_send_invalidate.lo `test -f 'dapl/common/dapl_ep_post_send_invalidate.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_send_invalidate.c
+
+dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_read_to_rmr.lo: dapl/common/dapl_ep_post_rdma_read_to_rmr.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_read_to_rmr.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_read_to_rmr.Tpo -c -o dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_read_to_rmr.lo `test -f 'dapl/common/dapl_ep_post_rdma_read_to_rmr.c' || echo '$(srcdi [...]
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_read_to_rmr.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_read_to_rmr.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/common/dapl_ep_post_rdma_read_to_rmr.c' object='dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_read_to_rmr.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-dapl_ep_post_rdma_read_to_rmr.lo `test -f 'dapl/common/dapl_ep_post_rdma_read_to_rmr.c' || echo '$(srcdir)/'`dapl/common/dapl_ep_post_rdma_read_to_rmr.c
+
+dapl_udapl_libdaploucm_la-mem.lo: dapl/openib_common/mem.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-mem.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-mem.Tpo -c -o dapl_udapl_libdaploucm_la-mem.lo `test -f 'dapl/openib_common/mem.c' || echo '$(srcdir)/'`dapl/openib_common/mem.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-mem.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-mem.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_common/mem.c' object='dapl_udapl_libdaploucm_la-mem.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-mem.lo `test -f 'dapl/openib_common/mem.c' || echo '$(srcdir)/'`dapl/openib_common/mem.c
+
+dapl_udapl_libdaploucm_la-cq.lo: dapl/openib_common/cq.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-cq.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-cq.Tpo -c -o dapl_udapl_libdaploucm_la-cq.lo `test -f 'dapl/openib_common/cq.c' || echo '$(srcdir)/'`dapl/openib_common/cq.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-cq.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-cq.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_common/cq.c' object='dapl_udapl_libdaploucm_la-cq.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-cq.lo `test -f 'dapl/openib_common/cq.c' || echo '$(srcdir)/'`dapl/openib_common/cq.c
+
+dapl_udapl_libdaploucm_la-qp.lo: dapl/openib_common/qp.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-qp.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-qp.Tpo -c -o dapl_udapl_libdaploucm_la-qp.lo `test -f 'dapl/openib_common/qp.c' || echo '$(srcdir)/'`dapl/openib_common/qp.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-qp.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-qp.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_common/qp.c' object='dapl_udapl_libdaploucm_la-qp.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-qp.lo `test -f 'dapl/openib_common/qp.c' || echo '$(srcdir)/'`dapl/openib_common/qp.c
+
+dapl_udapl_libdaploucm_la-util.lo: dapl/openib_common/util.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-util.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-util.Tpo -c -o dapl_udapl_libdaploucm_la-util.lo `test -f 'dapl/openib_common/util.c' || echo '$(srcdir)/'`dapl/openib_common/util.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-util.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-util.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_common/util.c' object='dapl_udapl_libdaploucm_la-util.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-util.lo `test -f 'dapl/openib_common/util.c' || echo '$(srcdir)/'`dapl/openib_common/util.c
+
+dapl_udapl_libdaploucm_la-cm.lo: dapl/openib_ucm/cm.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-cm.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-cm.Tpo -c -o dapl_udapl_libdaploucm_la-cm.lo `test -f 'dapl/openib_ucm/cm.c' || echo '$(srcdir)/'`dapl/openib_ucm/cm.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-cm.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-cm.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_ucm/cm.c' object='dapl_udapl_libdaploucm_la-cm.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-cm.lo `test -f 'dapl/openib_ucm/cm.c' || echo '$(srcdir)/'`dapl/openib_ucm/cm.c
+
+dapl_udapl_libdaploucm_la-device.lo: dapl/openib_ucm/device.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-device.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-device.Tpo -c -o dapl_udapl_libdaploucm_la-device.lo `test -f 'dapl/openib_ucm/device.c' || echo '$(srcdir)/'`dapl/openib_ucm/device.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-device.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-device.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_ucm/device.c' object='dapl_udapl_libdaploucm_la-device.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-device.lo `test -f 'dapl/openib_ucm/device.c' || echo '$(srcdir)/'`dapl/openib_ucm/device.c
+
+dapl_udapl_libdaploucm_la-ib_extensions.lo: dapl/openib_common/ib_extensions.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-ib_extensions.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-ib_extensions.Tpo -c -o dapl_udapl_libdaploucm_la-ib_extensions.lo `test -f 'dapl/openib_common/ib_extensions.c' || echo '$(srcdir)/'`dapl/openib_common/ib_extensions.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-ib_extensions.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-ib_extensions.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_common/ib_extensions.c' object='dapl_udapl_libdaploucm_la-ib_extensions.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-ib_extensions.lo `test -f 'dapl/openib_common/ib_extensions.c' || echo '$(srcdir)/'`dapl/openib_common/ib_extensions.c
+
+dapl_udapl_libdaploucm_la-fca_provider.lo: dapl/openib_common/collectives/fca_provider.c
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -MT dapl_udapl_libdaploucm_la-fca_provider.lo -MD -MP -MF $(DEPDIR)/dapl_udapl_libdaploucm_la-fca_provider.Tpo -c -o dapl_udapl_libdaploucm_la-fca_provider.lo `test -f 'dapl/openib_common/collectives/fca_provider.c' || echo '$(srcdir)/'`dapl/openib_common/collectives/fca_provider.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapl_udapl_libdaploucm_la-fca_provider.Tpo $(DEPDIR)/dapl_udapl_libdaploucm_la-fca_provider.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dapl/openib_common/collectives/fca_provider.c' object='dapl_udapl_libdaploucm_la-fca_provider.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapl_udapl_libdaploucm_la_CFLAGS) $(CFLAGS) -c -o dapl_udapl_libdaploucm_la-fca_provider.lo `test -f 'dapl/openib_common/collectives/fca_provider.c' || echo '$(srcdir)/'`dapl/openib_common/collectives/fca_provider.c
dat_udat_libdat2_la-udat.lo: dat/udat/udat.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -MT dat_udat_libdat2_la-udat.lo -MD -MP -MF $(DEPDIR)/dat_udat_libdat2_la-udat.Tpo -c -o dat_udat_libdat2_la-udat.lo `test -f 'dat/udat/udat.c' || echo '$(srcdir)/'`dat/udat/udat.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dat_udat_libdat2_la-udat.Tpo $(DEPDIR)/dat_udat_libdat2_la-udat.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -MT dat_udat_libdat2_la-udat.lo -MD -MP -MF $(DEPDIR)/dat_udat_libdat2_la-udat.Tpo -c -o dat_udat_libdat2_la-udat.lo `test -f 'dat/udat/udat.c' || echo '$(srcdir)/'`dat/udat/udat.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dat_udat_libdat2_la-udat.Tpo $(DEPDIR)/dat_udat_libdat2_la-udat.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dat/udat/udat.c' object='dat_udat_libdat2_la-udat.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -c -o dat_udat_libdat2_la-udat.lo `test -f 'dat/udat/udat.c' || echo '$(srcdir)/'`dat/udat/udat.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -c -o dat_udat_libdat2_la-udat.lo `test -f 'dat/udat/udat.c' || echo '$(srcdir)/'`dat/udat/udat.c
dat_udat_libdat2_la-udat_api.lo: dat/udat/udat_api.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -MT dat_udat_libdat2_la-udat_api.lo -MD -MP -MF $(DEPDIR)/dat_udat_libdat2_la-udat_api.Tpo -c -o dat_udat_libdat2_la-udat_api.lo `test -f 'dat/udat/udat_api.c' || echo '$(srcdir)/'`dat/udat/udat_api.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dat_udat_libdat2_la-udat_api.Tpo $(DEPDIR)/dat_udat_libdat2_la-udat_api.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -MT dat_udat_libdat2_la-udat_api.lo -MD -MP -MF $(DEPDIR)/dat_udat_libdat2_la-udat_api.Tpo -c -o dat_udat_libdat2_la-udat_api.lo `test -f 'dat/udat/udat_api.c' || echo '$(srcdir)/'`dat/udat/udat_api.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dat_udat_libdat2_la-udat_api.Tpo $(DEPDIR)/dat_udat_libdat2_la-udat_api.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dat/udat/udat_api.c' object='dat_udat_libdat2_la-udat_api.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -c -o dat_udat_libdat2_la-udat_api.lo `test -f 'dat/udat/udat_api.c' || echo '$(srcdir)/'`dat/udat/udat_api.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -c -o dat_udat_libdat2_la-udat_api.lo `test -f 'dat/udat/udat_api.c' || echo '$(srcdir)/'`dat/udat/udat_api.c
dat_udat_libdat2_la-udat_sr_parser.lo: dat/udat/udat_sr_parser.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -MT dat_udat_libdat2_la-udat_sr_parser.lo -MD -MP -MF $(DEPDIR)/dat_udat_libdat2_la-udat_sr_parser.Tpo -c -o dat_udat_libdat2_la-udat_sr_parser.lo `test -f 'dat/udat/udat_sr_parser.c' || echo '$(srcdir)/'`dat/udat/udat_sr_parser.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dat_udat_libdat2_la-udat_sr_parser.Tpo $(DEPDIR)/dat_udat_libdat2_la-udat_sr_parser.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -MT dat_udat_libdat2_la-udat_sr_parser.lo -MD -MP -MF $(DEPDIR)/dat_udat_libdat2_la-udat_sr_parser.Tpo -c -o dat_udat_libdat2_la-udat_sr_parser.lo `test -f 'dat/udat/udat_sr_parser.c' || echo '$(srcdir)/'`dat/udat/udat_sr_parser.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dat_udat_libdat2_la-udat_sr_parser.Tpo $(DEPDIR)/dat_udat_libdat2_la-udat_sr_parser.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dat/udat/udat_sr_parser.c' object='dat_udat_libdat2_la-udat_sr_parser.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -c -o dat_udat_libdat2_la-udat_sr_parser.lo `test -f 'dat/udat/udat_sr_parser.c' || echo '$(srcdir)/'`dat/udat/udat_sr_parser.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -c -o dat_udat_libdat2_la-udat_sr_parser.lo `test -f 'dat/udat/udat_sr_parser.c' || echo '$(srcdir)/'`dat/udat/udat_sr_parser.c
dat_udat_libdat2_la-dat_osd.lo: dat/udat/linux/dat_osd.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -MT dat_udat_libdat2_la-dat_osd.lo -MD -MP -MF $(DEPDIR)/dat_udat_libdat2_la-dat_osd.Tpo -c -o dat_udat_libdat2_la-dat_osd.lo `test -f 'dat/udat/linux/dat_osd.c' || echo '$(srcdir)/'`dat/udat/linux/dat_osd.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dat_udat_libdat2_la-dat_osd.Tpo $(DEPDIR)/dat_udat_libdat2_la-dat_osd.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -MT dat_udat_libdat2_la-dat_osd.lo -MD -MP -MF $(DEPDIR)/dat_udat_libdat2_la-dat_osd.Tpo -c -o dat_udat_libdat2_la-dat_osd.lo `test -f 'dat/udat/linux/dat_osd.c' || echo '$(srcdir)/'`dat/udat/linux/dat_osd.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dat_udat_libdat2_la-dat_osd.Tpo $(DEPDIR)/dat_udat_libdat2_la-dat_osd.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dat/udat/linux/dat_osd.c' object='dat_udat_libdat2_la-dat_osd.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -c -o dat_udat_libdat2_la-dat_osd.lo `test -f 'dat/udat/linux/dat_osd.c' || echo '$(srcdir)/'`dat/udat/linux/dat_osd.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -c -o dat_udat_libdat2_la-dat_osd.lo `test -f 'dat/udat/linux/dat_osd.c' || echo '$(srcdir)/'`dat/udat/linux/dat_osd.c
dat_udat_libdat2_la-dat_api.lo: dat/common/dat_api.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -MT dat_udat_libdat2_la-dat_api.lo -MD -MP -MF $(DEPDIR)/dat_udat_libdat2_la-dat_api.Tpo -c -o dat_udat_libdat2_la-dat_api.lo `test -f 'dat/common/dat_api.c' || echo '$(srcdir)/'`dat/common/dat_api.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dat_udat_libdat2_la-dat_api.Tpo $(DEPDIR)/dat_udat_libdat2_la-dat_api.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -MT dat_udat_libdat2_la-dat_api.lo -MD -MP -MF $(DEPDIR)/dat_udat_libdat2_la-dat_api.Tpo -c -o dat_udat_libdat2_la-dat_api.lo `test -f 'dat/common/dat_api.c' || echo '$(srcdir)/'`dat/common/dat_api.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dat_udat_libdat2_la-dat_api.Tpo $(DEPDIR)/dat_udat_libdat2_la-dat_api.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dat/common/dat_api.c' object='dat_udat_libdat2_la-dat_api.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -c -o dat_udat_libdat2_la-dat_api.lo `test -f 'dat/common/dat_api.c' || echo '$(srcdir)/'`dat/common/dat_api.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -c -o dat_udat_libdat2_la-dat_api.lo `test -f 'dat/common/dat_api.c' || echo '$(srcdir)/'`dat/common/dat_api.c
dat_udat_libdat2_la-dat_dictionary.lo: dat/common/dat_dictionary.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -MT dat_udat_libdat2_la-dat_dictionary.lo -MD -MP -MF $(DEPDIR)/dat_udat_libdat2_la-dat_dictionary.Tpo -c -o dat_udat_libdat2_la-dat_dictionary.lo `test -f 'dat/common/dat_dictionary.c' || echo '$(srcdir)/'`dat/common/dat_dictionary.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dat_udat_libdat2_la-dat_dictionary.Tpo $(DEPDIR)/dat_udat_libdat2_la-dat_dictionary.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -MT dat_udat_libdat2_la-dat_dictionary.lo -MD -MP -MF $(DEPDIR)/dat_udat_libdat2_la-dat_dictionary.Tpo -c -o dat_udat_libdat2_la-dat_dictionary.lo `test -f 'dat/common/dat_dictionary.c' || echo '$(srcdir)/'`dat/common/dat_dictionary.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dat_udat_libdat2_la-dat_dictionary.Tpo $(DEPDIR)/dat_udat_libdat2_la-dat_dictionary.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dat/common/dat_dictionary.c' object='dat_udat_libdat2_la-dat_dictionary.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -c -o dat_udat_libdat2_la-dat_dictionary.lo `test -f 'dat/common/dat_dictionary.c' || echo '$(srcdir)/'`dat/common/dat_dictionary.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -c -o dat_udat_libdat2_la-dat_dictionary.lo `test -f 'dat/common/dat_dictionary.c' || echo '$(srcdir)/'`dat/common/dat_dictionary.c
dat_udat_libdat2_la-dat_strerror.lo: dat/common/dat_strerror.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -MT dat_udat_libdat2_la-dat_strerror.lo -MD -MP -MF $(DEPDIR)/dat_udat_libdat2_la-dat_strerror.Tpo -c -o dat_udat_libdat2_la-dat_strerror.lo `test -f 'dat/common/dat_strerror.c' || echo '$(srcdir)/'`dat/common/dat_strerror.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dat_udat_libdat2_la-dat_strerror.Tpo $(DEPDIR)/dat_udat_libdat2_la-dat_strerror.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -MT dat_udat_libdat2_la-dat_strerror.lo -MD -MP -MF $(DEPDIR)/dat_udat_libdat2_la-dat_strerror.Tpo -c -o dat_udat_libdat2_la-dat_strerror.lo `test -f 'dat/common/dat_strerror.c' || echo '$(srcdir)/'`dat/common/dat_strerror.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dat_udat_libdat2_la-dat_strerror.Tpo $(DEPDIR)/dat_udat_libdat2_la-dat_strerror.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dat/common/dat_strerror.c' object='dat_udat_libdat2_la-dat_strerror.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -c -o dat_udat_libdat2_la-dat_strerror.lo `test -f 'dat/common/dat_strerror.c' || echo '$(srcdir)/'`dat/common/dat_strerror.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -c -o dat_udat_libdat2_la-dat_strerror.lo `test -f 'dat/common/dat_strerror.c' || echo '$(srcdir)/'`dat/common/dat_strerror.c
dat_udat_libdat2_la-dat_init.lo: dat/common/dat_init.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -MT dat_udat_libdat2_la-dat_init.lo -MD -MP -MF $(DEPDIR)/dat_udat_libdat2_la-dat_init.Tpo -c -o dat_udat_libdat2_la-dat_init.lo `test -f 'dat/common/dat_init.c' || echo '$(srcdir)/'`dat/common/dat_init.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dat_udat_libdat2_la-dat_init.Tpo $(DEPDIR)/dat_udat_libdat2_la-dat_init.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -MT dat_udat_libdat2_la-dat_init.lo -MD -MP -MF $(DEPDIR)/dat_udat_libdat2_la-dat_init.Tpo -c -o dat_udat_libdat2_la-dat_init.lo `test -f 'dat/common/dat_init.c' || echo '$(srcdir)/'`dat/common/dat_init.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dat_udat_libdat2_la-dat_init.Tpo $(DEPDIR)/dat_udat_libdat2_la-dat_init.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dat/common/dat_init.c' object='dat_udat_libdat2_la-dat_init.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -c -o dat_udat_libdat2_la-dat_init.lo `test -f 'dat/common/dat_init.c' || echo '$(srcdir)/'`dat/common/dat_init.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -c -o dat_udat_libdat2_la-dat_init.lo `test -f 'dat/common/dat_init.c' || echo '$(srcdir)/'`dat/common/dat_init.c
dat_udat_libdat2_la-dat_dr.lo: dat/common/dat_dr.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -MT dat_udat_libdat2_la-dat_dr.lo -MD -MP -MF $(DEPDIR)/dat_udat_libdat2_la-dat_dr.Tpo -c -o dat_udat_libdat2_la-dat_dr.lo `test -f 'dat/common/dat_dr.c' || echo '$(srcdir)/'`dat/common/dat_dr.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dat_udat_libdat2_la-dat_dr.Tpo $(DEPDIR)/dat_udat_libdat2_la-dat_dr.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -MT dat_udat_libdat2_la-dat_dr.lo -MD -MP -MF $(DEPDIR)/dat_udat_libdat2_la-dat_dr.Tpo -c -o dat_udat_libdat2_la-dat_dr.lo `test -f 'dat/common/dat_dr.c' || echo '$(srcdir)/'`dat/common/dat_dr.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dat_udat_libdat2_la-dat_dr.Tpo $(DEPDIR)/dat_udat_libdat2_la-dat_dr.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dat/common/dat_dr.c' object='dat_udat_libdat2_la-dat_dr.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -c -o dat_udat_libdat2_la-dat_dr.lo `test -f 'dat/common/dat_dr.c' || echo '$(srcdir)/'`dat/common/dat_dr.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -c -o dat_udat_libdat2_la-dat_dr.lo `test -f 'dat/common/dat_dr.c' || echo '$(srcdir)/'`dat/common/dat_dr.c
dat_udat_libdat2_la-dat_sr.lo: dat/common/dat_sr.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -MT dat_udat_libdat2_la-dat_sr.lo -MD -MP -MF $(DEPDIR)/dat_udat_libdat2_la-dat_sr.Tpo -c -o dat_udat_libdat2_la-dat_sr.lo `test -f 'dat/common/dat_sr.c' || echo '$(srcdir)/'`dat/common/dat_sr.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dat_udat_libdat2_la-dat_sr.Tpo $(DEPDIR)/dat_udat_libdat2_la-dat_sr.Plo
+ at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -MT dat_udat_libdat2_la-dat_sr.lo -MD -MP -MF $(DEPDIR)/dat_udat_libdat2_la-dat_sr.Tpo -c -o dat_udat_libdat2_la-dat_sr.lo `test -f 'dat/common/dat_sr.c' || echo '$(srcdir)/'`dat/common/dat_sr.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dat_udat_libdat2_la-dat_sr.Tpo $(DEPDIR)/dat_udat_libdat2_la-dat_sr.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dat/common/dat_sr.c' object='dat_udat_libdat2_la-dat_sr.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -c -o dat_udat_libdat2_la-dat_sr.lo `test -f 'dat/common/dat_sr.c' || echo '$(srcdir)/'`dat/common/dat_sr.c
+ at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dat_udat_libdat2_la_CFLAGS) $(CFLAGS) -c -o dat_udat_libdat2_la-dat_sr.lo `test -f 'dat/common/dat_sr.c' || echo '$(srcdir)/'`dat/common/dat_sr.c
mostlyclean-libtool:
-rm -f *.lo
@@ -2951,113 +4295,122 @@ clean-libtool:
distclean-libtool:
-rm -f libtool config.lt
-install-man1: $(man1_MANS) $(man_MANS)
+install-man1: $(man_MANS)
@$(NORMAL_INSTALL)
test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
- @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.1*) list="$$list $$i" ;; \
- esac; \
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ { for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
done; \
- for i in $$list; do \
- if test -f $$i; then file=$$i; \
- else file=$(srcdir)/$$i; fi; \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 1*) ;; \
- *) ext='1' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
- $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
- done
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
uninstall-man1:
@$(NORMAL_UNINSTALL)
- @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.1*) list="$$list $$i" ;; \
- esac; \
- done; \
- for i in $$list; do \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 1*) ;; \
- *) ext='1' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
- rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
- done
-install-man5: $(man5_MANS) $(man_MANS)
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ test -z "$$files" || { \
+ echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
+install-man5: $(man_MANS)
@$(NORMAL_INSTALL)
test -z "$(man5dir)" || $(MKDIR_P) "$(DESTDIR)$(man5dir)"
- @list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.5*) list="$$list $$i" ;; \
- esac; \
+ @list=''; test -n "$(man5dir)" || exit 0; \
+ { for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.5[a-z]*$$/p'; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \
+ fi; \
done; \
- for i in $$list; do \
- if test -f $$i; then file=$$i; \
- else file=$(srcdir)/$$i; fi; \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 5*) ;; \
- *) ext='5' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \
- $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst"; \
- done
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \
+ done; }
+
uninstall-man5:
@$(NORMAL_UNINSTALL)
- @list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.5*) list="$$list $$i" ;; \
- esac; \
- done; \
- for i in $$list; do \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 5*) ;; \
- *) ext='5' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " rm -f '$(DESTDIR)$(man5dir)/$$inst'"; \
- rm -f "$(DESTDIR)$(man5dir)/$$inst"; \
+ @list=''; test -n "$(man5dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.5[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ test -z "$$files" || { \
+ echo " ( cd '$(DESTDIR)$(man5dir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(man5dir)" && rm -f $$files; }
+install-sysconfDATA: $(sysconf_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(sysconfdir)" || $(MKDIR_P) "$(DESTDIR)$(sysconfdir)"
+ @list='$(sysconf_DATA)'; test -n "$(sysconfdir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(sysconfdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(sysconfdir)" || exit $$?; \
done
+
+uninstall-sysconfDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(sysconf_DATA)'; test -n "$(sysconfdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(sysconfdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(sysconfdir)" && rm -f $$files
install-libdatincludeHEADERS: $(libdatinclude_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(libdatincludedir)" || $(MKDIR_P) "$(DESTDIR)$(libdatincludedir)"
- @list='$(libdatinclude_HEADERS)'; for p in $$list; do \
+ @list='$(libdatinclude_HEADERS)'; test -n "$(libdatincludedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(libdatincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(libdatincludedir)/$$f'"; \
- $(libdatincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(libdatincludedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libdatincludedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(libdatincludedir)" || exit $$?; \
done
uninstall-libdatincludeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(libdatinclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(libdatincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(libdatincludedir)/$$f"; \
- done
+ @list='$(libdatinclude_HEADERS)'; test -n "$(libdatincludedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(libdatincludedir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(libdatincludedir)" && rm -f $$files
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
@@ -3066,7 +4419,7 @@ uninstall-libdatincludeHEADERS:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -3083,7 +4436,7 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
@@ -3091,7 +4444,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -3117,16 +4470,16 @@ $(RECURSIVE_CLEAN_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -3141,7 +4494,7 @@ tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
@@ -3153,7 +4506,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
@@ -3162,36 +4515,54 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
+ @list='$(MANS)'; if test -n "$$list"; then \
+ list=`for p in $$list; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
+ if test -n "$$list" && \
+ grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
+ echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+ grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
+ echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
+ echo " typically \`make maintainer-clean' will remove them" >&2; \
+ exit 1; \
+ else :; fi; \
+ else :; fi
$(am__remove_distdir)
- test -d $(distdir) || mkdir $(distdir)
+ test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -3207,29 +4578,44 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -3237,11 +4623,13 @@ distdir: $(DISTFILES)
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" distdir="$(distdir)" \
dist-hook
- -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ -test -n "$(am__skip_mode_fix)" \
+ || find "$(distdir)" -type d ! -perm -755 \
+ -exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
- || chmod -R a+r $(distdir)
+ || chmod -R a+r "$(distdir)"
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
@@ -3254,6 +4642,10 @@ dist-lzma: distdir
tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
$(am__remove_distdir)
+dist-xz: distdir
+ tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+ $(am__remove_distdir)
+
dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
@@ -3277,15 +4669,17 @@ dist dist-all: distdir
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lzma*) \
- unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
+ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+ *.tar.xz*) \
+ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
@@ -3293,9 +4687,11 @@ distcheck: dist
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
chmod a-w $(distdir)
+ test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
- && cd $(distdir)/_build \
+ && am__cwd=`pwd` \
+ && $(am__cd) $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
@@ -3317,13 +4713,15 @@ distcheck: dist
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+ && cd "$$am__cwd" \
+ || exit 1
$(am__remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
- @cd $(distuninstallcheck_dir) \
+ @$(am__cd) '$(distuninstallcheck_dir)' \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
@@ -3342,10 +4740,10 @@ distcleancheck: distclean
exit 1; } >&2
check-am: all-am
check: check-recursive
-all-am: Makefile $(LTLIBRARIES) $(MANS) $(HEADERS) config.h
+all-am: Makefile $(LTLIBRARIES) $(MANS) $(DATA) $(HEADERS) config.h
installdirs: installdirs-recursive
installdirs-am:
- for dir in "$(DESTDIR)$(dapllibofadir)" "$(DESTDIR)$(daplliboscmdir)" "$(DESTDIR)$(datlibdir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(libdatincludedir)"; do \
+ for dir in "$(DESTDIR)$(dapllibofadir)" "$(DESTDIR)$(daplliboscmdir)" "$(DESTDIR)$(daplliboucmdir)" "$(DESTDIR)$(datlibdir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(sysconfdir)" "$(DESTDIR)$(libdatincludedir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
@@ -3368,6 +4766,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-rm -f dapl/udapl/$(am__dirstamp)
-rm -f dat/udat/$(am__dirstamp)
@@ -3377,8 +4776,8 @@ maintainer-clean-generic:
clean: clean-recursive
clean-am: clean-dapllibofaLTLIBRARIES clean-daplliboscmLTLIBRARIES \
- clean-datlibLTLIBRARIES clean-generic clean-libtool \
- mostlyclean-am
+ clean-daplliboucmLTLIBRARIES clean-datlibLTLIBRARIES \
+ clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
@@ -3393,30 +4792,41 @@ dvi-am:
html: html-recursive
+html-am:
+
info: info-recursive
info-am:
install-data-am: install-dapllibofaLTLIBRARIES \
- install-daplliboscmLTLIBRARIES install-datlibLTLIBRARIES \
- install-libdatincludeHEADERS install-man
+ install-daplliboscmLTLIBRARIES install-daplliboucmLTLIBRARIES \
+ install-datlibLTLIBRARIES install-libdatincludeHEADERS \
+ install-man
install-dvi: install-dvi-recursive
-install-exec-am:
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
+install-dvi-am:
+
+install-exec-am: install-sysconfDATA
install-html: install-html-recursive
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man: install-man1 install-man5
install-pdf: install-pdf-recursive
+install-pdf-am:
+
install-ps: install-ps-recursive
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -3440,70 +4850,48 @@ ps: ps-recursive
ps-am:
uninstall-am: uninstall-dapllibofaLTLIBRARIES \
- uninstall-daplliboscmLTLIBRARIES uninstall-datlibLTLIBRARIES \
- uninstall-libdatincludeHEADERS uninstall-man
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) uninstall-hook
+ uninstall-daplliboscmLTLIBRARIES \
+ uninstall-daplliboucmLTLIBRARIES uninstall-datlibLTLIBRARIES \
+ uninstall-libdatincludeHEADERS uninstall-man \
+ uninstall-sysconfDATA
uninstall-man: uninstall-man1 uninstall-man5
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-exec-am install-strip uninstall-am
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
+ ctags-recursive install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am am--refresh check check-am clean \
clean-dapllibofaLTLIBRARIES clean-daplliboscmLTLIBRARIES \
- clean-datlibLTLIBRARIES clean-generic clean-libtool ctags \
- ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-hook \
- dist-lzma dist-shar dist-tarZ dist-zip distcheck distclean \
+ clean-daplliboucmLTLIBRARIES clean-datlibLTLIBRARIES \
+ clean-generic clean-libtool ctags ctags-recursive dist \
+ dist-all dist-bzip2 dist-gzip dist-hook dist-lzma dist-shar \
+ dist-tarZ dist-xz dist-zip distcheck distclean \
distclean-compile distclean-generic distclean-hdr \
distclean-libtool distclean-tags distcleancheck distdir \
distuninstallcheck dvi dvi-am html html-am info info-am \
install install-am install-dapllibofaLTLIBRARIES \
- install-daplliboscmLTLIBRARIES install-data install-data-am \
- install-datlibLTLIBRARIES install-dvi install-dvi-am \
- install-exec install-exec-am install-exec-hook install-html \
- install-html-am install-info install-info-am \
+ install-daplliboscmLTLIBRARIES install-daplliboucmLTLIBRARIES \
+ install-data install-data-am install-datlibLTLIBRARIES \
+ install-dvi install-dvi-am install-exec install-exec-am \
+ install-html install-html-am install-info install-info-am \
install-libdatincludeHEADERS install-man install-man1 \
install-man5 install-pdf install-pdf-am install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs installdirs-am maintainer-clean \
+ install-ps-am install-strip install-sysconfDATA installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags tags-recursive uninstall uninstall-am \
uninstall-dapllibofaLTLIBRARIES \
- uninstall-daplliboscmLTLIBRARIES uninstall-datlibLTLIBRARIES \
- uninstall-hook uninstall-libdatincludeHEADERS uninstall-man \
- uninstall-man1 uninstall-man5
+ uninstall-daplliboscmLTLIBRARIES \
+ uninstall-daplliboucmLTLIBRARIES uninstall-datlibLTLIBRARIES \
+ uninstall-libdatincludeHEADERS uninstall-man uninstall-man1 \
+ uninstall-man5 uninstall-sysconfDATA
dist-hook: dapl.spec
cp dapl.spec $(distdir)
-install-exec-hook:
- if ! test -d $(DESTDIR)$(sysconfdir); then \
- mkdir -p $(DESTDIR)$(sysconfdir); \
- fi; \
- if test -e $(DESTDIR)$(sysconfdir)/dat.conf; then \
- sed -e '/ofa-v2-.* u2/d' < $(DESTDIR)$(sysconfdir)/dat.conf > /tmp/$$$$ofadapl; \
- cp /tmp/$$$$ofadapl $(DESTDIR)$(sysconfdir)/dat.conf; \
- fi; \
- echo ofa-v2-ib0 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 '"ib0 0" ""' >> $(DESTDIR)$(sysconfdir)/dat.conf; \
- echo ofa-v2-ib1 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 '"ib1 0" ""' >> $(DESTDIR)$(sysconfdir)/dat.conf; \
- echo ofa-v2-mthca0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"mthca0 1" ""' >> $(DESTDIR)$(sysconfdir)/dat.conf; \
- echo ofa-v2-mthca0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"mthca0 2" ""' >> $(DESTDIR)$(sysconfdir)/dat.conf; \
- echo ofa-v2-mlx4_0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"mlx4_0 1" ""' >> $(DESTDIR)$(sysconfdir)/dat.conf; \
- echo ofa-v2-mlx4_0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"mlx4_0 2" ""' >> $(DESTDIR)$(sysconfdir)/dat.conf; \
- echo ofa-v2-ipath0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"ipath0 1" ""' >> $(DESTDIR)$(sysconfdir)/dat.conf; \
- echo ofa-v2-ipath0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"ipath0 2" ""' >> $(DESTDIR)$(sysconfdir)/dat.conf; \
- echo ofa-v2-ehca0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"ehca0 1" ""' >> $(DESTDIR)$(sysconfdir)/dat.conf; \
- echo ofa-v2-iwarp u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 '"eth2 0" ""' >> $(DESTDIR)$(sysconfdir)/dat.conf;
-
-uninstall-hook:
- if test -e $(DESTDIR)$(sysconfdir)/dat.conf; then \
- sed -e '/ofa-v2-.* u2/d' < $(DESTDIR)$(sysconfdir)/dat.conf > /tmp/$$$$ofadapl; \
- cp /tmp/$$$$ofadapl $(DESTDIR)$(sysconfdir)/dat.conf; \
- fi;
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/NEWS b/NEWS
deleted file mode 100644
index e69de29..0000000
diff --git a/aclocal.m4 b/aclocal.m4
index e7ebfd5..ba9badf 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.10.2 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -2485,10 +2485,13 @@ linux* | k*bsd*-gnu)
# before this can be enabled.
hardcode_into_libs=yes
+ # Add ABI-specific directories to the system library path.
+ sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -2500,18 +2503,6 @@ linux* | k*bsd*-gnu)
dynamic_linker='GNU/Linux ld.so'
;;
-netbsdelf*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='NetBSD ld.elf_so'
- ;;
-
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -3103,7 +3094,7 @@ linux* | k*bsd*-gnu)
lt_cv_deplibs_check_method=pass_all
;;
-netbsd* | netbsdelf*-gnu)
+netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
else
@@ -3784,7 +3775,7 @@ m4_if([$1], [CXX], [
;;
esac
;;
- netbsd* | netbsdelf*-gnu)
+ netbsd*)
;;
*qnx* | *nto*)
# QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -4209,9 +4200,6 @@ m4_if([$1], [CXX], [
cygwin* | mingw* | cegcc*)
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
;;
- linux* | k*bsd*-gnu)
- _LT_TAGVAR(link_all_deplibs, $1)=no
- ;;
*)
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
;;
@@ -4276,9 +4264,6 @@ dnl Note also adjust exclude_expsyms for C++ above.
openbsd*)
with_gnu_ld=no
;;
- linux* | k*bsd*-gnu)
- _LT_TAGVAR(link_all_deplibs, $1)=no
- ;;
esac
_LT_TAGVAR(ld_shlibs, $1)=yes
@@ -4461,7 +4446,7 @@ _LT_EOF
fi
;;
- netbsd* | netbsdelf*-gnu)
+ netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
@@ -4636,7 +4621,6 @@ _LT_EOF
if test "$aix_use_runtimelinking" = yes; then
shared_flag="$shared_flag "'${wl}-G'
fi
- _LT_TAGVAR(link_all_deplibs, $1)=no
else
# not using gcc
if test "$host_cpu" = ia64; then
@@ -4875,7 +4859,7 @@ _LT_EOF
_LT_TAGVAR(link_all_deplibs, $1)=yes
;;
- netbsd* | netbsdelf*-gnu)
+ netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
@@ -7878,15 +7862,15 @@ m4_define([lt_dict_filter],
# Generated from ltversion.in.
-# serial 3012 ltversion.m4
+# serial 3017 ltversion.m4
# This file is part of GNU Libtool
-m4_define([LT_PACKAGE_VERSION], [2.2.6])
-m4_define([LT_PACKAGE_REVISION], [1.3012])
+m4_define([LT_PACKAGE_VERSION], [2.2.6b])
+m4_define([LT_PACKAGE_REVISION], [1.3017])
AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.2.6'
-macro_revision='1.3012'
+[macro_version='2.2.6b'
+macro_revision='1.3017'
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
_LT_DECL(, macro_revision, 0)
])
@@ -7996,10 +7980,10 @@ m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.10'
+[am__api_version='1.11'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.10.2], [],
+m4_if([$1], [1.11.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -8015,7 +7999,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.10.2])dnl
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -8075,14 +8059,14 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 8
+# serial 9
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
@@ -8095,6 +8079,7 @@ AC_SUBST([$1_TRUE])dnl
AC_SUBST([$1_FALSE])dnl
_AM_SUBST_NOTMAKE([$1_TRUE])dnl
_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
if $2; then
$1_TRUE=
$1_FALSE='#'
@@ -8108,14 +8093,14 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 9
+# serial 10
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
@@ -8172,6 +8157,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
fi
+ am__universal=false
+ m4_case([$1], [CC],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac],
+ [CXX],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac])
+
for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and
@@ -8189,7 +8184,17 @@ AC_CACHE_CHECK([dependency style of $depcc],
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
nosideeffect)
# after this tag, mechanisms are not by side-effect, so they'll
# only be used when explicitly requested
@@ -8199,19 +8204,23 @@ AC_CACHE_CHECK([dependency style of $depcc],
break
fi
;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
none) break ;;
esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ source=sub/conftest.c object=$am__obj \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
>/dev/null 2>conftest.err &&
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings
# or remarks (even with -Werror). So we grep stderr for any message
@@ -8275,59 +8284,61 @@ _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-#serial 4
+#serial 5
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[# Autoconf 2.62 quotes --file arguments for eval, but not when files
-# are listed without --file. Let's play safe and only enable the eval
-# if we detect the quoting.
-case $CONFIG_FILES in
-*\'*) eval set x "$CONFIG_FILES" ;;
-*) set x $CONFIG_FILES ;;
-esac
-shift
-for mf
-do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
+[{
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
done
-done
+}
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
@@ -8359,13 +8370,13 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
# Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008 Free Software Foundation, Inc.
+# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 13
+# serial 16
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
@@ -8382,7 +8393,7 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.60])dnl
+[AC_PREREQ([2.62])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -8433,8 +8444,8 @@ AM_MISSING_PROG(AUTOCONF, autoconf)
AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
AM_MISSING_PROG(AUTOHEADER, autoheader)
AM_MISSING_PROG(MAKEINFO, makeinfo)
-AM_PROG_INSTALL_SH
-AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
AC_REQUIRE([AM_PROG_MKDIR_P])dnl
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
@@ -8442,24 +8453,37 @@ AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
_AM_IF_OPTION([no-dependencies],,
[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
AC_PROVIDE_IFELSE([AC_PROG_OBJC],
- [_AM_DEPENDENCIES(OBJC)],
- [define([AC_PROG_OBJC],
- defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+ [_AM_DEPENDENCIES(OBJC)],
+ [define([AC_PROG_OBJC],
+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
])
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
])
+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
@@ -8482,7 +8506,7 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -8493,7 +8517,14 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co
# Define $install_sh.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
AC_SUBST(install_sh)])
# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
@@ -8519,13 +8550,13 @@ AC_SUBST([am__leading_dot])])
# Check to see how 'make' treats includes. -*- Autoconf -*-
-# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 3
+# serial 4
# AM_MAKE_INCLUDE()
# -----------------
@@ -8534,7 +8565,7 @@ AC_DEFUN([AM_MAKE_INCLUDE],
[am_make=${MAKE-make}
cat > confinc << 'END'
am__doit:
- @echo done
+ @echo this is the am__doit target
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
@@ -8544,24 +8575,24 @@ am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
- am__include=include
- am__quote=
- _am_result=GNU
-fi
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
# Now try BSD make style include.
if test "$am__include" = "#"; then
echo '.include "confinc"' > confmf
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
- am__include=.include
- am__quote="\""
- _am_result=BSD
- fi
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
fi
AC_SUBST([am__include])
AC_SUBST([am__quote])
@@ -8571,14 +8602,14 @@ rm -f confinc confmf
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 5
+# serial 6
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
@@ -8595,7 +8626,14 @@ AC_SUBST($1)])
AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([missing])dnl
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
# Use eval to expand $SHELL
if eval "$MISSING --run true"; then
am_missing_run="$MISSING --run "
@@ -8666,14 +8704,14 @@ AC_DEFUN([_AM_IF_OPTION],
# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 4
+# serial 5
# AM_SANITY_CHECK
# ---------------
@@ -8682,16 +8720,29 @@ AC_DEFUN([AM_SANITY_CHECK],
# Just in case
sleep 1
echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
+ AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+esac
+
# Do `set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
if test "$[*]" = "X"; then
# -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
+ set X `ls -t "$srcdir/configure" conftest.file`
fi
rm -f conftest.file
if test "$[*]" != "X $srcdir/configure conftest.file" \
@@ -8744,18 +8795,25 @@ fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
+# serial 2
+
# _AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
# This macro is traced by Automake.
AC_DEFUN([_AM_SUBST_NOTMAKE])
+# AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
# Check how to create a tarball. -*- Autoconf -*-
# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
diff --git a/config.h.in b/config.h.in
index b337116..fc90317 100644
--- a/config.h.in
+++ b/config.h.in
@@ -1,14 +1,23 @@
/* config.h.in. Generated from configure.in by autoheader. */
+/* set to 1 to use IB ACM services */
+#undef DAPL_USE_IBACM
+
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
+/* Define to 1 if you have the `fca' library (-lfca). */
+#undef HAVE_LIBFCA
+
/* Define to 1 if you have the `ibverbs' library (-libverbs). */
#undef HAVE_LIBIBVERBS
+/* Define to 1 if you have the `mverbs' library (-lmverbs). */
+#undef HAVE_LIBMVERBS
+
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
diff --git a/config/compile b/config/compile
deleted file mode 100755
index 1b1d232..0000000
--- a/config/compile
+++ /dev/null
@@ -1,142 +0,0 @@
-#! /bin/sh
-# Wrapper for compilers which do not understand `-c -o'.
-
-scriptversion=2005-05-14.22
-
-# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
-# Written by Tom Tromey <tromey at cygnus.com>.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# This file is maintained in Automake, please report
-# bugs to <bug-automake at gnu.org> or send patches to
-# <automake-patches at gnu.org>.
-
-case $1 in
- '')
- echo "$0: No command. Try \`$0 --help' for more information." 1>&2
- exit 1;
- ;;
- -h | --h*)
- cat <<\EOF
-Usage: compile [--help] [--version] PROGRAM [ARGS]
-
-Wrapper for compilers which do not understand `-c -o'.
-Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
-arguments, and rename the output as expected.
-
-If you are trying to build a whole package this is not the
-right script to run: please start by reading the file `INSTALL'.
-
-Report bugs to <bug-automake at gnu.org>.
-EOF
- exit $?
- ;;
- -v | --v*)
- echo "compile $scriptversion"
- exit $?
- ;;
-esac
-
-ofile=
-cfile=
-eat=
-
-for arg
-do
- if test -n "$eat"; then
- eat=
- else
- case $1 in
- -o)
- # configure might choose to run compile as `compile cc -o foo foo.c'.
- # So we strip `-o arg' only if arg is an object.
- eat=1
- case $2 in
- *.o | *.obj)
- ofile=$2
- ;;
- *)
- set x "$@" -o "$2"
- shift
- ;;
- esac
- ;;
- *.c)
- cfile=$1
- set x "$@" "$1"
- shift
- ;;
- *)
- set x "$@" "$1"
- shift
- ;;
- esac
- fi
- shift
-done
-
-if test -z "$ofile" || test -z "$cfile"; then
- # If no `-o' option was seen then we might have been invoked from a
- # pattern rule where we don't need one. That is ok -- this is a
- # normal compilation that the losing compiler can handle. If no
- # `.c' file was seen then we are probably linking. That is also
- # ok.
- exec "$@"
-fi
-
-# Name of file we expect compiler to create.
-cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
-
-# Create the lock directory.
-# Note: use `[/.-]' here to ensure that we don't use the same name
-# that we are using for the .o file. Also, base the name on the expected
-# object file name, since that is what matters with a parallel build.
-lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
-while true; do
- if mkdir "$lockdir" >/dev/null 2>&1; then
- break
- fi
- sleep 1
-done
-# FIXME: race condition here if user kills between mkdir and trap.
-trap "rmdir '$lockdir'; exit 1" 1 2 15
-
-# Run the compile.
-"$@"
-ret=$?
-
-if test -f "$cofile"; then
- mv "$cofile" "$ofile"
-elif test -f "${cofile}bj"; then
- mv "${cofile}bj" "$ofile"
-fi
-
-rmdir "$lockdir"
-exit $ret
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
diff --git a/config/config.guess b/config/config.guess
index 2fc3acc..dc84c68 100755
--- a/config/config.guess
+++ b/config/config.guess
@@ -1,9 +1,10 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+# Free Software Foundation, Inc.
-timestamp='2003-06-17'
+timestamp='2009-11-20'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -17,23 +18,25 @@ timestamp='2003-06-17'
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
-# Originally written by Per Bothner <per at bothner.com>.
-# Please send patches to <config-patches at gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
+
+# Originally written by Per Bothner. Please send patches (context
+# diff format) to <config-patches at gnu.org> and include a ChangeLog
+# entry.
#
# This script attempts to guess a canonical system name similar to
# config.sub. If it succeeds, it prints the system name on stdout, and
# exits with 0. Otherwise, it exits with 1.
#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit build system type.
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
me=`echo "$0" | sed -e 's,.*/,,'`
@@ -53,8 +56,8 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -66,11 +69,11 @@ Try \`$me --help' for more information."
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
- echo "$timestamp" ; exit 0 ;;
+ echo "$timestamp" ; exit ;;
--version | -v )
- echo "$version" ; exit 0 ;;
+ echo "$version" ; exit ;;
--help | --h* | -h )
- echo "$usage"; exit 0 ;;
+ echo "$usage"; exit ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
@@ -104,7 +107,7 @@ set_cc_for_build='
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
@@ -123,7 +126,7 @@ case $CC_FOR_BUILD,$HOST_CC,$CC in
;;
,,*) CC_FOR_BUILD=$CC ;;
,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ;'
+esac ; set_cc_for_build= ;'
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi at noc.rutgers.edu 1994-08-24)
@@ -136,13 +139,6 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-## for Red Hat Linux
-if test -f /etc/redhat-release ; then
- VENDOR=redhat ;
-else
- VENDOR= ;
-fi
-
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
@@ -165,6 +161,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
@@ -173,7 +170,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep __ELF__ >/dev/null
+ | grep -q __ELF__
then
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
# Return netbsd for either. FIX?
@@ -203,50 +200,32 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
echo "${machine}-${os}${release}"
- exit 0 ;;
- amiga:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- arc:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- hp300:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mac68k:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- macppc:OpenBSD:*:*)
- echo powerpc-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvme68k:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvme88k:OpenBSD:*:*)
- echo m88k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvmeppc:OpenBSD:*:*)
- echo powerpc-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- pmax:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- sgi:OpenBSD:*:*)
- echo mipseb-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- sun3:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- wgrisc:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:OpenBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+ exit ;;
+ *:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ exit ;;
+ *:SolidBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ exit ;;
+ macppc:MirBSD:*:*)
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ *:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
alpha:OSF1:*:*)
- if test $UNAME_RELEASE = "V4.0"; then
+ case $UNAME_RELEASE in
+ *4.0)
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
- fi
+ ;;
+ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
# According to Compaq, /usr/sbin/psrinfo has been available on
# OSF/1 and Tru64 systems produced since 1995. I hope that
# covers most systems running today. This code pipes the CPU
@@ -284,42 +263,49 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
"EV7.9 (21364A)")
UNAME_MACHINE="alphaev79" ;;
esac
+ # A Pn.n version is a patched version.
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- exit 0 ;;
- Alpha*:OpenVMS:*:*)
- echo alpha-hp-vms
- exit 0 ;;
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ exit ;;
Alpha\ *:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# Should we change UNAME_MACHINE based on the output of uname instead
# of the specific Alpha model?
echo alpha-pc-interix
- exit 0 ;;
+ exit ;;
21064:Windows_NT:50:3)
echo alpha-dec-winnt3.5
- exit 0 ;;
+ exit ;;
Amiga*:UNIX_System_V:4.0:*)
echo m68k-unknown-sysv4
- exit 0;;
+ exit ;;
*:[Aa]miga[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-amigaos
- exit 0 ;;
+ exit ;;
*:[Mm]orph[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-morphos
- exit 0 ;;
+ exit ;;
*:OS/390:*:*)
echo i370-ibm-openedition
- exit 0 ;;
+ exit ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+ exit ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
- exit 0;;
+ exit ;;
+ arm:riscos:*:*|arm:RISCOS:*:*)
+ echo arm-unknown-riscos
+ exit ;;
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
- exit 0;;
+ exit ;;
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
# akee at wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if test "`(/bin/universe) 2>/dev/null`" = att ; then
@@ -327,32 +313,51 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
else
echo pyramid-pyramid-bsd
fi
- exit 0 ;;
+ exit ;;
NILE*:*:*:dcosx)
echo pyramid-pyramid-svr4
- exit 0 ;;
+ exit ;;
DRS?6000:unix:4.0:6*)
echo sparc-icl-nx6
- exit 0 ;;
- DRS?6000:UNIX_SV:4.2*:7*)
+ exit ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
case `/usr/bin/uname -p` in
- sparc) echo sparc-icl-nx7 && exit 0 ;;
+ sparc) echo sparc-icl-nx7; exit ;;
esac ;;
+ s390x:SunOS:*:*)
+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
sun4H:SunOS:5.*:*)
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ exit ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- i86pc:SunOS:5.*:*)
- echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ exit ;;
+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+ echo i386-pc-auroraux${UNAME_RELEASE}
+ exit ;;
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+ eval $set_cc_for_build
+ SUN_ARCH="i386"
+ # If there is a compiler, see if it is configured for 64-bit objects.
+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+ # This test works for both compilers.
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ SUN_ARCH="x86_64"
+ fi
+ fi
+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ exit ;;
sun4*:SunOS:*:*)
case "`/usr/bin/arch -k`" in
Series*|S4*)
@@ -361,10 +366,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
- exit 0 ;;
+ exit ;;
sun3*:SunOS:*:*)
echo m68k-sun-sunos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
@@ -376,10 +381,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
echo sparc-sun-sunos${UNAME_RELEASE}
;;
esac
- exit 0 ;;
+ exit ;;
aushp:SunOS:*:*)
echo sparc-auspex-sunos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
# "atarist" or "atariste" at least should have a processor
@@ -390,37 +395,40 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
echo m68k-milan-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
echo m68k-hades-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
echo m68k-unknown-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+ exit ;;
powerpc:machten:*:*)
echo powerpc-apple-machten${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
RISC*:Mach:*:*)
echo mips-dec-mach_bsd4.3
- exit 0 ;;
+ exit ;;
RISC*:ULTRIX:*:*)
echo mips-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
2020:CLIX:*:* | 2430:CLIX:*:*)
echo clipper-intergraph-clix${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
@@ -444,32 +452,33 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
exit (-1);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c \
- && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
- && exit 0
+ $CC_FOR_BUILD -o $dummy $dummy.c &&
+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`$dummy $dummyarg` &&
+ { echo "$SYSTEM_NAME"; exit; }
echo mips-mips-riscos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
Motorola:PowerMAX_OS:*:*)
echo powerpc-motorola-powermax
- exit 0 ;;
+ exit ;;
Motorola:*:4.3:PL8-*)
echo powerpc-harris-powermax
- exit 0 ;;
+ exit ;;
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
echo powerpc-harris-powermax
- exit 0 ;;
+ exit ;;
Night_Hawk:Power_UNIX:*:*)
echo powerpc-harris-powerunix
- exit 0 ;;
+ exit ;;
m88k:CX/UX:7*:*)
echo m88k-harris-cxux7
- exit 0 ;;
+ exit ;;
m88k:*:4*:R4*)
echo m88k-motorola-sysv4
- exit 0 ;;
+ exit ;;
m88k:*:3*:R3*)
echo m88k-motorola-sysv3
- exit 0 ;;
+ exit ;;
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
@@ -485,29 +494,29 @@ EOF
else
echo i586-dg-dgux${UNAME_RELEASE}
fi
- exit 0 ;;
+ exit ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
- exit 0 ;;
+ exit ;;
M88*:*:R3*:*)
# Delta 88k system running SVR3
echo m88k-motorola-sysv3
- exit 0 ;;
+ exit ;;
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
echo m88k-tektronix-sysv3
- exit 0 ;;
+ exit ;;
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
echo m68k-tektronix-bsd
- exit 0 ;;
+ exit ;;
*:IRIX*:*:*)
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
- exit 0 ;;
+ exit ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
i*86:AIX:*:*)
echo i386-ibm-aix
- exit 0 ;;
+ exit ;;
ia64:AIX:*:*)
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
@@ -515,7 +524,7 @@ EOF
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
- exit 0 ;;
+ exit ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
eval $set_cc_for_build
@@ -530,15 +539,19 @@ EOF
exit(0);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
- echo rs6000-ibm-aix3.2.5
+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ then
+ echo "$SYSTEM_NAME"
+ else
+ echo rs6000-ibm-aix3.2.5
+ fi
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
echo rs6000-ibm-aix3.2.4
else
echo rs6000-ibm-aix3.2
fi
- exit 0 ;;
- *:AIX:*:[45])
+ exit ;;
+ *:AIX:*:[456])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
@@ -551,28 +564,28 @@ EOF
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit 0 ;;
+ exit ;;
*:AIX:*:*)
echo rs6000-ibm-aix
- exit 0 ;;
+ exit ;;
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
echo romp-ibm-bsd4.4
- exit 0 ;;
+ exit ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
- exit 0 ;; # report: romp-ibm BSD 4.3
+ exit ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
echo rs6000-bull-bosx
- exit 0 ;;
+ exit ;;
DPX/2?00:B.O.S.:*:*)
echo m68k-bull-sysv3
- exit 0 ;;
+ exit ;;
9000/[34]??:4.3bsd:1.*:*)
echo m68k-hp-bsd
- exit 0 ;;
+ exit ;;
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
echo m68k-hp-bsd4.4
- exit 0 ;;
+ exit ;;
9000/[34678]??:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
case "${UNAME_MACHINE}" in
@@ -634,9 +647,19 @@ EOF
esac
if [ ${HP_ARCH} = "hppa2.0w" ]
then
- # avoid double evaluation of $set_cc_for_build
- test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
+ eval $set_cc_for_build
+
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
+ # generating 64-bit code. GNU and HP use different nomenclature:
+ #
+ # $ CC_FOR_BUILD=cc ./config.guess
+ # => hppa2.0w-hp-hpux11.23
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ grep -q __LP64__
then
HP_ARCH="hppa2.0w"
else
@@ -644,11 +667,11 @@ EOF
fi
fi
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit 0 ;;
+ exit ;;
ia64:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
echo ia64-hp-hpux${HPUX_REV}
- exit 0 ;;
+ exit ;;
3050*:HI-UX:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
@@ -676,208 +699,248 @@ EOF
exit (0);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
echo unknown-hitachi-hiuxwe2
- exit 0 ;;
+ exit ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
echo hppa1.1-hp-bsd
- exit 0 ;;
+ exit ;;
9000/8??:4.3bsd:*:*)
echo hppa1.0-hp-bsd
- exit 0 ;;
+ exit ;;
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
echo hppa1.0-hp-mpeix
- exit 0 ;;
+ exit ;;
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
echo hppa1.1-hp-osf
- exit 0 ;;
+ exit ;;
hp8??:OSF1:*:*)
echo hppa1.0-hp-osf
- exit 0 ;;
+ exit ;;
i*86:OSF1:*:*)
if [ -x /usr/sbin/sysversion ] ; then
echo ${UNAME_MACHINE}-unknown-osf1mk
else
echo ${UNAME_MACHINE}-unknown-osf1
fi
- exit 0 ;;
+ exit ;;
parisc*:Lites*:*:*)
echo hppa1.1-hp-lites
- exit 0 ;;
+ exit ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
- exit 0 ;;
+ exit ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
- exit 0 ;;
+ exit ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
echo c34-convex-bsd
- exit 0 ;;
+ exit ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
echo c38-convex-bsd
- exit 0 ;;
+ exit ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
echo c4-convex-bsd
- exit 0 ;;
+ exit ;;
CRAY*Y-MP:*:*:*)
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ exit ;;
CRAY*[A-Z]90:*:*:*)
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ exit ;;
CRAY*TS:*:*:*)
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ exit ;;
CRAY*T3E:*:*:*)
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ exit ;;
CRAY*SV1:*:*:*)
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ exit ;;
*:UNICOS/mp:*:*)
- echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit 0 ;;
+ exit ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
sparc*:BSD/OS:*:*)
echo sparc-unknown-bsdi${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:BSD/OS:*:*)
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
- exit 0 ;;
- *:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
- # Determine whether the default compiler uses glibc.
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <features.h>
- #if __GLIBC__ >= 2
- LIBC=gnu
- #else
- LIBC=
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
- exit 0 ;;
+ exit ;;
+ *:FreeBSD:*:*)
+ case ${UNAME_MACHINE} in
+ pc98)
+ echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ amd64)
+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ *)
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ esac
+ exit ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
- exit 0 ;;
- i*:MINGW*:*)
+ exit ;;
+ *:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
- exit 0 ;;
+ exit ;;
+ i*:windows32*:*)
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
+ exit ;;
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
- exit 0 ;;
- x86:Interix*:[34]*)
- echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
- exit 0 ;;
+ exit ;;
+ *:Interix*:*)
+ case ${UNAME_MACHINE} in
+ x86)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+ authenticamd | genuineintel | EM64T)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ IA64)
+ echo ia64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ esac ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
- exit 0 ;;
+ exit ;;
+ 8664:Windows_NT:*)
+ echo x86_64-pc-mks
+ exit ;;
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
# UNAME_MACHINE based on the output of uname instead of i386?
echo i586-pc-interix
- exit 0 ;;
+ exit ;;
i*:UWIN*:*)
echo ${UNAME_MACHINE}-pc-uwin
- exit 0 ;;
+ exit ;;
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+ echo x86_64-unknown-cygwin
+ exit ;;
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin
- exit 0 ;;
+ exit ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ exit ;;
*:GNU:*:*)
+ # the GNU system
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit 0 ;;
+ exit ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ exit ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
- exit 0 ;;
+ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep -q ld.so.1
+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ exit ;;
arm*:Linux:*:*)
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ fi
+ exit ;;
+ avr32*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
cris:Linux:*:*)
echo cris-axis-linux-gnu
- exit 0 ;;
- ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-${VENDOR:-unknown}-linux-gnu
- exit 0 ;;
- m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- mips:Linux:*:*)
+ exit ;;
+ crisv32:Linux:*:*)
+ echo crisv32-axis-linux-gnu
+ exit ;;
+ frv:Linux:*:*)
+ echo frv-unknown-linux-gnu
+ exit ;;
+ i*86:Linux:*:*)
+ LIBC=gnu
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef mips
- #undef mipsel
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mipsel
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips
- #else
- CPU=
- #endif
+ #ifdef __dietlibc__
+ LIBC=dietlibc
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
- test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
- ;;
- mips64:Linux:*:*)
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ exit ;;
+ ia64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m32r*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m68*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ mips:Linux:*:* | mips64:Linux:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#undef CPU
- #undef mips64
- #undef mips64el
+ #undef ${UNAME_MACHINE}
+ #undef ${UNAME_MACHINE}el
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mips64el
+ CPU=${UNAME_MACHINE}el
#else
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips64
+ CPU=${UNAME_MACHINE}
#else
CPU=
#endif
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
- test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
- ppc:Linux:*:*)
- echo powerpc-${VENDOR:-unknown}-linux-gnu
- exit 0 ;;
- ppc64:Linux:*:*)
- echo powerpc64-${VENDOR:-unknown}-linux-gnu
- exit 0 ;;
- alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
- EV5) UNAME_MACHINE=alphaev5 ;;
- EV56) UNAME_MACHINE=alphaev56 ;;
- PCA56) UNAME_MACHINE=alphapca56 ;;
- PCA57) UNAME_MACHINE=alphapca56 ;;
- EV6) UNAME_MACHINE=alphaev6 ;;
- EV67) UNAME_MACHINE=alphaev67 ;;
- EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
- objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
- exit 0 ;;
+ or32:Linux:*:*)
+ echo or32-unknown-linux-gnu
+ exit ;;
+ padre:Linux:*:*)
+ echo sparc-unknown-linux-gnu
+ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-gnu
+ exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
@@ -885,84 +948,40 @@ EOF
PA8*) echo hppa2.0-unknown-linux-gnu ;;
*) echo hppa-unknown-linux-gnu ;;
esac
- exit 0 ;;
- parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-gnu
+ exit ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-gnu
+ exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-${VENDOR:-ibm}-linux-gnu
- exit 0 ;;
+ echo ${UNAME_MACHINE}-ibm-linux
+ exit ;;
sh64*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
sh*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-gnu
+ exit ;;
x86_64:Linux:*:*)
- echo x86_64-${VENDOR:-unknown}-linux-gnu
- exit 0 ;;
- i*86:Linux:*:*)
- # The BFD linker knows what the default object file format is, so
- # first see if it will tell us. cd to the root directory to prevent
- # problems with other programs or directories called `ld' in the path.
- # Set LC_ALL=C to ensure ld outputs messages in English.
- ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
- | sed -ne '/supported targets:/!d
- s/[ ][ ]*/ /g
- s/.*supported targets: *//
- s/ .*//
- p'`
- case "$ld_supported_targets" in
- elf32-i386)
- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
- ;;
- a.out-i386-linux)
- echo "${UNAME_MACHINE}-pc-linux-gnuaout"
- exit 0 ;;
- coff-i386)
- echo "${UNAME_MACHINE}-pc-linux-gnucoff"
- exit 0 ;;
- "")
- # Either a pre-BFD a.out linker (linux-gnuoldld) or
- # one that does not give us useful --help.
- echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
- exit 0 ;;
- esac
- # Determine whether the default compiler is a.out or elf
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <features.h>
- #ifdef __ELF__
- # ifdef __GLIBC__
- # if __GLIBC__ >= 2
- LIBC=gnu
- # else
- LIBC=gnulibc1
- # endif
- # else
- LIBC=gnulibc1
- # endif
- #else
- #ifdef __INTEL_COMPILER
- LIBC=gnu
- #else
- LIBC=gnuaout
- #endif
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
- test x"${LIBC}" != x && echo "${UNAME_MACHINE}-${VENDOR:-pc}-linux-${LIBC}" && exit 0
- test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
- ;;
+ echo x86_64-unknown-linux-gnu
+ exit ;;
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
# earlier versions are messed up and put the nodename in both
# sysname and nodename.
echo i386-sequent-sysv4
- exit 0 ;;
+ exit ;;
i*86:UNIX_SV:4.2MP:2.*)
# Unixware is an offshoot of SVR4, but it has its own version
# number series starting with 2...
@@ -970,24 +989,27 @@ EOF
# I just have to hope. -- rms.
# Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
- exit 0 ;;
+ exit ;;
i*86:OS/2:*:*)
# If we were able to find `uname', then EMX Unix compatibility
# is probably installed.
echo ${UNAME_MACHINE}-pc-os2-emx
- exit 0 ;;
+ exit ;;
i*86:XTS-300:*:STOP)
echo ${UNAME_MACHINE}-unknown-stop
- exit 0 ;;
+ exit ;;
i*86:atheos:*:*)
echo ${UNAME_MACHINE}-unknown-atheos
- exit 0 ;;
- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+ exit ;;
+ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+ exit ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
i*86:*DOS:*:*)
echo ${UNAME_MACHINE}-pc-msdosdjgpp
- exit 0 ;;
+ exit ;;
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
@@ -995,15 +1017,16 @@ EOF
else
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
fi
- exit 0 ;;
- i*86:*:5:[78]*)
+ exit ;;
+ i*86:*:5:[678]*)
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
case `/bin/uname -X | grep "^Machine"` in
*486*) UNAME_MACHINE=i486 ;;
*Pentium) UNAME_MACHINE=i586 ;;
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
esac
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
- exit 0 ;;
+ exit ;;
i*86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
@@ -1021,73 +1044,86 @@ EOF
else
echo ${UNAME_MACHINE}-pc-sysv32
fi
- exit 0 ;;
+ exit ;;
pc:*:*:*)
# Left here for compatibility:
# uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i386.
- echo i386-pc-msdosdjgpp
- exit 0 ;;
+ # the processor, so we play safe by assuming i586.
+ # Note: whatever this is, it MUST be the same as what config.sub
+ # prints for the "djgpp" host, or else GDB configury will decide that
+ # this is a cross-build.
+ echo i586-pc-msdosdjgpp
+ exit ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
- exit 0 ;;
+ exit ;;
paragon:*:*:*)
echo i860-intel-osf1
- exit 0 ;;
+ exit ;;
i860:*:4.*:*) # i860-SVR4
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
else # Add other i860-SVR4 vendors below as they are discovered.
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
fi
- exit 0 ;;
+ exit ;;
mini*:CTIX:SYS*5:*)
# "miniframe"
echo m68010-convergent-sysv
- exit 0 ;;
+ exit ;;
mc68k:UNIX:SYSTEM5:3.51m)
echo m68k-convergent-sysv
- exit 0 ;;
+ exit ;;
M680?0:D-NIX:5.3:*)
echo m68k-diab-dnix
- exit 0 ;;
- M68*:*:R3V[567]*:*)
- test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
- 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
+ exit ;;
+ M68*:*:R3V[5678]*:*)
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
OS_REL=''
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4.3${OS_REL} && exit 0
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4 && exit 0 ;;
+ && { echo i486-ncr-sysv4; exit; } ;;
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ OS_REL='.3'
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
echo m68k-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4
- exit 0 ;;
+ exit ;;
TSUNAMI:LynxOS:2.*:*)
echo sparc-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
rs6000:LynxOS:2.*:*)
echo rs6000-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+ exit ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
echo powerpc-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
SM[BE]S:UNIX_SV:*:*)
echo mips-dde-sysv${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
RM*:ReliantUNIX-*:*:*)
echo mips-sni-sysv4
- exit 0 ;;
+ exit ;;
RM*:SINIX-*:*:*)
echo mips-sni-sysv4
- exit 0 ;;
+ exit ;;
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
@@ -1095,68 +1131,94 @@ EOF
else
echo ns32k-sni-sysv
fi
- exit 0 ;;
+ exit ;;
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
# says <Richard.M.Bartel at ccMail.Census.GOV>
echo i586-unisys-sysv4
- exit 0 ;;
+ exit ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes <hewes at openmarket.com>.
# How about differentiating between stratus architectures? -djm
echo hppa1.1-stratus-sysv4
- exit 0 ;;
+ exit ;;
*:*:*:FTX*)
# From seanf at swdc.stratus.com.
echo i860-stratus-sysv4
- exit 0 ;;
+ exit ;;
+ i*86:VOS:*:*)
+ # From Paul.Green at stratus.com.
+ echo ${UNAME_MACHINE}-stratus-vos
+ exit ;;
*:VOS:*:*)
# From Paul.Green at stratus.com.
echo hppa1.1-stratus-vos
- exit 0 ;;
+ exit ;;
mc68*:A/UX:*:*)
echo m68k-apple-aux${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
news*:NEWS-OS:6*:*)
echo mips-sony-newsos6
- exit 0 ;;
+ exit ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
echo mips-nec-sysv${UNAME_RELEASE}
else
echo mips-unknown-sysv${UNAME_RELEASE}
fi
- exit 0 ;;
+ exit ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
echo powerpc-be-beos
- exit 0 ;;
+ exit ;;
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
echo powerpc-apple-beos
- exit 0 ;;
+ exit ;;
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
echo i586-pc-beos
- exit 0 ;;
+ exit ;;
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
+ echo i586-pc-haiku
+ exit ;;
SX-4:SUPER-UX:*:*)
echo sx4-nec-superux${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
SX-5:SUPER-UX:*:*)
echo sx5-nec-superux${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
SX-6:SUPER-UX:*:*)
echo sx6-nec-superux${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
+ SX-7:SUPER-UX:*:*)
+ echo sx7-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8:SUPER-UX:*:*)
+ echo sx8-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8R:SUPER-UX:*:*)
+ echo sx8r-nec-superux${UNAME_RELEASE}
+ exit ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:Rhapsody:*:*)
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:Darwin:*:*)
- case `uname -p` in
- *86) UNAME_PROCESSOR=i686 ;;
- powerpc) UNAME_PROCESSOR=powerpc ;;
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ case $UNAME_PROCESSOR in
+ i386)
+ eval $set_cc_for_build
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ UNAME_PROCESSOR="x86_64"
+ fi
+ fi ;;
+ unknown) UNAME_PROCESSOR=powerpc ;;
esac
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
if test "$UNAME_PROCESSOR" = "x86"; then
@@ -1164,22 +1226,25 @@ EOF
UNAME_MACHINE=pc
fi
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:QNX:*:4*)
echo i386-pc-qnx
- exit 0 ;;
- NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
+ exit ;;
+ NSE-?:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:NonStop-UX:*:*)
echo mips-compaq-nonstopux
- exit 0 ;;
+ exit ;;
BS2000:POSIX*:*:*)
echo bs2000-siemens-sysv
- exit 0 ;;
+ exit ;;
DS/*:UNIX_System_V:*:*)
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:Plan9:*:*)
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
@@ -1190,28 +1255,50 @@ EOF
UNAME_MACHINE="$cputype"
fi
echo ${UNAME_MACHINE}-unknown-plan9
- exit 0 ;;
+ exit ;;
*:TOPS-10:*:*)
echo pdp10-unknown-tops10
- exit 0 ;;
+ exit ;;
*:TENEX:*:*)
echo pdp10-unknown-tenex
- exit 0 ;;
+ exit ;;
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
echo pdp10-dec-tops20
- exit 0 ;;
+ exit ;;
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
echo pdp10-xkl-tops20
- exit 0 ;;
+ exit ;;
*:TOPS-20:*:*)
echo pdp10-unknown-tops20
- exit 0 ;;
+ exit ;;
*:ITS:*:*)
echo pdp10-unknown-its
- exit 0 ;;
+ exit ;;
SEI:*:*:SEIUX)
echo mips-sei-seiux${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "${UNAME_MACHINE}" in
+ A*) echo alpha-dec-vms ; exit ;;
+ I*) echo ia64-dec-vms ; exit ;;
+ V*) echo vax-dec-vms ; exit ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+ exit ;;
+ i*86:skyos:*:*)
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ exit ;;
+ i*86:rdos:*:*)
+ echo ${UNAME_MACHINE}-pc-rdos
+ exit ;;
+ i*86:AROS:*:*)
+ echo ${UNAME_MACHINE}-pc-aros
+ exit ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
@@ -1243,7 +1330,7 @@ main ()
#endif
#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix"); exit (0);
+ printf ("arm-acorn-riscix\n"); exit (0);
#endif
#if defined (hp300) && !defined (hpux)
@@ -1332,11 +1419,12 @@ main ()
}
EOF
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
# Apollos put the system type in the environment.
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
# Convex versions that predate uname can use getsysinfo(1)
@@ -1345,22 +1433,22 @@ then
case `getsysinfo -f cpu_type` in
c1*)
echo c1-convex-bsd
- exit 0 ;;
+ exit ;;
c2*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
- exit 0 ;;
+ exit ;;
c34*)
echo c34-convex-bsd
- exit 0 ;;
+ exit ;;
c38*)
echo c38-convex-bsd
- exit 0 ;;
+ exit ;;
c4*)
echo c4-convex-bsd
- exit 0 ;;
+ exit ;;
esac
fi
@@ -1371,7 +1459,9 @@ This script, last modified $timestamp, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
- ftp://ftp.gnu.org/pub/gnu/config/
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+and
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
If the version you run ($0) is already up to date, please
send the following data and any information you think might be
diff --git a/config/config.sub b/config/config.sub
index 6b2ff9f..2a55a50 100755
--- a/config/config.sub
+++ b/config/config.sub
@@ -1,9 +1,10 @@
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+# Free Software Foundation, Inc.
-timestamp='2003-06-18'
+timestamp='2009-11-20'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -21,22 +22,26 @@ timestamp='2003-06-18'
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
+
# Please send patches to <config-patches at gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
+# diff and a properly formatted GNU ChangeLog entry.
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1.
# Otherwise, we print the canonical config type on stdout and succeed.
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
# that are meaningful with *any* GNU software.
@@ -70,8 +75,8 @@ Report bugs and patches to <config-patches at gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -83,11 +88,11 @@ Try \`$me --help' for more information."
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
- echo "$timestamp" ; exit 0 ;;
+ echo "$timestamp" ; exit ;;
--version | -v )
- echo "$version" ; exit 0 ;;
+ echo "$version" ; exit ;;
--help | --h* | -h )
- echo "$usage"; exit 0 ;;
+ echo "$usage"; exit ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
@@ -99,7 +104,7 @@ while test $# -gt 0 ; do
*local*)
# First pass through any local machine types.
echo $1
- exit 0;;
+ exit ;;
* )
break ;;
@@ -118,7 +123,10 @@ esac
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
- nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+ kopensolaris*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
@@ -144,10 +152,13 @@ case $os in
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis)
+ -apple | -axis | -knuth | -cray | -microblaze)
os=
basic_machine=$1
;;
+ -bluegene*)
+ os=-cnk
+ ;;
-sim | -cisco | -oki | -wec | -winbond)
os=
basic_machine=$1
@@ -169,6 +180,10 @@ case $os in
-hiux*)
os=-hiuxwe2
;;
+ -sco6)
+ os=-sco5v6
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
-sco5)
os=-sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@@ -185,6 +200,10 @@ case $os in
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
+ -sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
-sco*)
os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@@ -228,54 +247,71 @@ case $basic_machine in
| a29k \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+ | am33_2.0 \
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+ | bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
- | fr30 | frv \
+ | fido | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
- | ip2k \
- | m32r | m68000 | m68k | m88k | mcore \
+ | ip2k | iq2000 \
+ | lm32 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | mcore | mep | metag \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
- | mips64vr | mips64vrel \
+ | mips64octeon | mips64octeonel \
| mips64orion | mips64orionel \
+ | mips64r5900 | mips64r5900el \
+ | mips64vr | mips64vrel \
| mips64vr4100 | mips64vr4100el \
| mips64vr4300 | mips64vr4300el \
| mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
| mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
+ | moxie \
+ | mt \
| msp430 \
+ | nios | nios2 \
| ns16k | ns32k \
- | openrisc | or32 \
+ | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
- | s390 | s390x \
- | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+ | rx \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
- | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \
- | strongarm \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu | strongarm \
| tahoe | thumb | tic4x | tic80 | tron \
+ | ubicom32 \
| v850 | v850e \
| we32k \
- | x86 | xscale | xstormy16 | xtensa \
- | z8k)
+ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+ | z8k | z80)
basic_machine=$basic_machine-unknown
;;
- m6811 | m68hc11 | m6812 | m68hc12)
+ m6811 | m68hc11 | m6812 | m68hc12 | picochip)
# Motorola 68HC11/12.
basic_machine=$basic_machine-unknown
os=-none
;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
;;
+ ms1)
+ basic_machine=mt-unknown
+ ;;
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
@@ -295,55 +331,68 @@ case $basic_machine in
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* \
- | bs2000-* \
+ | avr-* | avr32-* \
+ | bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
- | clipper-* | cydra-* \
+ | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
- | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \
- | ip2k-* \
- | m32r-* \
+ | ip2k-* | iq2000-* \
+ | lm32-* \
+ | m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | mcore-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
- | mips64vr-* | mips64vrel-* \
+ | mips64octeon-* | mips64octeonel-* \
| mips64orion-* | mips64orionel-* \
+ | mips64r5900-* | mips64r5900el-* \
+ | mips64vr-* | mips64vrel-* \
| mips64vr4100-* | mips64vr4100el-* \
| mips64vr4300-* | mips64vr4300el-* \
| mips64vr5000-* | mips64vr5000el-* \
+ | mips64vr5900-* | mips64vr5900el-* \
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
| mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
| msp430-* \
- | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
+ | nios-* | nios2-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
- | romp-* | rs6000-* \
- | s390-* | s390x-* \
- | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+ | romp-* | rs6000-* | rx-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
| tahoe-* | thumb-* \
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
| tron-* \
+ | ubicom32-* \
| v850-* | v850e-* | vax-* \
| we32k-* \
- | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
- | xtensa-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | xstormy16-* | xtensa*-* \
| ymp-* \
- | z8k-*)
+ | z8k-* | z80-*)
+ ;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
@@ -361,6 +410,9 @@ case $basic_machine in
basic_machine=a29k-amd
os=-udi
;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
adobe68k)
basic_machine=m68010-adobe
os=-scout
@@ -378,6 +430,9 @@ case $basic_machine in
amd64)
basic_machine=x86_64-pc
;;
+ amd64-*)
+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
amdahl)
basic_machine=580-amdahl
os=-sysv
@@ -401,6 +456,10 @@ case $basic_machine in
basic_machine=m68k-apollo
os=-bsd
;;
+ aros)
+ basic_machine=i386-pc
+ os=-aros
+ ;;
aux)
basic_machine=m68k-apple
os=-aux
@@ -409,10 +468,26 @@ case $basic_machine in
basic_machine=ns32k-sequent
os=-dynix
;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ bluegene*)
+ basic_machine=powerpc-ibm
+ os=-cnk
+ ;;
c90)
basic_machine=c90-cray
os=-unicos
;;
+ cegcc)
+ basic_machine=arm-unknown
+ os=-cegcc
+ ;;
convex-c1)
basic_machine=c1-convex
os=-bsd
@@ -437,12 +512,27 @@ case $basic_machine in
basic_machine=j90-cray
os=-unicos
;;
+ craynv)
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+ cr16)
+ basic_machine=cr16-unknown
+ os=-elf
+ ;;
crds | unos)
basic_machine=m68k-crds
;;
+ crisv32 | crisv32-* | etraxfs*)
+ basic_machine=crisv32-axis
+ ;;
cris | cris-* | etrax*)
basic_machine=cris-axis
;;
+ crx)
+ basic_machine=crx-unknown
+ os=-elf
+ ;;
da30 | da30-*)
basic_machine=m68k-da30
;;
@@ -465,6 +555,14 @@ case $basic_machine in
basic_machine=m88k-motorola
os=-sysv3
;;
+ dicos)
+ basic_machine=i686-pc
+ os=-dicos
+ ;;
+ djgpp)
+ basic_machine=i586-pc
+ os=-msdosdjgpp
+ ;;
dpx20 | dpx20-*)
basic_machine=rs6000-bull
os=-bosx
@@ -615,6 +713,14 @@ case $basic_machine in
basic_machine=m68k-isi
os=-sysv
;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
m88k-omron*)
basic_machine=m88k-omron
;;
@@ -626,10 +732,17 @@ case $basic_machine in
basic_machine=ns32k-utek
os=-sysv
;;
+ microblaze)
+ basic_machine=microblaze-xilinx
+ ;;
mingw32)
basic_machine=i386-pc
os=-mingw32
;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=-mingw32ce
+ ;;
miniframe)
basic_machine=m68000-convergent
;;
@@ -643,10 +756,6 @@ case $basic_machine in
mips3*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
;;
- mmix*)
- basic_machine=mmix-knuth
- os=-mmixware
- ;;
monitor)
basic_machine=m68k-rom68k
os=-coff
@@ -659,6 +768,9 @@ case $basic_machine in
basic_machine=i386-pc
os=-msdos
;;
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ ;;
mvs)
basic_machine=i370-ibm
os=-mvs
@@ -727,10 +839,6 @@ case $basic_machine in
np1)
basic_machine=np1-gould
;;
- nv1)
- basic_machine=nv1-cray
- os=-unicosmp
- ;;
nsr-tandem)
basic_machine=nsr-tandem
;;
@@ -738,9 +846,12 @@ case $basic_machine in
basic_machine=hppa1.1-oki
os=-proelf
;;
- or32 | or32-*)
+ openrisc | openrisc-*)
basic_machine=or32-unknown
- os=-coff
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
;;
OSE68000 | ose68000)
basic_machine=m68000-ericsson
@@ -758,6 +869,14 @@ case $basic_machine in
basic_machine=i860-intel
os=-osf
;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
pbd)
basic_machine=sparc-tti
;;
@@ -767,6 +886,12 @@ case $basic_machine in
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc
;;
@@ -823,6 +948,10 @@ case $basic_machine in
basic_machine=i586-unknown
os=-pw32
;;
+ rdos)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
rom68k)
basic_machine=m68k-rom68k
os=-coff
@@ -833,6 +962,12 @@ case $basic_machine in
rtpc | rtpc-*)
basic_machine=romp-ibm
;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
sa29200)
basic_machine=a29k-amd
os=-udi
@@ -843,6 +978,10 @@ case $basic_machine in
sb1el)
basic_machine=mipsisa64sb1el-unknown
;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=-elf
+ ;;
sei)
basic_machine=mips-sei
os=-seiux
@@ -854,6 +993,9 @@ case $basic_machine in
basic_machine=sh-hitachi
os=-hms
;;
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
sh64)
basic_machine=sh64-unknown
;;
@@ -943,6 +1085,10 @@ case $basic_machine in
basic_machine=tic6x-unknown
os=-coff
;;
+ tile*)
+ basic_machine=tile-unknown
+ os=-linux-gnu
+ ;;
tx39)
basic_machine=mipstx39-unknown
;;
@@ -956,6 +1102,10 @@ case $basic_machine in
tower | tower-32)
basic_machine=m68k-ncr
;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
+ ;;
udi29k)
basic_machine=a29k-amd
os=-udi
@@ -999,6 +1149,10 @@ case $basic_machine in
basic_machine=hppa1.1-winbond
os=-proelf
;;
+ xbox)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
xps | xps100)
basic_machine=xps100-honeywell
;;
@@ -1010,6 +1164,10 @@ case $basic_machine in
basic_machine=z8k-unknown
os=-sim
;;
+ z80-*-coff)
+ basic_machine=z80-unknown
+ os=-sim
+ ;;
none)
basic_machine=none-none
os=-none
@@ -1029,6 +1187,9 @@ case $basic_machine in
romp)
basic_machine=romp-ibm
;;
+ mmix)
+ basic_machine=mmix-knuth
+ ;;
rs6000)
basic_machine=rs6000-ibm
;;
@@ -1045,13 +1206,10 @@ case $basic_machine in
we32k)
basic_machine=we32k-att
;;
- sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown
;;
- sh64)
- basic_machine=sh64-unknown
- ;;
- sparc | sparcv8 | sparcv9 | sparcv9b)
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
basic_machine=sparc-sun
;;
cydra)
@@ -1098,6 +1256,9 @@ case $os in
# First match some system type aliases
# that might get confused with valid system types.
# -solaris* is a basic system type, with this one exception.
+ -auroraux)
+ os=-auroraux
+ ;;
-solaris1 | -solaris1.*)
os=`echo $os | sed -e 's|solaris1|sunos4|'`
;;
@@ -1118,25 +1279,30 @@ case $os in
# Each alternative MUST END IN A *, to match a version number.
# -sysv* is not here because it comes later, after sysvr4.
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+ | -sym* | -kopensolaris* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* \
+ | -aos* | -aros* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
- | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -openbsd* | -solidbsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
- | -chorusos* | -chorusrdb* \
+ | -chorusos* | -chorusrdb* | -cegcc* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
- | -powermax* | -dnix* | -nx6 | -nx7 | -sei*)
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1154,12 +1320,15 @@ case $os in
os=`echo $os | sed -e 's|nto|nto-qnx|'`
;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;;
-mac*)
os=`echo $os | sed -e 's|mac|macos|'`
;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
-linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
@@ -1172,6 +1341,9 @@ case $os in
-opened*)
os=-openedition
;;
+ -os400*)
+ os=-os400
+ ;;
-wince*)
os=-wince
;;
@@ -1193,6 +1365,9 @@ case $os in
-atheos*)
os=-atheos
;;
+ -syllable*)
+ os=-syllable
+ ;;
-386bsd)
os=-bsd
;;
@@ -1215,6 +1390,9 @@ case $os in
-sinix*)
os=-sysv4
;;
+ -tpf*)
+ os=-tpf
+ ;;
-triton*)
os=-sysv3
;;
@@ -1251,6 +1429,12 @@ case $os in
-kaos*)
os=-kaos
;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
+ -dicos*)
+ os=-dicos
+ ;;
-none)
;;
*)
@@ -1273,6 +1457,12 @@ else
# system, and we'll never get to this point.
case $basic_machine in
+ score-*)
+ os=-elf
+ ;;
+ spu-*)
+ os=-elf
+ ;;
*-acorn)
os=-riscix1.2
;;
@@ -1282,8 +1472,8 @@ case $basic_machine in
arm*-semi)
os=-aout
;;
- c4x-* | tic4x-*)
- os=-coff
+ c4x-* | tic4x-*)
+ os=-coff
;;
# This must come before the *-dec entry.
pdp10-*)
@@ -1310,6 +1500,9 @@ case $basic_machine in
m68*-cisco)
os=-aout
;;
+ mep-*)
+ os=-elf
+ ;;
mips*-cisco)
os=-elf
;;
@@ -1328,9 +1521,15 @@ case $basic_machine in
*-be)
os=-beos
;;
+ *-haiku)
+ os=-haiku
+ ;;
*-ibm)
os=-aix
;;
+ *-knuth)
+ os=-mmixware
+ ;;
*-wec)
os=-proelf
;;
@@ -1433,7 +1632,7 @@ case $basic_machine in
-sunos*)
vendor=sun
;;
- -aix*)
+ -cnk*|-aix*)
vendor=ibm
;;
-beos*)
@@ -1463,9 +1662,15 @@ case $basic_machine in
-mvs* | -opened*)
vendor=ibm
;;
+ -os400*)
+ vendor=ibm
+ ;;
-ptx*)
vendor=sequent
;;
+ -tpf*)
+ vendor=ibm
+ ;;
-vxsim* | -vxworks* | -windiss*)
vendor=wrs
;;
@@ -1490,7 +1695,7 @@ case $basic_machine in
esac
echo $basic_machine$os
-exit 0
+exit
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
diff --git a/config/depcomp b/config/depcomp
index 04701da..df8eea7 100755
--- a/config/depcomp
+++ b/config/depcomp
@@ -1,9 +1,10 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2005-07-09.11
+scriptversion=2009-04-28.21; # UTC
-# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
+# Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -16,9 +17,7 @@ scriptversion=2005-07-09.11
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -86,12 +85,34 @@ if test "$depmode" = dashXmstdout; then
depmode=dashmstdout
fi
+cygpath_u="cygpath -u -f -"
+if test "$depmode" = msvcmsys; then
+ # This is just like msvisualcpp but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u="sed s,\\\\\\\\,/,g"
+ depmode=msvisualcpp
+fi
+
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
- "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
+## the command line argument order; so add the flags where they
+## appear in depend2.am. Note that the slowdown incurred here
+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
+ for arg
+ do
+ case $arg in
+ -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
+ *) set fnord "$@" "$arg" ;;
+ esac
+ shift # fnord
+ shift # $arg
+ done
+ "$@"
stat=$?
if test $stat -eq 0; then :
else
@@ -178,14 +199,14 @@ sgi)
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
tr '
-' ' ' >> $depfile
- echo >> $depfile
+' ' ' >> "$depfile"
+ echo >> "$depfile"
# The second pass generates a dummy entry for each header file.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
- >> $depfile
+ >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
@@ -201,34 +222,39 @@ aix)
# current directory. Also, the AIX compiler puts `$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
- stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
- tmpdepfile="$stripped.u"
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$base.u
+ tmpdepfile3=$dir.libs/$base.u
"$@" -Wc,-M
else
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$dir$base.u
+ tmpdepfile3=$dir$base.u
"$@" -M
fi
stat=$?
- if test -f "$tmpdepfile"; then :
- else
- stripped=`echo "$stripped" | sed 's,^.*/,,'`
- tmpdepfile="$stripped.u"
- fi
-
if test $stat -eq 0; then :
else
- rm -f "$tmpdepfile"
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
exit $stat
fi
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
if test -f "$tmpdepfile"; then
- outname="$stripped.o"
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
- sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
- sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+ # That's a tab and a space in the [].
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
@@ -276,6 +302,51 @@ icc)
rm -f "$tmpdepfile"
;;
+hp2)
+ # The "hp" stanza above does not work with aCC (C++) and HP's ia64
+ # compilers, which have integrated preprocessors. The correct option
+ # to use with these is +Maked; it writes dependencies to a file named
+ # 'foo.d', which lands next to the object file, wherever that
+ # happens to be.
+ # Much of this is similar to the tru64 case; see comments there.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir.libs/$base.d
+ "$@" -Wc,+Maked
+ else
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir$base.d
+ "$@" +Maked
+ fi
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
+ # Add `dependent.h:' lines.
+ sed -ne '2,${
+ s/^ *//
+ s/ \\*$//
+ s/$/:/
+ p
+ }' "$tmpdepfile" >> "$depfile"
+ else
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile" "$tmpdepfile2"
+ ;;
+
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
@@ -288,13 +359,13 @@ tru64)
if test "$libtool" = yes; then
# With Tru64 cc, shared objects can also be used to make a
- # static library. This mecanism is used in libtool 1.4 series to
+ # static library. This mechanism is used in libtool 1.4 series to
# handle both shared and static libraries in a single compilation.
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
#
# With libtool 1.5 this exception was removed, and libtool now
# generates 2 separate objects for the 2 libraries. These two
- # compilations output dependencies in in $dir.libs/$base.o.d and
+ # compilations output dependencies in $dir.libs/$base.o.d and
# in $dir$base.o.d. We have to check for both files, because
# one of the two compilations can be disabled. We should prefer
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
@@ -345,7 +416,7 @@ dashmstdout)
# Remove the call to Libtool.
if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
+ while test "X$1" != 'X--mode=compile'; do
shift
done
shift
@@ -396,32 +467,39 @@ makedepend)
"$@" || exit $?
# Remove any Libtool call
if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
+ while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
# X makedepend
shift
- cleared=no
- for arg in "$@"; do
+ cleared=no eat=no
+ for arg
+ do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
+ if test $eat = yes; then
+ eat=no
+ continue
+ fi
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
# Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file.
+ -arch)
+ eat=yes ;;
-*|$object)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
- obj_suffix="`echo $object | sed 's/^.*\././'`"
+ obj_suffix=`echo "$object" | sed 's/^.*\././'`
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
@@ -441,7 +519,7 @@ cpp)
# Remove the call to Libtool.
if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
+ while test "X$1" != 'X--mode=compile'; do
shift
done
shift
@@ -479,13 +557,27 @@ cpp)
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout, regardless of -o,
- # because we must use -o when running libtool.
+ # always write the preprocessed file to stdout.
"$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
IFS=" "
for arg
do
case "$arg" in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
@@ -498,16 +590,23 @@ msvisualcpp)
;;
esac
done
- "$@" -E |
- sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
+ "$@" -E 2>/dev/null |
+ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
- . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
echo " " >> "$depfile"
- . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
+msvcmsys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
none)
exec "$@"
;;
@@ -526,5 +625,6 @@ exit 0
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
# End:
diff --git a/config/install-sh b/config/install-sh
index 4d4a951..6781b98 100755
--- a/config/install-sh
+++ b/config/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2005-05-14.22
+scriptversion=2009-04-28.21; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -39,38 +39,68 @@ scriptversion=2005-05-14.22
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
-# from scratch. It can only install one file at a time, a restriction
-# shared with many OS's install programs.
+# from scratch.
+
+nl='
+'
+IFS=" "" $nl"
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
+doit=${DOITPROG-}
+if test -z "$doit"; then
+ doit_exec=exec
+else
+ doit_exec=$doit
+fi
-# put in absolute paths if you don't have them in your path; or use env. vars.
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
+
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_glob='?'
+initialize_posix_glob='
+ test "$posix_glob" != "?" || {
+ if (set -f) 2>/dev/null; then
+ posix_glob=
+ else
+ posix_glob=:
+ fi
+ }
+'
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
-chmodcmd="$chmodprog 0755"
-chowncmd=
chgrpcmd=
-stripcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
rmcmd="$rmprog -f"
-mvcmd="$mvprog"
+stripcmd=
+
src=
dst=
dir_arg=
-dstarg=
+dst_arg=
+
+copy_on_change=false
no_target_directory=
-usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
@@ -80,81 +110,86 @@ In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options:
--c (ignored)
--d create directories instead of installing files.
--g GROUP $chgrpprog installed files to GROUP.
--m MODE $chmodprog installed files to MODE.
--o USER $chownprog installed files to USER.
--s $stripprog installed files.
--t DIRECTORY install into DIRECTORY.
--T report an error if DSTFILE is a directory.
---help display this help and exit.
---version display version info and exit.
+ --help display this help and exit.
+ --version display version info and exit.
+
+ -c (ignored)
+ -C install only if different (preserve the last data modification time)
+ -d create directories instead of installing files.
+ -g GROUP $chgrpprog installed files to GROUP.
+ -m MODE $chmodprog installed files to MODE.
+ -o USER $chownprog installed files to USER.
+ -s $stripprog installed files.
+ -t DIRECTORY install into DIRECTORY.
+ -T report an error if DSTFILE is a directory.
Environment variables override the default commands:
- CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
+ CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+ RMPROG STRIPPROG
"
-while test -n "$1"; do
+while test $# -ne 0; do
case $1 in
- -c) shift
- continue;;
+ -c) ;;
+
+ -C) copy_on_change=true;;
- -d) dir_arg=true
- shift
- continue;;
+ -d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
+ shift;;
--help) echo "$usage"; exit $?;;
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
+ -m) mode=$2
+ case $mode in
+ *' '* | *' '* | *'
+'* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
-o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
+ shift;;
- -s) stripcmd=$stripprog
- shift
- continue;;
+ -s) stripcmd=$stripprog;;
- -t) dstarg=$2
- shift
- shift
- continue;;
+ -t) dst_arg=$2
+ shift;;
- -T) no_target_directory=true
- shift
- continue;;
+ -T) no_target_directory=true;;
--version) echo "$0 $scriptversion"; exit $?;;
- *) # When -d is used, all remaining arguments are directories to create.
- # When -t is used, the destination is already specified.
- test -n "$dir_arg$dstarg" && break
- # Otherwise, the last argument is the destination. Remove it from $@.
- for arg
- do
- if test -n "$dstarg"; then
- # $@ is not empty: it contains at least $arg.
- set fnord "$@" "$dstarg"
- shift # fnord
- fi
- shift # arg
- dstarg=$arg
- done
+ --) shift
break;;
+
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
+
+ *) break;;
esac
+ shift
done
-if test -z "$1"; then
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+ # When -d is used, all remaining arguments are directories to create.
+ # When -t is used, the destination is already specified.
+ # Otherwise, the last argument is the destination. Remove it from $@.
+ for arg
+ do
+ if test -n "$dst_arg"; then
+ # $@ is not empty: it contains at least $arg.
+ set fnord "$@" "$dst_arg"
+ shift # fnord
+ fi
+ shift # arg
+ dst_arg=$arg
+ done
+fi
+
+if test $# -eq 0; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
@@ -164,24 +199,47 @@ if test -z "$1"; then
exit 0
fi
+if test -z "$dir_arg"; then
+ trap '(exit $?); exit' 1 2 13 15
+
+ # Set umask so as not to create temps with too-generous modes.
+ # However, 'strip' requires both read and write access to temps.
+ case $mode in
+ # Optimize common cases.
+ *644) cp_umask=133;;
+ *755) cp_umask=22;;
+
+ *[0-7])
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw='% 200'
+ fi
+ cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+ *)
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw=,u+rw
+ fi
+ cp_umask=$mode$u_plus_rw;;
+ esac
+fi
+
for src
do
# Protect names starting with `-'.
case $src in
- -*) src=./$src ;;
+ -*) src=./$src;;
esac
if test -n "$dir_arg"; then
dst=$src
- src=
-
- if test -d "$dst"; then
- mkdircmd=:
- chmodcmd=
- else
- mkdircmd=$mkdirprog
- fi
+ dstdir=$dst
+ test -d "$dstdir"
+ dstdir_status=$?
else
+
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
@@ -190,71 +248,199 @@ do
exit 1
fi
- if test -z "$dstarg"; then
+ if test -z "$dst_arg"; then
echo "$0: no destination specified." >&2
exit 1
fi
- dst=$dstarg
+ dst=$dst_arg
# Protect names starting with `-'.
case $dst in
- -*) dst=./$dst ;;
+ -*) dst=./$dst;;
esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
- echo "$0: $dstarg: Is a directory" >&2
+ echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
- dst=$dst/`basename "$src"`
+ dstdir=$dst
+ dst=$dstdir/`basename "$src"`
+ dstdir_status=0
+ else
+ # Prefer dirname, but fall back on a substitute if dirname fails.
+ dstdir=`
+ (dirname "$dst") 2>/dev/null ||
+ expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$dst" : 'X\(//\)[^/]' \| \
+ X"$dst" : 'X\(//\)$' \| \
+ X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+ echo X"$dst" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'
+ `
+
+ test -d "$dstdir"
+ dstdir_status=$?
fi
fi
- # This sed command emulates the dirname command.
- dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
+ obsolete_mkdir_used=false
+
+ if test $dstdir_status != 0; then
+ case $posix_mkdir in
+ '')
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of 1997-10-28.
+ umask=`umask`
+ case $stripcmd.$umask in
+ # Optimize common cases.
+ *[2367][2367]) mkdir_umask=$umask;;
+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ case $umask in
+ *[123567][0-7][0-7])
+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ if (umask $mkdir_umask &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writeable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/d" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
+ esac
- # Make sure that the destination directory exists.
+ if
+ $posix_mkdir && (
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ )
+ then :
+ else
- # Skip lots of stat calls in the usual case.
- if test ! -d "$dstdir"; then
- defaultIFS='
- '
- IFS="${IFS-$defaultIFS}"
+ # The umask is ridiculous, or mkdir does not conform to POSIX,
+ # or it failed possibly due to a race condition. Create the
+ # directory the slow way, step by step, checking for races as we go.
- oIFS=$IFS
- # Some sh's can't handle IFS=/ for some reason.
- IFS='%'
- set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
- shift
- IFS=$oIFS
+ case $dstdir in
+ /*) prefix='/';;
+ -*) prefix='./';;
+ *) prefix='';;
+ esac
- pathcomp=
+ eval "$initialize_posix_glob"
- while test $# -ne 0 ; do
- pathcomp=$pathcomp$1
+ oIFS=$IFS
+ IFS=/
+ $posix_glob set -f
+ set fnord $dstdir
shift
- if test ! -d "$pathcomp"; then
- $mkdirprog "$pathcomp"
- # mkdir can fail with a `File exist' error in case several
- # install-sh are creating the directory concurrently. This
- # is OK.
- test -d "$pathcomp" || exit
+ $posix_glob set +f
+ IFS=$oIFS
+
+ prefixes=
+
+ for d
+ do
+ test -z "$d" && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask=$mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
+ done
+
+ if test -n "$prefixes"; then
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
fi
- pathcomp=$pathcomp/
- done
+ fi
fi
if test -n "$dir_arg"; then
- $doit $mkdircmd "$dst" \
- && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
- && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
- && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
- && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
-
+ { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+ { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
else
- dstfile=`basename "$dst"`
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
@@ -262,10 +448,9 @@ do
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
- trap '(exit $?); exit' 1 2 13 15
# Copy the file name to the temp name.
- $doit $cpprog "$src" "$dsttmp" &&
+ (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits.
#
@@ -273,51 +458,63 @@ do
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
- { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
- && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
- && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
- && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
-
- # Now rename the file to the real destination.
- { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
- || {
- # The rename failed, perhaps because mv can't rename something else
- # to itself, or perhaps because mv is so ancient that it does not
- # support -f.
-
- # Now remove or move aside any old file at destination location.
- # We try this two ways since rm can't unlink itself on some
- # systems and the destination file might be busy for other
- # reasons. In this case, the final cleanup might fail but the new
- # file should still install successfully.
- {
- if test -f "$dstdir/$dstfile"; then
- $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
- || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
- || {
- echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
- (exit 1); exit 1
- }
- else
- :
- fi
- } &&
-
- # Now rename the file to the real destination.
- $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
- }
- }
- fi || { (exit 1); exit 1; }
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+ { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+ { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+ # If -C, don't bother to copy if it wouldn't change the file.
+ if $copy_on_change &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+
+ eval "$initialize_posix_glob" &&
+ $posix_glob set -f &&
+ set X $old && old=:$2:$4:$5:$6 &&
+ set X $new && new=:$2:$4:$5:$6 &&
+ $posix_glob set +f &&
+
+ test "$old" = "$new" &&
+ $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+ then
+ rm -f "$dsttmp"
+ else
+ # Rename the file to the real destination.
+ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+ # The rename failed, perhaps because mv can't rename something else
+ # to itself, or perhaps because mv is so ancient that it does not
+ # support -f.
+ {
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
+ }
+ fi || exit 1
+
+ trap '' 0
+ fi
done
-# The final little trick to "correctly" pass the exit status to the exit trap.
-{
- (exit 0); exit 0
-}
-
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
# End:
diff --git a/config/ltmain.sh b/config/ltmain.sh
old mode 100644
new mode 100755
index 3506ead..a72f2fd
--- a/config/ltmain.sh
+++ b/config/ltmain.sh
@@ -1,6 +1,6 @@
# Generated from ltmain.m4sh.
-# ltmain.sh (GNU libtool) 2.2.6
+# ltmain.sh (GNU libtool) 2.2.6b
# Written by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
@@ -65,7 +65,7 @@
# compiler: $LTCC
# compiler flags: $LTCFLAGS
# linker: $LD (gnu? $with_gnu_ld)
-# $progname: (GNU libtool) 2.2.6 Debian-2.2.6a-4
+# $progname: (GNU libtool) 2.2.6b
# automake: $automake_version
# autoconf: $autoconf_version
#
@@ -73,9 +73,9 @@
PROGRAM=ltmain.sh
PACKAGE=libtool
-VERSION="2.2.6 Debian-2.2.6a-4"
+VERSION=2.2.6b
TIMESTAMP=""
-package_revision=1.3012
+package_revision=1.3017
# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
@@ -5033,10 +5033,7 @@ func_mode_link ()
case $pass in
dlopen) libs="$dlfiles" ;;
dlpreopen) libs="$dlprefiles" ;;
- link)
- libs="$deplibs %DEPLIBS%"
- test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
- ;;
+ link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
esac
fi
if test "$linkmode,$pass" = "lib,dlpreopen"; then
@@ -5347,19 +5344,19 @@ func_mode_link ()
# It is a libtool convenience library, so add in its objects.
convenience="$convenience $ladir/$objdir/$old_library"
old_convenience="$old_convenience $ladir/$objdir/$old_library"
- tmp_libs=
- for deplib in $dependency_libs; do
- deplibs="$deplib $deplibs"
- if $opt_duplicate_deps ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done
elif test "$linkmode" != prog && test "$linkmode" != lib; then
func_fatal_error "\`$lib' is not a convenience library"
fi
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ deplibs="$deplib $deplibs"
+ if $opt_duplicate_deps ; then
+ case "$tmp_libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ tmp_libs="$tmp_libs $deplib"
+ done
continue
fi # $pass = conv
@@ -5896,7 +5893,6 @@ func_mode_link ()
if test "$link_all_deplibs" != no; then
# Add the search paths of all dependency libraries
for deplib in $dependency_libs; do
- path=
case $deplib in
-L*) path="$deplib" ;;
*.la)
@@ -6210,9 +6206,6 @@ func_mode_link ()
revision="$number_minor"
lt_irix_increment=no
;;
- *)
- func_fatal_configuration "$modename: unknown library version type \`$version_type'"
- ;;
esac
;;
no)
diff --git a/config/missing b/config/missing
index 894e786..28055d2 100755
--- a/config/missing
+++ b/config/missing
@@ -1,10 +1,10 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-scriptversion=2005-06-08.21
+scriptversion=2009-04-28.21; # UTC
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
+# 2008, 2009 Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
@@ -18,9 +18,7 @@ scriptversion=2005-06-08.21
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -33,6 +31,8 @@ if test $# -eq 0; then
fi
run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
# In the cases where this matters, `missing' is being run in the
# srcdir already.
@@ -44,7 +44,7 @@ fi
msg="missing on your system"
-case "$1" in
+case $1 in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
@@ -77,6 +77,7 @@ Supported PROGRAM values:
aclocal touch file \`aclocal.m4'
autoconf touch file \`configure'
autoheader touch file \`config.h.in'
+ autom4te touch the output file, or create a stub one
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
@@ -86,6 +87,9 @@ Supported PROGRAM values:
tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
+\`g' are ignored when checking the name.
+
Send bug reports to <bug-automake at gnu.org>."
exit $?
;;
@@ -103,15 +107,22 @@ Send bug reports to <bug-automake at gnu.org>."
esac
+# normalize program name to check for.
+program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
-# the program).
-case "$1" in
- lex|yacc)
+# the program). This is about non-GNU programs, so use $1 not
+# $program.
+case $1 in
+ lex*|yacc*)
# Not GNU programs, they don't have --version.
;;
- tar)
+ tar*)
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
@@ -135,7 +146,7 @@ esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
-case "$1" in
+case $program in
aclocal*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
@@ -145,7 +156,7 @@ WARNING: \`$1' is $msg. You should only need it if
touch aclocal.m4
;;
- autoconf)
+ autoconf*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`${configure_ac}'. You might want to install the
@@ -154,7 +165,7 @@ WARNING: \`$1' is $msg. You should only need it if
touch configure
;;
- autoheader)
+ autoheader*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want
@@ -164,7 +175,7 @@ WARNING: \`$1' is $msg. You should only need it if
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
- case "$f" in
+ case $f in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
@@ -184,7 +195,7 @@ WARNING: \`$1' is $msg. You should only need it if
while read f; do touch "$f"; done
;;
- autom4te)
+ autom4te*)
echo 1>&2 "\
WARNING: \`$1' is needed, but is $msg.
You might have modified some files without having the
@@ -192,8 +203,8 @@ WARNING: \`$1' is needed, but is $msg.
You can get \`$1' as part of \`Autoconf' from any GNU
archive site."
- file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
- test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -f "$file"; then
touch $file
else
@@ -207,80 +218,78 @@ WARNING: \`$1' is needed, but is $msg.
fi
;;
- bison|yacc)
+ bison*|yacc*)
echo 1>&2 "\
WARNING: \`$1' $msg. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
- if [ $# -ne 1 ]; then
+ if test $# -ne 1; then
eval LASTARG="\${$#}"
- case "$LASTARG" in
+ case $LASTARG in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.c
fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.h
fi
;;
esac
fi
- if [ ! -f y.tab.h ]; then
+ if test ! -f y.tab.h; then
echo >y.tab.h
fi
- if [ ! -f y.tab.c ]; then
+ if test ! -f y.tab.c; then
echo 'main() { return 0; }' >y.tab.c
fi
;;
- lex|flex)
+ lex*|flex*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
rm -f lex.yy.c
- if [ $# -ne 1 ]; then
+ if test $# -ne 1; then
eval LASTARG="\${$#}"
- case "$LASTARG" in
+ case $LASTARG in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" lex.yy.c
fi
;;
esac
fi
- if [ ! -f lex.yy.c ]; then
+ if test ! -f lex.yy.c; then
echo 'main() { return 0; }' >lex.yy.c
fi
;;
- help2man)
+ help2man*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a dependency of a manual page. You may need the
\`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site."
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
- if test -z "$file"; then
- file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
- fi
- if [ -f "$file" ]; then
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -f "$file"; then
touch $file
else
test -z "$file" || exec >$file
echo ".ab help2man is required to generate this page"
- exit 1
+ exit $?
fi
;;
- makeinfo)
+ makeinfo*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
@@ -289,11 +298,17 @@ WARNING: \`$1' is $msg. You should only need it if
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
# The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -z "$file"; then
# ... or it is the one specified with @setfilename ...
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
+ file=`sed -n '
+ /^@setfilename/{
+ s/.* \([^ ]*\) *$/\1/
+ p
+ q
+ }' $infile`
# ... or it is derived from the source name (dir/f.texi becomes f.info)
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
fi
@@ -303,7 +318,7 @@ WARNING: \`$1' is $msg. You should only need it if
touch $file
;;
- tar)
+ tar*)
shift
# We have already tried tar in the generic part.
@@ -317,13 +332,13 @@ WARNING: \`$1' is $msg. You should only need it if
fi
firstarg="$1"
if shift; then
- case "$firstarg" in
+ case $firstarg in
*o*)
firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" "$@" && exit 0
;;
esac
- case "$firstarg" in
+ case $firstarg in
*h*)
firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" "$@" && exit 0
@@ -356,5 +371,6 @@ exit 0
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
# End:
diff --git a/configure b/configure
index 9890490..12bc388 100755
--- a/configure
+++ b/configure
@@ -1,8 +1,8 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for dapl 2.0.19.
+# Generated by GNU Autoconf 2.63 for dapl 2.0.42.
#
-# Report bugs to <general at lists.openfabrics.org>.
+# Report bugs to <linux-rdma at vger.kernel.org>.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
@@ -745,9 +745,9 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='dapl'
PACKAGE_TARNAME='dapl'
-PACKAGE_VERSION='2.0.19'
-PACKAGE_STRING='dapl 2.0.19'
-PACKAGE_BUGREPORT='general at lists.openfabrics.org'
+PACKAGE_VERSION='2.0.42'
+PACKAGE_STRING='dapl 2.0.42'
+PACKAGE_BUGREPORT='linux-rdma at vger.kernel.org'
ac_unique_file="dat/udat/udat.c"
# Factoring default headers for most tests.
@@ -786,7 +786,9 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='LTLIBOBJS
+ac_subst_vars='am__EXEEXT_FALSE
+am__EXEEXT_TRUE
+LTLIBOBJS
LIBOBJS
OS_SUSE11_FALSE
OS_SUSE11_TRUE
@@ -794,12 +796,26 @@ OS_RHEL5_FALSE
OS_RHEL5_TRUE
OS_RHEL4_FALSE
OS_RHEL4_TRUE
+COLL_TYPE_FCA_FALSE
+COLL_TYPE_FCA_TRUE
EXT_TYPE_IB_FALSE
EXT_TYPE_IB_TRUE
+DEFINE_COUNTERS_FALSE
+DEFINE_COUNTERS_TRUE
+DEFINE_UCM_FALSE
+DEFINE_UCM_TRUE
+DEFINE_SCM_FALSE
+DEFINE_SCM_TRUE
+DEFINE_CMA_FALSE
+DEFINE_CMA_TRUE
DEBUG_FALSE
DEBUG_TRUE
HAVE_LD_VERSION_SCRIPT_FALSE
HAVE_LD_VERSION_SCRIPT_TRUE
+DAPL_USE_IBACM_FALSE
+DAPL_USE_IBACM_TRUE
+DEFINE_ATTR_LINK_LAYER_FALSE
+DEFINE_ATTR_LINK_LAYER_TRUE
CPP
OTOOL64
OTOOL
@@ -916,7 +932,12 @@ with_gnu_ld
enable_libtool_lock
enable_libcheck
enable_debug
+enable_cma
+enable_scm
+enable_ucm
+enable_counters
enable_ext_type
+enable_coll_type
'
ac_precious_vars='build_alias
host_alias
@@ -1479,7 +1500,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures dapl 2.0.19 to adapt to many kinds of systems.
+\`configure' configures dapl 2.0.42 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1549,7 +1570,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of dapl 2.0.19:";;
+ short | recursive ) echo "Configuration of dapl 2.0.42:";;
esac
cat <<\_ACEOF
@@ -1566,7 +1587,16 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--disable-libcheck do not test for presence of ib libraries
--enable-debug Turn on debug mode, default=off
- --enable-ext-type Enable extensions support for library: ib, none, default=ib
+ --disable-cma disable CMA (rdma_cm) provider build,
+ default=enabled
+ --disable-scm disable SCM (socket cm) provider build,
+ default=enabled
+ --disable-ucm disable UCM (IB UD cm) provider build,
+ default=enabled
+ --enable-counters enable counters provider build, default=disabled
+ --enable-ext-type enable extensions support for library: ib, none,
+ default=ib
+ --enable-coll-type enable IB collective support: fca, none, default=fca
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -1588,7 +1618,7 @@ Some influential environment variables:
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
-Report bugs to <general at lists.openfabrics.org>.
+Report bugs to <linux-rdma at vger.kernel.org>.
_ACEOF
ac_status=$?
fi
@@ -1651,7 +1681,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-dapl configure 2.0.19
+dapl configure 2.0.42
generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1665,7 +1695,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by dapl $as_me 2.0.19, which was
+It was created by dapl $as_me 2.0.42, which was
generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -2067,7 +2097,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
ac_config_headers="$ac_config_headers config.h"
-am__api_version='1.10'
+am__api_version='1.11'
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
@@ -2167,16 +2197,33 @@ $as_echo_n "checking whether build environment is sane... " >&6; }
# Just in case
sleep 1
echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[\\\"\#\$\&\'\`$am_lf]*)
+ { { $as_echo "$as_me:$LINENO: error: unsafe absolute working directory name" >&5
+$as_echo "$as_me: error: unsafe absolute working directory name" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
+case $srcdir in
+ *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
+ { { $as_echo "$as_me:$LINENO: error: unsafe srcdir value: \`$srcdir'" >&5
+$as_echo "$as_me: error: unsafe srcdir value: \`$srcdir'" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
+
# Do `set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
if test "$*" = "X"; then
# -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
+ set X `ls -t "$srcdir/configure" conftest.file`
fi
rm -f conftest.file
if test "$*" != "X $srcdir/configure conftest.file" \
@@ -2220,7 +2267,14 @@ program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
# Use eval to expand $SHELL
if eval "$MISSING --run true"; then
am_missing_run="$MISSING --run "
@@ -2230,6 +2284,115 @@ else
$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
fi
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
if test -z "$MKDIR_P"; then
@@ -2384,7 +2547,7 @@ fi
# Define the identity of the package.
PACKAGE=dapl
- VERSION=2.0.19
+ VERSION=2.0.42
cat >>confdefs.h <<_ACEOF
@@ -2412,108 +2575,6 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
# Always define AMTAR for backward compatibility.
@@ -2535,8 +2596,8 @@ esac
-macro_version='2.2.6'
-macro_revision='1.3012'
+macro_version='2.2.6b'
+macro_revision='1.3017'
@@ -2643,7 +2704,7 @@ ac_config_commands="$ac_config_commands depfiles"
am_make=${MAKE-make}
cat > confinc << 'END'
am__doit:
- @echo done
+ @echo this is the am__doit target
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
@@ -2654,24 +2715,24 @@ am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
- am__include=include
- am__quote=
- _am_result=GNU
-fi
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
# Now try BSD make style include.
if test "$am__include" = "#"; then
echo '.include "confinc"' > confmf
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
- am__include=.include
- am__quote="\""
- _am_result=BSD
- fi
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
fi
@@ -3660,6 +3721,11 @@ else
if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and
@@ -3677,7 +3743,17 @@ else
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
nosideeffect)
# after this tag, mechanisms are not by side-effect, so they'll
# only be used when explicitly requested
@@ -3687,19 +3763,23 @@ else
break
fi
;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
none) break ;;
esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ source=sub/conftest.c object=$am__obj \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
>/dev/null 2>conftest.err &&
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings
# or remarks (even with -Werror). So we grep stderr for any message
@@ -4332,13 +4412,13 @@ if test "${lt_cv_nm_interface+set}" = set; then
else
lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:4335: $ac_compile\"" >&5)
+ (eval echo "\"\$as_me:4415: $ac_compile\"" >&5)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&5
- (eval echo "\"\$as_me:4338: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval echo "\"\$as_me:4418: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&5
- (eval echo "\"\$as_me:4341: output\"" >&5)
+ (eval echo "\"\$as_me:4421: output\"" >&5)
cat conftest.out >&5
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
@@ -4808,7 +4888,7 @@ linux* | k*bsd*-gnu)
lt_cv_deplibs_check_method=pass_all
;;
-netbsd* | netbsdelf*-gnu)
+netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
else
@@ -5544,7 +5624,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 5547 "configure"' > conftest.$ac_ext
+ echo '#line 5627 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -7397,11 +7477,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7400: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7480: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7404: \$? = $ac_status" >&5
+ echo "$as_me:7484: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -7736,11 +7816,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7739: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7819: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7743: \$? = $ac_status" >&5
+ echo "$as_me:7823: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -7841,11 +7921,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7844: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7924: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:7848: \$? = $ac_status" >&5
+ echo "$as_me:7928: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -7896,11 +7976,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7899: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7979: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:7903: \$? = $ac_status" >&5
+ echo "$as_me:7983: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -8015,9 +8095,6 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
openbsd*)
with_gnu_ld=no
;;
- linux* | k*bsd*-gnu)
- link_all_deplibs=no
- ;;
esac
ld_shlibs=yes
@@ -8200,7 +8277,7 @@ _LT_EOF
fi
;;
- netbsd* | netbsdelf*-gnu)
+ netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
@@ -8375,7 +8452,6 @@ _LT_EOF
if test "$aix_use_runtimelinking" = yes; then
shared_flag="$shared_flag "'${wl}-G'
fi
- link_all_deplibs=no
else
# not using gcc
if test "$host_cpu" = ia64; then
@@ -8790,7 +8866,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
link_all_deplibs=yes
;;
- netbsd* | netbsdelf*-gnu)
+ netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
@@ -9752,10 +9828,13 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
# before this can be enabled.
hardcode_into_libs=yes
+ # Add ABI-specific directories to the system library path.
+ sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -9767,18 +9846,6 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
dynamic_linker='GNU/Linux ld.so'
;;
-netbsdelf*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='NetBSD ld.elf_so'
- ;;
-
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -10712,7 +10779,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 10715 "configure"
+#line 10782 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -10808,7 +10875,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 10811 "configure"
+#line 10878 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11758,6 +11825,11 @@ else
if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and
@@ -11775,7 +11847,17 @@ else
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
nosideeffect)
# after this tag, mechanisms are not by side-effect, so they'll
# only be used when explicitly requested
@@ -11785,19 +11867,23 @@ else
break
fi
;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
none) break ;;
esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ source=sub/conftest.c object=$am__obj \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
>/dev/null 2>conftest.err &&
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings
# or remarks (even with -Werror). So we grep stderr for any message
@@ -11918,10 +12004,7 @@ $as_echo "$as_me: error: ibv_get_device_list() not found. libdapl requires libi
{ (exit 1); exit 1; }; }
fi
-fi
-if test "$disable_libcheck" != "yes"
-then
if test "${ac_cv_header_infiniband_verbs_h+set}" = set; then
{ $as_echo "$as_me:$LINENO: checking for infiniband/verbs.h" >&5
$as_echo_n "checking for infiniband/verbs.h... " >&6; }
@@ -12036,9 +12119,9 @@ $as_echo "$as_me: WARNING: infiniband/verbs.h: proceeding with the preprocessor'
{ $as_echo "$as_me:$LINENO: WARNING: infiniband/verbs.h: in the future, the compiler will take precedence" >&5
$as_echo "$as_me: WARNING: infiniband/verbs.h: in the future, the compiler will take precedence" >&2;}
( cat <<\_ASBOX
-## -------------------------------------------- ##
-## Report this to general at lists.openfabrics.org ##
-## -------------------------------------------- ##
+## ----------------------------------------- ##
+## Report this to linux-rdma at vger.kernel.org ##
+## ----------------------------------------- ##
_ASBOX
) | sed "s/^/$as_me: WARNING: /" >&2
;;
@@ -12063,75 +12146,884 @@ $as_echo "$as_me: error: <infiniband/verbs.h> not found. Is libibverbs installe
fi
+
+{ $as_echo "$as_me:$LINENO: checking for struct ibv_port_attr.link_layer" >&5
+$as_echo_n "checking for struct ibv_port_attr.link_layer... " >&6; }
+if test "${ac_cv_member_struct_ibv_port_attr_link_layer+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <infiniband/verbs.h>
+
+int
+main ()
+{
+static struct ibv_port_attr ac_aggr;
+if (ac_aggr.link_layer)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_member_struct_ibv_port_attr_link_layer=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <infiniband/verbs.h>
+
+int
+main ()
+{
+static struct ibv_port_attr ac_aggr;
+if (sizeof ac_aggr.link_layer)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_member_struct_ibv_port_attr_link_layer=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_member_struct_ibv_port_attr_link_layer=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_ibv_port_attr_link_layer" >&5
+$as_echo "$ac_cv_member_struct_ibv_port_attr_link_layer" >&6; }
+if test "x$ac_cv_member_struct_ibv_port_attr_link_layer" = x""yes; then
+ if test "yes" = "yes"; then
+ DEFINE_ATTR_LINK_LAYER_TRUE=
+ DEFINE_ATTR_LINK_LAYER_FALSE='#'
+else
+ DEFINE_ATTR_LINK_LAYER_TRUE='#'
+ DEFINE_ATTR_LINK_LAYER_FALSE=
+fi
+
+else
+ if test "yes" = "no"; then
+ DEFINE_ATTR_LINK_LAYER_TRUE=
+ DEFINE_ATTR_LINK_LAYER_FALSE='#'
+else
+ DEFINE_ATTR_LINK_LAYER_TRUE='#'
+ DEFINE_ATTR_LINK_LAYER_FALSE=
+fi
+
+fi
+
+
+if test "$with_ib_acm" != "" && test "$with_ib_acm" != "no"; then
+{ $as_echo "$as_me:$LINENO: checking for struct ibv_path_record.service_id" >&5
+$as_echo_n "checking for struct ibv_path_record.service_id... " >&6; }
+if test "${ac_cv_member_struct_ibv_path_record_service_id+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <infiniband/sa.h>
+
+int
+main ()
+{
+static struct ibv_path_record ac_aggr;
+if (ac_aggr.service_id)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_member_struct_ibv_path_record_service_id=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <infiniband/sa.h>
+
+int
+main ()
+{
+static struct ibv_path_record ac_aggr;
+if (sizeof ac_aggr.service_id)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_member_struct_ibv_path_record_service_id=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_member_struct_ibv_path_record_service_id=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_ibv_path_record_service_id" >&5
+$as_echo "$ac_cv_member_struct_ibv_path_record_service_id" >&6; }
+if test "x$ac_cv_member_struct_ibv_path_record_service_id" = x""yes; then
+ :
+else
+ { { $as_echo "$as_me:$LINENO: error: IB ACM support requires libibverbs 1.1.4 or greater." >&5
+$as_echo "$as_me: error: IB ACM support requires libibverbs 1.1.4 or greater." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+if test "${ac_cv_header_infiniband_acm_h+set}" = set; then
+ { $as_echo "$as_me:$LINENO: checking for infiniband/acm.h" >&5
+$as_echo_n "checking for infiniband/acm.h... " >&6; }
+if test "${ac_cv_header_infiniband_acm_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_infiniband_acm_h" >&5
+$as_echo "$ac_cv_header_infiniband_acm_h" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking infiniband/acm.h usability" >&5
+$as_echo_n "checking infiniband/acm.h usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <infiniband/acm.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking infiniband/acm.h presence" >&5
+$as_echo_n "checking infiniband/acm.h presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <infiniband/acm.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: infiniband/acm.h: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: infiniband/acm.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: infiniband/acm.h: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: infiniband/acm.h: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: infiniband/acm.h: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: infiniband/acm.h: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: infiniband/acm.h: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: infiniband/acm.h: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: infiniband/acm.h: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: infiniband/acm.h: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: infiniband/acm.h: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: infiniband/acm.h: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: infiniband/acm.h: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: infiniband/acm.h: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: infiniband/acm.h: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: infiniband/acm.h: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
+## ----------------------------------------- ##
+## Report this to linux-rdma at vger.kernel.org ##
+## ----------------------------------------- ##
+_ASBOX
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for infiniband/acm.h" >&5
+$as_echo_n "checking for infiniband/acm.h... " >&6; }
+if test "${ac_cv_header_infiniband_acm_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_header_infiniband_acm_h=$ac_header_preproc
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_infiniband_acm_h" >&5
+$as_echo "$ac_cv_header_infiniband_acm_h" >&6; }
+
+fi
+if test "x$ac_cv_header_infiniband_acm_h" = x""yes; then
+ :
+else
+ { { $as_echo "$as_me:$LINENO: error: IB ACM requested but <infiniband/acm.h> not found." >&5
+$as_echo "$as_me: error: IB ACM requested but <infiniband/acm.h> not found." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+fi
+
+else
+ if test "yes" = "no"; then
+ DEFINE_ATTR_LINK_LAYER_TRUE=
+ DEFINE_ATTR_LINK_LAYER_FALSE='#'
+else
+ DEFINE_ATTR_LINK_LAYER_TRUE='#'
+ DEFINE_ATTR_LINK_LAYER_FALSE=
+fi
+
+fi
+
+if test "$with_ib_acm" != "" && test "$with_ib_acm" != "no"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define DAPL_USE_IBACM 1
+_ACEOF
+
+ ac_use_acm=yes
+else
+ ac_use_acm=no
+fi
+ if test "$ac_use_acm" = "yes"; then
+ DAPL_USE_IBACM_TRUE=
+ DAPL_USE_IBACM_FALSE='#'
+else
+ DAPL_USE_IBACM_TRUE='#'
+ DAPL_USE_IBACM_FALSE=
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether ld accepts --version-script" >&5
+$as_echo_n "checking whether ld accepts --version-script... " >&6; }
+if test "${ac_cv_version_script+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "`$LD --help < /dev/null 2>/dev/null | grep version-script`"; then
+ ac_cv_version_script=yes
+ else
+ ac_cv_version_script=no
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_version_script" >&5
+$as_echo "$ac_cv_version_script" >&6; }
+ if test "$ac_cv_version_script" = "yes"; then
+ HAVE_LD_VERSION_SCRIPT_TRUE=
+ HAVE_LD_VERSION_SCRIPT_FALSE='#'
+else
+ HAVE_LD_VERSION_SCRIPT_TRUE='#'
+ HAVE_LD_VERSION_SCRIPT_FALSE=
+fi
+
+
+# Check whether --enable-debug was given.
+if test "${enable_debug+set}" = set; then
+ enableval=$enable_debug; case "${enableval}" in
+ yes) debug=true ;;
+ no) debug=false ;;
+ *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-debug" >&5
+$as_echo "$as_me: error: bad value ${enableval} for --enable-debug" >&2;}
+ { (exit 1); exit 1; }; } ;;
+esac
+else
+ debug=false
+fi
+
+ if test x$debug = xtrue; then
+ DEBUG_TRUE=
+ DEBUG_FALSE='#'
+else
+ DEBUG_TRUE='#'
+ DEBUG_FALSE=
+fi
+
+
+# Check whether --enable-cma was given.
+if test "${enable_cma+set}" = set; then
+ enableval=$enable_cma; case "${enableval}" in
+ yes) cma=true ;;
+ no) cma=false ;;
+ *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-cma" >&5
+$as_echo "$as_me: error: bad value ${enableval} for --enable-cma" >&2;}
+ { (exit 1); exit 1; }; } ;;
+ esac
+else
+ cma=true
+fi
+
+ if test x$cma = xtrue; then
+ DEFINE_CMA_TRUE=
+ DEFINE_CMA_FALSE='#'
+else
+ DEFINE_CMA_TRUE='#'
+ DEFINE_CMA_FALSE=
+fi
+
+
+# Check whether --enable-scm was given.
+if test "${enable_scm+set}" = set; then
+ enableval=$enable_scm; case "${enableval}" in
+ yes) scm=true ;;
+ no) scm=false ;;
+ *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-scm" >&5
+$as_echo "$as_me: error: bad value ${enableval} for --enable-scm" >&2;}
+ { (exit 1); exit 1; }; } ;;
+ esac
+else
+ scm=true
+fi
+
+ if test x$scm = xtrue; then
+ DEFINE_SCM_TRUE=
+ DEFINE_SCM_FALSE='#'
+else
+ DEFINE_SCM_TRUE='#'
+ DEFINE_SCM_FALSE=
+fi
+
+
+# Check whether --enable-ucm was given.
+if test "${enable_ucm+set}" = set; then
+ enableval=$enable_ucm; case "${enableval}" in
+ yes) ucm=true ;;
+ no) ucm=false ;;
+ *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-ucm" >&5
+$as_echo "$as_me: error: bad value ${enableval} for --enable-ucm" >&2;}
+ { (exit 1); exit 1; }; } ;;
+ esac
+else
+ ucm=true
+fi
+
+ if test x$ucm = xtrue; then
+ DEFINE_UCM_TRUE=
+ DEFINE_UCM_FALSE='#'
+else
+ DEFINE_UCM_TRUE='#'
+ DEFINE_UCM_FALSE=
+fi
+
+
+# Check whether --enable-counters was given.
+if test "${enable_counters+set}" = set; then
+ enableval=$enable_counters; case "${enableval}" in
+ yes) counters=true ;;
+ no) counters=false ;;
+ *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-counters" >&5
+$as_echo "$as_me: error: bad value ${enableval} for --enable-counters" >&2;}
+ { (exit 1); exit 1; }; } ;;
+ esac
+else
+ counters=false
+fi
+
+ if test x$counters = xtrue; then
+ DEFINE_COUNTERS_TRUE=
+ DEFINE_COUNTERS_FALSE='#'
+else
+ DEFINE_COUNTERS_TRUE='#'
+ DEFINE_COUNTERS_FALSE=
+fi
+
+
+# Check whether --enable-ext-type was given.
+if test "${enable_ext_type+set}" = set; then
+ enableval=$enable_ext_type; if test "x$enableval" = "xib" ; then
+ ext_type=ib
+ elif test "x$enableval" = "xnone" ; then
+ ext_type=none
+ else
+ echo
+ echo "Error!"
+ echo "Unknown extension type' type"
+ exit -1
+ fi
+
+else
+ ext_type=ib
+fi
+
+ if test "$ext_type" = "ib"; then
+ EXT_TYPE_IB_TRUE=
+ EXT_TYPE_IB_FALSE='#'
+else
+ EXT_TYPE_IB_TRUE='#'
+ EXT_TYPE_IB_FALSE=
+fi
+
+
+# Check whether --enable-coll-type was given.
+if test "${enable_coll_type+set}" = set; then
+ enableval=$enable_coll_type; if test "x$enableval" = "xfca" ; then
+ coll_type=fca
+ if test "${ac_cv_header_fca_fca_api_h+set}" = set; then
+ { $as_echo "$as_me:$LINENO: checking for fca/fca_api.h" >&5
+$as_echo_n "checking for fca/fca_api.h... " >&6; }
+if test "${ac_cv_header_fca_fca_api_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_fca_fca_api_h" >&5
+$as_echo "$ac_cv_header_fca_fca_api_h" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking fca/fca_api.h usability" >&5
+$as_echo_n "checking fca/fca_api.h usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <fca/fca_api.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking fca/fca_api.h presence" >&5
+$as_echo_n "checking fca/fca_api.h presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <fca/fca_api.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
fi
-{ $as_echo "$as_me:$LINENO: checking whether ld accepts --version-script" >&5
-$as_echo_n "checking whether ld accepts --version-script... " >&6; }
-if test "${ac_cv_version_script+set}" = set; then
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: fca/fca_api.h: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: fca/fca_api.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: fca/fca_api.h: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: fca/fca_api.h: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: fca/fca_api.h: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: fca/fca_api.h: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: fca/fca_api.h: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: fca/fca_api.h: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: fca/fca_api.h: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: fca/fca_api.h: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: fca/fca_api.h: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: fca/fca_api.h: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: fca/fca_api.h: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: fca/fca_api.h: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: fca/fca_api.h: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: fca/fca_api.h: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
+## ----------------------------------------- ##
+## Report this to linux-rdma at vger.kernel.org ##
+## ----------------------------------------- ##
+_ASBOX
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for fca/fca_api.h" >&5
+$as_echo_n "checking for fca/fca_api.h... " >&6; }
+if test "${ac_cv_header_fca_fca_api_h+set}" = set; then
$as_echo_n "(cached) " >&6
else
- if test -n "`$LD --help < /dev/null 2>/dev/null | grep version-script`"; then
- ac_cv_version_script=yes
- else
- ac_cv_version_script=no
- fi
+ ac_cv_header_fca_fca_api_h=$ac_header_preproc
fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_version_script" >&5
-$as_echo "$ac_cv_version_script" >&6; }
- if test "$ac_cv_version_script" = "yes"; then
- HAVE_LD_VERSION_SCRIPT_TRUE=
- HAVE_LD_VERSION_SCRIPT_FALSE='#'
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_fca_fca_api_h" >&5
+$as_echo "$ac_cv_header_fca_fca_api_h" >&6; }
+
+fi
+if test "x$ac_cv_header_fca_fca_api_h" = x""yes; then
+ :
else
- HAVE_LD_VERSION_SCRIPT_TRUE='#'
- HAVE_LD_VERSION_SCRIPT_FALSE=
+ { { $as_echo "$as_me:$LINENO: error: <fca/fca_api.h> not found. Is libfca devel package installed?" >&5
+$as_echo "$as_me: error: <fca/fca_api.h> not found. Is libfca devel package installed?" >&2;}
+ { (exit 1); exit 1; }; }
fi
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then
- enableval=$enable_debug; case "${enableval}" in
- yes) debug=true ;;
- no) debug=false ;;
- *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-debug" >&5
-$as_echo "$as_me: error: bad value ${enableval} for --enable-debug" >&2;}
- { (exit 1); exit 1; }; } ;;
+
+{ $as_echo "$as_me:$LINENO: checking for ibv_m_post_send in -lmverbs" >&5
+$as_echo_n "checking for ibv_m_post_send in -lmverbs... " >&6; }
+if test "${ac_cv_lib_mverbs_ibv_m_post_send+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lmverbs $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char ibv_m_post_send ();
+int
+main ()
+{
+return ibv_m_post_send ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_mverbs_ibv_m_post_send=yes
else
- debug=false
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_mverbs_ibv_m_post_send=no
fi
- if test x$debug = xtrue; then
- DEBUG_TRUE=
- DEBUG_FALSE='#'
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mverbs_ibv_m_post_send" >&5
+$as_echo "$ac_cv_lib_mverbs_ibv_m_post_send" >&6; }
+if test "x$ac_cv_lib_mverbs_ibv_m_post_send" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBMVERBS 1
+_ACEOF
+
+ LIBS="-lmverbs $LIBS"
+
else
- DEBUG_TRUE='#'
- DEBUG_FALSE=
+ { { $as_echo "$as_me:$LINENO: error: ibv_m_post_send() not found. Is libmverbs installed?" >&5
+$as_echo "$as_me: error: ibv_m_post_send() not found. Is libmverbs installed?" >&2;}
+ { (exit 1); exit 1; }; }
fi
-# Check whether --enable-ext-type was given.
-if test "${enable_ext_type+set}" = set; then
- enableval=$enable_ext_type; if test "x$enableval" = "xib" ; then
- ext_type=ib
+{ $as_echo "$as_me:$LINENO: checking for fca_init in -lfca" >&5
+$as_echo_n "checking for fca_init in -lfca... " >&6; }
+if test "${ac_cv_lib_fca_fca_init+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lfca $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char fca_init ();
+int
+main ()
+{
+return fca_init ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_fca_fca_init=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_fca_fca_init=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_fca_fca_init" >&5
+$as_echo "$ac_cv_lib_fca_fca_init" >&6; }
+if test "x$ac_cv_lib_fca_fca_init" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBFCA 1
+_ACEOF
+
+ LIBS="-lfca $LIBS"
+
+else
+ { { $as_echo "$as_me:$LINENO: error: fca_init() not found. Is libfca library installed?" >&5
+$as_echo "$as_me: error: fca_init() not found. Is libfca library installed?" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
elif test "x$enableval" = "xnone" ; then
- ext_type=none
+ coll_type=none
else
echo
echo "Error!"
- echo "Unknown extension type' type"
+ echo "Unknown IB collective type' type"
exit -1
fi
else
- ext_type=ib
+ coll_type=none
fi
- if test "$ext_type" = "ib"; then
- EXT_TYPE_IB_TRUE=
- EXT_TYPE_IB_FALSE='#'
+ if test "$coll_type" = "fca"; then
+ COLL_TYPE_FCA_TRUE=
+ COLL_TYPE_FCA_FALSE='#'
else
- EXT_TYPE_IB_TRUE='#'
- EXT_TYPE_IB_FALSE=
+ COLL_TYPE_FCA_TRUE='#'
+ COLL_TYPE_FCA_FALSE=
fi
@@ -12304,6 +13196,14 @@ LIBOBJS=$ac_libobjs
LTLIBOBJS=$ac_ltlibobjs
+ if test -n "$EXEEXT"; then
+ am__EXEEXT_TRUE=
+ am__EXEEXT_FALSE='#'
+else
+ am__EXEEXT_TRUE='#'
+ am__EXEEXT_FALSE=
+fi
+
if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
{ { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
@@ -12325,6 +13225,34 @@ $as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
+if test -z "${DEFINE_ATTR_LINK_LAYER_TRUE}" && test -z "${DEFINE_ATTR_LINK_LAYER_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"DEFINE_ATTR_LINK_LAYER\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"DEFINE_ATTR_LINK_LAYER\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${DEFINE_ATTR_LINK_LAYER_TRUE}" && test -z "${DEFINE_ATTR_LINK_LAYER_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"DEFINE_ATTR_LINK_LAYER\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"DEFINE_ATTR_LINK_LAYER\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${DEFINE_ATTR_LINK_LAYER_TRUE}" && test -z "${DEFINE_ATTR_LINK_LAYER_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"DEFINE_ATTR_LINK_LAYER\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"DEFINE_ATTR_LINK_LAYER\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${DAPL_USE_IBACM_TRUE}" && test -z "${DAPL_USE_IBACM_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"DAPL_USE_IBACM\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"DAPL_USE_IBACM\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
if test -z "${HAVE_LD_VERSION_SCRIPT_TRUE}" && test -z "${HAVE_LD_VERSION_SCRIPT_FALSE}"; then
{ { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_LD_VERSION_SCRIPT\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
@@ -12339,6 +13267,34 @@ $as_echo "$as_me: error: conditional \"DEBUG\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
+if test -z "${DEFINE_CMA_TRUE}" && test -z "${DEFINE_CMA_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"DEFINE_CMA\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"DEFINE_CMA\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${DEFINE_SCM_TRUE}" && test -z "${DEFINE_SCM_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"DEFINE_SCM\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"DEFINE_SCM\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${DEFINE_UCM_TRUE}" && test -z "${DEFINE_UCM_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"DEFINE_UCM\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"DEFINE_UCM\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${DEFINE_COUNTERS_TRUE}" && test -z "${DEFINE_COUNTERS_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"DEFINE_COUNTERS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"DEFINE_COUNTERS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
if test -z "${EXT_TYPE_IB_TRUE}" && test -z "${EXT_TYPE_IB_FALSE}"; then
{ { $as_echo "$as_me:$LINENO: error: conditional \"EXT_TYPE_IB\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
@@ -12346,6 +13302,13 @@ $as_echo "$as_me: error: conditional \"EXT_TYPE_IB\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
+if test -z "${COLL_TYPE_FCA_TRUE}" && test -z "${COLL_TYPE_FCA_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"COLL_TYPE_FCA\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"COLL_TYPE_FCA\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
if test -z "${OS_RHEL4_TRUE}" && test -z "${OS_RHEL4_FALSE}"; then
{ { $as_echo "$as_me:$LINENO: error: conditional \"OS_RHEL4\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
@@ -12689,7 +13652,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by dapl $as_me 2.0.19, which was
+This file was extended by dapl $as_me 2.0.42, which was
generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -12752,7 +13715,7 @@ Report bugs to <bug-autoconf at gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-dapl config.status 2.0.19
+dapl config.status 2.0.42
configured by $0, generated by GNU Autoconf 2.63,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
@@ -13791,27 +14754,28 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || # Autoconf 2.62 quotes --file arguments for eval, but not when files
-# are listed without --file. Let's play safe and only enable the eval
-# if we detect the quoting.
-case $CONFIG_FILES in
-*\'*) eval set x "$CONFIG_FILES" ;;
-*) set x $CONFIG_FILES ;;
-esac
-shift
-for mf
-do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`$as_dirname -- "$mf" ||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$mf" : 'X\(//\)[^/]' \| \
X"$mf" : 'X\(//\)$' \| \
@@ -13834,28 +14798,28 @@ $as_echo X"$mf" |
q
}
s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`$as_dirname -- "$file" ||
$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$file" : 'X\(//\)[^/]' \| \
X"$file" : 'X\(//\)$' \| \
@@ -13878,7 +14842,7 @@ $as_echo X"$file" |
q
}
s/.*/./; q'`
- { as_dir=$dirpart/$fdir
+ { as_dir=$dirpart/$fdir
case $as_dir in #(
-*) as_dir=./$as_dir;;
esac
@@ -13919,10 +14883,11 @@ $as_echo X"$as_dir" |
} || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
{ (exit 1); exit 1; }; }; }
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
done
-done
+}
;;
"libtool":C)
diff --git a/configure.in b/configure.in
index 930d67b..1c910cf 100644
--- a/configure.in
+++ b/configure.in
@@ -1,11 +1,11 @@
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.57)
-AC_INIT(dapl, 2.0.19, general at lists.openfabrics.org)
+AC_INIT(dapl, 2.0.42, linux-rdma at vger.kernel.org)
AC_CONFIG_SRCDIR([dat/udat/udat.c])
AC_CONFIG_AUX_DIR(config)
AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(dapl, 2.0.19)
+AM_INIT_AUTOMAKE(dapl, 2.0.42)
AM_PROG_LIBTOOL
@@ -23,15 +23,36 @@ if test "$disable_libcheck" != "yes"
then
AC_CHECK_LIB(ibverbs, ibv_get_device_list, [],
AC_MSG_ERROR([ibv_get_device_list() not found. libdapl requires libibverbs.]))
-fi
-dnl Checks for header files.
-if test "$disable_libcheck" != "yes"
-then
AC_CHECK_HEADER(infiniband/verbs.h, [],
AC_MSG_ERROR([<infiniband/verbs.h> not found. Is libibverbs installed?]))
+
+AC_CHECK_MEMBER(struct ibv_port_attr.link_layer,
+ AM_CONDITIONAL(DEFINE_ATTR_LINK_LAYER, test "yes" = "yes"),
+ AM_CONDITIONAL(DEFINE_ATTR_LINK_LAYER, test "yes" = "no"),
+ [#include <infiniband/verbs.h>])
+
+if test "$with_ib_acm" != "" && test "$with_ib_acm" != "no"; then
+AC_CHECK_MEMBER(struct ibv_path_record.service_id, [],
+ AC_MSG_ERROR([IB ACM support requires libibverbs 1.1.4 or greater.]),
+ [#include <infiniband/sa.h>])
+AC_CHECK_HEADER(infiniband/acm.h, [],
+ AC_MSG_ERROR([IB ACM requested but <infiniband/acm.h> not found.]))
fi
+else
+ AM_CONDITIONAL(DEFINE_ATTR_LINK_LAYER, test "yes" = "no")
+fi
+dnl End check for libraries
+
+if test "$with_ib_acm" != "" && test "$with_ib_acm" != "no"; then
+ AC_DEFINE(DAPL_USE_IBACM, 1, [set to 1 to use IB ACM services])
+ ac_use_acm=yes
+else
+ ac_use_acm=no
+fi
+AM_CONDITIONAL(DAPL_USE_IBACM, test "$ac_use_acm" = "yes")
+
AC_CACHE_CHECK(whether ld accepts --version-script, ac_cv_version_script,
if test -n "`$LD --help < /dev/null 2>/dev/null | grep version-script`"; then
ac_cv_version_script=yes
@@ -50,9 +71,53 @@ AC_ARG_ENABLE(debug,
esac],[debug=false])
AM_CONDITIONAL(DEBUG, test x$debug = xtrue)
+dnl Support to enable/disable CMA (rdma_cm) provider library build
+AC_ARG_ENABLE([cma],
+ AS_HELP_STRING([--disable-cma],[disable CMA (rdma_cm) provider build, default=enabled]),
+ [case "${enableval}" in
+ yes) cma=true ;;
+ no) cma=false ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-cma) ;;
+ esac],
+ [cma=true])
+AM_CONDITIONAL(DEFINE_CMA, test x$cma = xtrue)
+
+dnl Support to enable/disable SCM (socket CM) provider library build
+AC_ARG_ENABLE([scm],
+ AS_HELP_STRING([--disable-scm],[disable SCM (socket cm) provider build, default=enabled]),
+ [case "${enableval}" in
+ yes) scm=true ;;
+ no) scm=false ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-scm) ;;
+ esac],
+ [scm=true])
+AM_CONDITIONAL(DEFINE_SCM, test x$scm = xtrue)
+
+dnl Support to enable/disable UCM (IB UD cm) provider library build
+AC_ARG_ENABLE([ucm],
+ AS_HELP_STRING([--disable-ucm],[disable UCM (IB UD cm) provider build, default=enabled]),
+ [case "${enableval}" in
+ yes) ucm=true ;;
+ no) ucm=false ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-ucm) ;;
+ esac],
+ [ucm=true])
+AM_CONDITIONAL(DEFINE_UCM, test x$ucm = xtrue)
+
+dnl Support to enable/disable IB extended counters (CM,LINK,DIAG)
+AC_ARG_ENABLE([counters],
+ AS_HELP_STRING([--enable-counters],[enable counters provider build, default=disabled]),
+ [case "${enableval}" in
+ yes) counters=true ;;
+ no) counters=false ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-counters) ;;
+ esac],
+ [counters=false])
+AM_CONDITIONAL(DEFINE_COUNTERS, test x$counters = xtrue)
+
dnl Support ib_extension build - if enable-ext-type == ib
-AC_ARG_ENABLE(ext-type,
-[ --enable-ext-type Enable extensions support for library: ib, none, default=ib],
+AC_ARG_ENABLE([ext-type],
+ AS_HELP_STRING([--enable-ext-type],[enable extensions support for library: ib, none, default=ib]),
[ if test "x$enableval" = "xib" ; then
ext_type=ib
elif test "x$enableval" = "xnone" ; then
@@ -66,6 +131,28 @@ AC_ARG_ENABLE(ext-type,
],[ext_type=ib])
AM_CONDITIONAL(EXT_TYPE_IB, test "$ext_type" = "ib")
+dnl Support IB MPI collective extension build - if enable-coll-type == vendor_name
+AC_ARG_ENABLE([coll-type],
+ AS_HELP_STRING([--enable-coll-type],[enable IB collective support: fca, none, default=fca]),
+ [ if test "x$enableval" = "xfca" ; then
+ coll_type=fca
+ AC_CHECK_HEADER(fca/fca_api.h, [],
+ AC_MSG_ERROR([<fca/fca_api.h> not found. Is libfca devel package installed?]))
+ AC_CHECK_LIB(mverbs, ibv_m_post_send, [],
+ AC_MSG_ERROR([ibv_m_post_send() not found. Is libmverbs installed?]))
+ AC_CHECK_LIB(fca, fca_init, [],
+ AC_MSG_ERROR([fca_init() not found. Is libfca library installed?]))
+ elif test "x$enableval" = "xnone" ; then
+ coll_type=none
+ else
+ echo
+ echo "Error!"
+ echo "Unknown IB collective type' type"
+ exit -1
+ fi
+ ],[coll_type=none])
+AM_CONDITIONAL(COLL_TYPE_FCA, test "$coll_type" = "fca")
+
dnl Check for Redhat EL release 4
AC_CACHE_CHECK(Check for RHEL4 system, ac_cv_rhel4,
if test -f /etc/redhat-release &&
diff --git a/dapl.spec b/dapl.spec
index 8d38a67..d521ae7 100644
--- a/dapl.spec
+++ b/dapl.spec
@@ -32,7 +32,7 @@
#
# $Id: $
Name: dapl
-Version: 2.0.15
+Version: 2.0.42
Release: 1%{?dist}
Summary: A Library for userspace access to RDMA devices using OS Agnostic DAT APIs.
@@ -43,6 +43,8 @@ Source: http://www.openfabrics.org/downloads/%{name}/%{name}-%{version}.tar.gz
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
+Requires(post): sed
+Requires(post): coreutils
%description
Along with the OpenFabrics kernel drivers, libdat and libdapl provides a userspace
@@ -83,39 +85,18 @@ rm -rf %{buildroot}
make DESTDIR=%{buildroot} install
# remove unpackaged files from the buildroot
rm -f %{buildroot}%{_libdir}/*.la
-rm -f %{buildroot}%{_sysconfdir}/*.conf
%clean
rm -rf %{buildroot}
-%post
-/sbin/ldconfig
-if [ -e %{_sysconfdir}/dat.conf ]; then
- sed -e '/ofa-v2-.* u2/d' < %{_sysconfdir}/dat.conf > /tmp/$$ofadapl
- mv /tmp/$$ofadapl %{_sysconfdir}/dat.conf
-fi
-echo ofa-v2-ib0 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 '"ib0 0" ""' >> %{_sysconfdir}/dat.conf
-echo ofa-v2-ib1 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 '"ib1 0" ""' >> %{_sysconfdir}/dat.conf
-echo ofa-v2-mthca0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"mthca0 1" ""' >> %{_sysconfdir}/dat.conf
-echo ofa-v2-mthca0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"mthca0 2" ""' >> %{_sysconfdir}/dat.conf
-echo ofa-v2-mlx4_0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"mlx4_0 1" ""' >> %{_sysconfdir}/dat.conf
-echo ofa-v2-mlx4_0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"mlx4_0 2" ""' >> %{_sysconfdir}/dat.conf
-echo ofa-v2-ipath0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"ipath0 1" ""' >> %{_sysconfdir}/dat.conf
-echo ofa-v2-ipath0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"ipath0 2" ""' >> %{_sysconfdir}/dat.conf
-echo ofa-v2-ehca0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"ehca0 1" ""' >> %{_sysconfdir}/dat.conf
-echo ofa-v2-iwarp u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 '"eth2 0" ""' >> %{_sysconfdir}/dat.conf
-
-%postun
-/sbin/ldconfig
-if [ -e %{_sysconfdir}/dat.conf ]; then
- sed -e '/ofa-v2-.* u2/d' < %{_sysconfdir}/dat.conf > /tmp/$$ofadapl
- mv /tmp/$$ofadapl %{_sysconfdir}/dat.conf
-fi
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%{_libdir}/libda*.so.*
-%doc AUTHORS README ChangeLog
+%{_sysconfdir}/dat.conf
+%doc AUTHORS README COPYING ChangeLog LICENSE.txt LICENSE2.txt LICENSE3.txt
%files devel
%defattr(-,root,root,-)
@@ -134,6 +115,87 @@ fi
%{_mandir}/man5/*.5*
%changelog
+* Mon May 4 2014 Arlin Davis <ardavis at ichips.intel.com> - 2.0.42
+- DAT/DAPL Version 2.0.42 Release 1, OFED 3.12 GA
+
+* Fri Mar 14 2014 Arlin Davis <ardavis at ichips.intel.com> - 2.0.41
+- DAT/DAPL Version 2.0.41 Release 1, OFED 3.12 GA
+
+* Mon Feb 10 2014 Arlin Davis <ardavis at ichips.intel.com> - 2.0.40
+- DAT/DAPL Version 2.0.40 Release 1, OFED 3.12
+
+* Thu Oct 3 2013 Arlin Davis <ardavis at ichips.intel.com> - 2.0.39
+- DAT/DAPL Version 2.0.39 Release 1, OFED 3.5-2
+
+* Mon Jul 22 2013 Arlin Davis <ardavis at ichips.intel.com> - 2.0.38
+- DAT/DAPL Version 2.0.38 Release 1, OFED 3.5.2
+
+* Thu Jun 6 2013 Arlin Davis <ardavis at ichips.intel.com> - 2.0.37
+- DAT/DAPL Version 2.0.37 Release 1, OFED 3.5.2
+
+* Thu Aug 5 2012 Arlin Davis <ardavis at ichips.intel.com> - 2.0.36
+- DAT/DAPL Version 2.0.36 Release 1, OFED 3.x
+
+* Mon Apr 23 2012 Arlin Davis <ardavis at ichips.intel.com> - 2.0.35
+- DAT/DAPL Version 2.0.35 Release 1, OFED 3.2
+
+* Wed Nov 2 2011 Arlin Davis <ardavis at ichips.intel.com> - 2.0.34
+- DAT/DAPL Version 2.0.34 Release 1, OFED 1.5.4 GA
+
+* Mon Aug 29 2011 Arlin Davis <ardavis at ichips.intel.com> - 2.0.33
+- DAT/DAPL Version 2.0.33 Release 1, OFED 1.5.4 RC1
+
+* Sun Feb 13 2011 Arlin Davis <ardavis at ichips.intel.com> - 2.0.32
+- DAT/DAPL Version 2.0.32 Release 1, OFED 1.5.3 GA
+
+* Fri Dec 10 2010 Arlin Davis <ardavis at ichips.intel.com> - 2.0.31
+- DAT/DAPL Version 2.0.31 Release 1, OFED 1.5.3
+
+* Mon Aug 9 2010 Arlin Davis <ardavis at ichips.intel.com> - 2.0.30
+- DAT/DAPL Version 2.0.30 Release 1, OFED 1.5.2 RC4
+
+* Thu Jun 17 2010 Arlin Davis <ardavis at ichips.intel.com> - 2.0.29
+- DAT/DAPL Version 2.0.29 Release 1, OFED 1.5.2 RC2
+
+* Mon May 24 2010 Arlin Davis <ardavis at ichips.intel.com> - 2.0.28
+- DAT/DAPL Version 2.0.28 Release 1, OFED 1.5.2 RC1
+
+* Tue Feb 23 2010 Arlin Davis <ardavis at ichips.intel.com> - 2.0.27
+- DAT/DAPL Version 2.0.27 Release 1, OFED 1.5.1
+
+* Tue Jan 11 2010 Arlin Davis <ardavis at ichips.intel.com> - 2.0.26
+- DAT/DAPL Version 2.0.26 Release 1, OFED 1.5, OFED 1.5-RDMAoE
+
+* Tue Nov 24 2009 Arlin Davis <ardavis at ichips.intel.com> - 2.0.25
+- DAT/DAPL Version 2.0.25 Release 1, OFED 1.5 RC3
+
+* Fri Oct 30 2009 Arlin Davis <ardavis at ichips.intel.com> - 2.0.24
+- DAT/DAPL Version 2.0.24 Release 1, OFED 1.5 RC2
+
+* Fri Oct 2 2009 Arlin Davis <ardavis at ichips.intel.com> - 2.0.23
+- DAT/DAPL Version 2.0.23 Release 1, OFED 1.5 RC1
+
+* Wed Aug 19 2009 Arlin Davis <ardavis at ichips.intel.com> - 2.0.22
+- DAT/DAPL Version 2.0.22 Release 1, OFED 1.5 ALPHA new UCM provider
+
+* Wed Aug 5 2009 Arlin Davis <ardavis at ichips.intel.com> - 2.0.21
+- DAT/DAPL Version 2.0.21 Release 1, WinOF 2.1, OFED 1.4.1+
+
+* Fri Jun 19 2009 Arlin Davis <ardavis at ichips.intel.com> - 2.0.20
+- DAT/DAPL Version 2.0.20 Release 1, OFED 1.4.1 + UD reject/scaling fixes
+
+* Thu Apr 30 2009 Arlin Davis <ardavis at ichips.intel.com> - 2.0.19
+- DAT/DAPL Version 2.0.19 Release 1, OFED 1.4.1 GA Final
+
+* Fri Apr 17 2009 Arlin Davis <ardavis at ichips.intel.com> - 2.0.18
+- DAT/DAPL Version 2.0.18 Release 1, OFED 1.4.1 GA
+
+* Tue Mar 31 2009 Arlin Davis <ardavis at ichips.intel.com> - 2.0.17
+- DAT/DAPL Version 2.0.17 Release 1, OFED 1.4.1 GA
+
+* Mon Mar 16 2009 Arlin Davis <ardavis at ichips.intel.com> - 2.0.16
+- DAT/DAPL Version 2.0.16 Release 1, OFED 1.4.1
+
* Fri Nov 07 2008 Arlin Davis <ardavis at ichips.intel.com> - 2.0.15
- DAT/DAPL Version 2.0.15 Release 1, OFED 1.4 GA
diff --git a/dapl.spec.in b/dapl.spec.in
index 432785b..22644e7 100644
--- a/dapl.spec.in
+++ b/dapl.spec.in
@@ -85,39 +85,18 @@ rm -rf %{buildroot}
make DESTDIR=%{buildroot} install
# remove unpackaged files from the buildroot
rm -f %{buildroot}%{_libdir}/*.la
-rm -f %{buildroot}%{_sysconfdir}/*.conf
%clean
rm -rf %{buildroot}
-%post
-/sbin/ldconfig
-if [ -e %{_sysconfdir}/dat.conf ]; then
- sed -e '/ofa-v2-.* u2/d' < %{_sysconfdir}/dat.conf > /tmp/$$ofadapl
- mv /tmp/$$ofadapl %{_sysconfdir}/dat.conf
-fi
-echo ofa-v2-ib0 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 '"ib0 0" ""' >> %{_sysconfdir}/dat.conf
-echo ofa-v2-ib1 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 '"ib1 0" ""' >> %{_sysconfdir}/dat.conf
-echo ofa-v2-mthca0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"mthca0 1" ""' >> %{_sysconfdir}/dat.conf
-echo ofa-v2-mthca0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"mthca0 2" ""' >> %{_sysconfdir}/dat.conf
-echo ofa-v2-mlx4_0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"mlx4_0 1" ""' >> %{_sysconfdir}/dat.conf
-echo ofa-v2-mlx4_0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"mlx4_0 2" ""' >> %{_sysconfdir}/dat.conf
-echo ofa-v2-ipath0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"ipath0 1" ""' >> %{_sysconfdir}/dat.conf
-echo ofa-v2-ipath0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"ipath0 2" ""' >> %{_sysconfdir}/dat.conf
-echo ofa-v2-ehca0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 '"ehca0 1" ""' >> %{_sysconfdir}/dat.conf
-echo ofa-v2-iwarp u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 '"eth2 0" ""' >> %{_sysconfdir}/dat.conf
-
-%postun
-/sbin/ldconfig
-if [ -e %{_sysconfdir}/dat.conf ]; then
- sed -e '/ofa-v2-.* u2/d' < %{_sysconfdir}/dat.conf > /tmp/$$ofadapl
- mv /tmp/$$ofadapl %{_sysconfdir}/dat.conf
-fi
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%{_libdir}/libda*.so.*
-%doc AUTHORS README ChangeLog
+%{_sysconfdir}/dat.conf
+%doc AUTHORS README COPYING ChangeLog LICENSE.txt LICENSE2.txt LICENSE3.txt
%files devel
%defattr(-,root,root,-)
@@ -136,6 +115,75 @@ fi
%{_mandir}/man5/*.5*
%changelog
+* Mon May 4 2014 Arlin Davis <ardavis at ichips.intel.com> - 2.0.42
+- DAT/DAPL Version 2.0.42 Release 1, OFED 3.12 GA
+
+* Fri Mar 14 2014 Arlin Davis <ardavis at ichips.intel.com> - 2.0.41
+- DAT/DAPL Version 2.0.41 Release 1, OFED 3.12 GA
+
+* Mon Feb 10 2014 Arlin Davis <ardavis at ichips.intel.com> - 2.0.40
+- DAT/DAPL Version 2.0.40 Release 1, OFED 3.12
+
+* Thu Oct 3 2013 Arlin Davis <ardavis at ichips.intel.com> - 2.0.39
+- DAT/DAPL Version 2.0.39 Release 1, OFED 3.5-2
+
+* Mon Jul 22 2013 Arlin Davis <ardavis at ichips.intel.com> - 2.0.38
+- DAT/DAPL Version 2.0.38 Release 1, OFED 3.5.2
+
+* Thu Jun 6 2013 Arlin Davis <ardavis at ichips.intel.com> - 2.0.37
+- DAT/DAPL Version 2.0.37 Release 1, OFED 3.5.2
+
+* Thu Aug 5 2012 Arlin Davis <ardavis at ichips.intel.com> - 2.0.36
+- DAT/DAPL Version 2.0.36 Release 1, OFED 3.x
+
+* Mon Apr 23 2012 Arlin Davis <ardavis at ichips.intel.com> - 2.0.35
+- DAT/DAPL Version 2.0.35 Release 1, OFED 3.2
+
+* Wed Nov 2 2011 Arlin Davis <ardavis at ichips.intel.com> - 2.0.34
+- DAT/DAPL Version 2.0.34 Release 1, OFED 1.5.4 GA
+
+* Mon Aug 29 2011 Arlin Davis <ardavis at ichips.intel.com> - 2.0.33
+- DAT/DAPL Version 2.0.33 Release 1, OFED 1.5.4 RC1
+
+* Sun Feb 13 2011 Arlin Davis <ardavis at ichips.intel.com> - 2.0.32
+- DAT/DAPL Version 2.0.32 Release 1, OFED 1.5.3 GA
+
+* Fri Dec 10 2010 Arlin Davis <ardavis at ichips.intel.com> - 2.0.31
+- DAT/DAPL Version 2.0.31 Release 1, OFED 1.5.3
+
+* Mon Aug 9 2010 Arlin Davis <ardavis at ichips.intel.com> - 2.0.30
+- DAT/DAPL Version 2.0.30 Release 1, OFED 1.5.2 RC4
+
+* Thu Jun 17 2010 Arlin Davis <ardavis at ichips.intel.com> - 2.0.29
+- DAT/DAPL Version 2.0.29 Release 1, OFED 1.5.2 RC2
+
+* Mon May 24 2010 Arlin Davis <ardavis at ichips.intel.com> - 2.0.28
+- DAT/DAPL Version 2.0.28 Release 1, OFED 1.5.2 RC1
+
+* Tue Feb 23 2010 Arlin Davis <ardavis at ichips.intel.com> - 2.0.27
+- DAT/DAPL Version 2.0.27 Release 1, OFED 1.5.1
+
+* Tue Jan 11 2010 Arlin Davis <ardavis at ichips.intel.com> - 2.0.26
+- DAT/DAPL Version 2.0.26 Release 1, OFED 1.5, OFED 1.5-RDMAoE
+
+* Tue Nov 24 2009 Arlin Davis <ardavis at ichips.intel.com> - 2.0.25
+- DAT/DAPL Version 2.0.25 Release 1, OFED 1.5 RC3
+
+* Fri Oct 30 2009 Arlin Davis <ardavis at ichips.intel.com> - 2.0.24
+- DAT/DAPL Version 2.0.24 Release 1, OFED 1.5 RC2
+
+* Fri Oct 2 2009 Arlin Davis <ardavis at ichips.intel.com> - 2.0.23
+- DAT/DAPL Version 2.0.23 Release 1, OFED 1.5 RC1
+
+* Wed Aug 19 2009 Arlin Davis <ardavis at ichips.intel.com> - 2.0.22
+- DAT/DAPL Version 2.0.22 Release 1, OFED 1.5 ALPHA new UCM provider
+
+* Wed Aug 5 2009 Arlin Davis <ardavis at ichips.intel.com> - 2.0.21
+- DAT/DAPL Version 2.0.21 Release 1, WinOF 2.1, OFED 1.4.1+
+
+* Fri Jun 19 2009 Arlin Davis <ardavis at ichips.intel.com> - 2.0.20
+- DAT/DAPL Version 2.0.20 Release 1, OFED 1.4.1 + UD reject/scaling fixes
+
* Thu Apr 30 2009 Arlin Davis <ardavis at ichips.intel.com> - 2.0.19
- DAT/DAPL Version 2.0.19 Release 1, OFED 1.4.1 GA Final
diff --git a/dapl/common/dapl_adapter_util.h b/dapl/common/dapl_adapter_util.h
index 1a8b7cc..92cb9b7 100755
--- a/dapl/common/dapl_adapter_util.h
+++ b/dapl/common/dapl_adapter_util.h
@@ -239,35 +239,22 @@ DAT_RETURN dapls_ib_cm_remote_addr (
IN DAT_HANDLE dat_handle,
OUT DAT_SOCK_ADDR6 *remote_ia_address);
-int dapls_ib_private_data_size (
- IN DAPL_PRIVATE *prd_ptr,
- IN DAPL_PDATA_OP conn_op,
- IN DAPL_HCA *hca_ptr);
+int dapls_ib_private_data_size(
+ IN DAPL_HCA *hca_ptr);
void
dapls_query_provider_specific_attr(
IN DAPL_IA *ia_ptr,
IN DAT_PROVIDER_ATTR *attr_ptr );
-#ifdef CQ_WAIT_OBJECT
DAT_RETURN
-dapls_ib_wait_object_create (
- IN DAPL_EVD *evd_ptr,
- IN ib_wait_obj_handle_t *p_cq_wait_obj_handle);
-
-DAT_RETURN
-dapls_ib_wait_object_destroy (
- IN ib_wait_obj_handle_t cq_wait_obj_handle);
+dapls_evd_dto_wakeup (
+ IN DAPL_EVD *evd_ptr);
DAT_RETURN
-dapls_ib_wait_object_wakeup (
- IN ib_wait_obj_handle_t cq_wait_obj_handle);
-
-DAT_RETURN
-dapls_ib_wait_object_wait (
- IN ib_wait_obj_handle_t cq_wait_obj_handle,
+dapls_evd_dto_wait (
+ IN DAPL_EVD *evd_ptr,
IN uint32_t timeout);
-#endif
#ifdef DAT_EXTENSIONS
void
diff --git a/dapl/common/dapl_cno_util.c b/dapl/common/dapl_cno_util.c
index 2215f29..cad9747 100755
--- a/dapl/common/dapl_cno_util.c
+++ b/dapl/common/dapl_cno_util.c
@@ -148,9 +148,6 @@ void dapl_cno_dealloc(IN DAPL_CNO * cno_ptr)
void dapl_internal_cno_trigger(IN DAPL_CNO * cno_ptr, IN DAPL_EVD * evd_ptr)
{
DAT_RETURN dat_status;
-#if defined(__KDAPL__)
- DAT_EVENT event;
-#endif /* defined(__KDAPL__) */
dat_status = DAT_SUCCESS;
@@ -167,20 +164,14 @@ void dapl_internal_cno_trigger(IN DAPL_CNO * cno_ptr, IN DAPL_EVD * evd_ptr)
dapl_os_assert(cno_ptr->cno_state != DAPL_CNO_STATE_DEAD);
if (cno_ptr->cno_state == DAPL_CNO_STATE_UNTRIGGERED) {
-#if !defined(__KDAPL__)
DAT_OS_WAIT_PROXY_AGENT agent;
/* Squirrel away wait agent, and delete link. */
agent = cno_ptr->cno_wait_agent;
-#endif /* !defined(__KDAPL__) */
/* Separate assignments for windows compiler. */
#ifndef _WIN32
-#if defined(__KDAPL__)
- cno_ptr->cno_upcall = DAT_UPCALL_NULL;
-#else
cno_ptr->cno_wait_agent = DAT_OS_WAIT_PROXY_AGENT_NULL;
-#endif /* defined(__KDAPL__) */
#else
cno_ptr->cno_wait_agent.instance_data = NULL;
cno_ptr->cno_wait_agent.proxy_agent_func = NULL;
@@ -200,43 +191,12 @@ void dapl_internal_cno_trigger(IN DAPL_CNO * cno_ptr, IN DAPL_EVD * evd_ptr)
dapl_os_unlock(&cno_ptr->header.lock);
/* Trigger the OS proxy wait agent, if one exists. */
-#if defined(__KDAPL__)
- dat_status = dapl_evd_dequeue((DAT_EVD_HANDLE) evd_ptr, &event);
- while (dat_status == DAT_SUCCESS) {
- if (cno_ptr->cno_upcall.upcall_func !=
- (DAT_UPCALL_FUNC) NULL) {
- cno_ptr->cno_upcall.upcall_func(cno_ptr->
- cno_upcall.
- instance_data,
- &event,
- DAT_FALSE);
- }
- dat_status = dapl_evd_dequeue((DAT_EVD_HANDLE) evd_ptr,
- &event);
- }
-#else
if (agent.proxy_agent_func != (DAT_AGENT_FUNC) NULL) {
agent.proxy_agent_func(agent.instance_data,
(DAT_EVD_HANDLE) evd_ptr);
}
-#endif /* defined(__KDAPL__) */
} else {
dapl_os_unlock(&cno_ptr->header.lock);
-#if defined(__KDAPL__)
- dat_status = dapl_evd_dequeue((DAT_EVD_HANDLE) evd_ptr, &event);
- while (dat_status == DAT_SUCCESS) {
- if (cno_ptr->cno_upcall.upcall_func !=
- (DAT_UPCALL_FUNC) NULL) {
- cno_ptr->cno_upcall.upcall_func(cno_ptr->
- cno_upcall.
- instance_data,
- &event,
- DAT_FALSE);
- }
- dat_status = dapl_evd_dequeue((DAT_EVD_HANDLE) evd_ptr,
- &event);
- }
-#endif /* defined(__KDAPL__) */
}
return;
diff --git a/dapl/common/dapl_cr_accept.c b/dapl/common/dapl_cr_accept.c
index 76a841e..4e48fea 100644
--- a/dapl/common/dapl_cr_accept.c
+++ b/dapl/common/dapl_cr_accept.c
@@ -180,12 +180,13 @@ dapl_cr_accept(IN DAT_CR_HANDLE cr_handle,
entry_ep_state = ep_ptr->param.ep_state;
entry_ep_handle = cr_ptr->param.local_ep_handle;
ep_ptr->param.ep_state = DAT_EP_STATE_COMPLETION_PENDING;
- ep_ptr->cm_handle = cr_ptr->ib_cm_handle;
- ep_ptr->cr_ptr = cr_ptr;
- ep_ptr->param.remote_ia_address_ptr =
- cr_ptr->param.remote_ia_address_ptr;
- cr_ptr->param.local_ep_handle = ep_handle;
+ /* UD supports multiple CR's per EP, provider will manage CR's */
+ if (ep_ptr->param.ep_attr.service_type == DAT_SERVICE_TYPE_RC) {
+ ep_ptr->cr_ptr = cr_ptr;
+ ep_ptr->param.remote_ia_address_ptr = cr_ptr->param.remote_ia_address_ptr;
+ }
+ cr_ptr->param.local_ep_handle = ep_handle;
dapl_os_unlock(&ep_ptr->header.lock);
dat_status = dapls_ib_accept_connection(cr_handle,
diff --git a/dapl/common/dapl_cr_callback.c b/dapl/common/dapl_cr_callback.c
index 2340489..8bfbb3e 100644
--- a/dapl/common/dapl_cr_callback.c
+++ b/dapl/common/dapl_cr_callback.c
@@ -51,6 +51,7 @@
DAT_RETURN dapli_connection_request(IN dp_ib_cm_handle_t ib_cm_handle,
IN DAPL_SP * sp_ptr,
IN DAPL_PRIVATE * prd_ptr,
+ IN int private_data_size,
IN DAPL_EVD * evd_ptr);
DAPL_EP *dapli_get_sp_ep(IN dp_ib_cm_handle_t ib_cm_handle,
@@ -74,8 +75,9 @@ DAPL_EP *dapli_get_sp_ep(IN dp_ib_cm_handle_t ib_cm_handle,
* None
*
*/
-void dapls_cr_callback(IN dp_ib_cm_handle_t ib_cm_handle, IN const ib_cm_events_t ib_cm_event, IN const void *private_data_ptr, /* event data */
- IN const void *context)
+void dapls_cr_callback(IN dp_ib_cm_handle_t ib_cm_handle, IN const ib_cm_events_t ib_cm_event,
+ IN const void *private_data_ptr, IN const int private_data_size,
+ IN const void *context)
{
DAPL_EP *ep_ptr;
DAPL_EVD *evd_ptr;
@@ -150,8 +152,8 @@ void dapls_cr_callback(IN dp_ib_cm_handle_t ib_cm_handle, IN const ib_cm_events_
dapl_os_lock(&sp_ptr->header.lock);
if (sp_ptr->listening == DAT_FALSE) {
dapl_os_unlock(&sp_ptr->header.lock);
- dapl_dbg_log(DAPL_DBG_TYPE_CM,
- "---> dapls_cr_callback: conn event on down SP\n");
+ dapl_log(DAPL_DBG_TYPE_CM_WARN,
+ " cr_callback: CR event on non-listening SP\n");
(void)dapls_ib_reject_connection(ib_cm_handle,
DAT_CONNECTION_EVENT_UNREACHABLE,
0, NULL);
@@ -174,8 +176,7 @@ void dapls_cr_callback(IN dp_ib_cm_handle_t ib_cm_handle, IN const ib_cm_events_
* event if appropriate.
*/
dat_status = dapli_connection_request(ib_cm_handle,
- sp_ptr,
- prd_ptr, evd_ptr);
+ sp_ptr, prd_ptr, private_data_size, evd_ptr);
/* Set evd_ptr = NULL so we don't generate an event below */
evd_ptr = NULL;
@@ -205,7 +206,6 @@ void dapls_cr_callback(IN dp_ib_cm_handle_t ib_cm_handle, IN const ib_cm_events_
}
ep_ptr->param.ep_state = DAT_EP_STATE_CONNECTED;
- ep_ptr->cm_handle = ib_cm_handle;
dapl_os_unlock(&ep_ptr->header.lock);
break;
@@ -242,7 +242,6 @@ void dapls_cr_callback(IN dp_ib_cm_handle_t ib_cm_handle, IN const ib_cm_events_
*/
dapl_os_lock(&ep_ptr->header.lock);
ep_ptr->param.ep_state = DAT_EP_STATE_DISCONNECTED;
- ep_ptr->cm_handle = IB_INVALID_HANDLE;
dapls_ib_disconnect_clean(ep_ptr, DAT_FALSE,
ib_cm_event);
dapl_os_unlock(&ep_ptr->header.lock);
@@ -308,7 +307,8 @@ void dapls_cr_callback(IN dp_ib_cm_handle_t ib_cm_handle, IN const ib_cm_events_
DAT_RETURN
dapli_connection_request(IN dp_ib_cm_handle_t ib_cm_handle,
IN DAPL_SP * sp_ptr,
- IN DAPL_PRIVATE * prd_ptr, IN DAPL_EVD * evd_ptr)
+ IN DAPL_PRIVATE * prd_ptr, IN int private_data_size,
+ IN DAPL_EVD * evd_ptr)
{
DAT_RETURN dat_status;
@@ -346,14 +346,7 @@ dapli_connection_request(IN dp_ib_cm_handle_t ib_cm_handle,
/* Private data size will be determined by the provider layer */
cr_ptr->param.private_data = cr_ptr->private_data;
- if (prd_ptr == NULL) {
- cr_ptr->param.private_data_size = 0;
- } else {
- cr_ptr->param.private_data_size =
- dapls_ib_private_data_size(prd_ptr, DAPL_PDATA_CONN_REQ,
- sp_ptr->header.owner_ia->
- hca_ptr);
- }
+ cr_ptr->param.private_data_size = private_data_size;
if (cr_ptr->param.private_data_size > 0) {
dapl_os_memcpy(cr_ptr->private_data,
prd_ptr->private_data,
@@ -401,7 +394,7 @@ dapli_connection_request(IN dp_ib_cm_handle_t ib_cm_handle,
ep_ptr->param.ep_state =
DAT_EP_STATE_PASSIVE_CONNECTION_PENDING;
}
- ep_ptr->cm_handle = ib_cm_handle;
+ dapl_ep_link_cm(ep_ptr, ib_cm_handle);
}
/* link the CR onto the SP so we can pick it up later */
@@ -421,7 +414,6 @@ dapli_connection_request(IN dp_ib_cm_handle_t ib_cm_handle,
(DAT_CR_HANDLE) cr_ptr);
if (dat_status != DAT_SUCCESS) {
- dapls_cr_free(cr_ptr);
(void)dapls_ib_reject_connection(ib_cm_handle,
DAT_CONNECTION_EVENT_BROKEN,
0, NULL);
@@ -430,6 +422,7 @@ dapli_connection_request(IN dp_ib_cm_handle_t ib_cm_handle,
dapl_os_lock(&sp_ptr->header.lock);
dapl_sp_remove_cr(sp_ptr, cr_ptr);
dapl_os_unlock(&sp_ptr->header.lock);
+ dapls_cr_free(cr_ptr);
return DAT_INSUFFICIENT_RESOURCES;
}
@@ -506,7 +499,8 @@ DAPL_EP *dapli_get_sp_ep(IN dp_ib_cm_handle_t ib_cm_handle,
* up after the last CR is removed
*/
if (sp_ptr->listening != DAT_TRUE && sp_ptr->cr_list_count == 0
- && sp_ptr->state != DAPL_SP_STATE_FREE) {
+ && sp_ptr->state != DAPL_SP_STATE_FREE
+ && sp_ptr->state != DAPL_SP_STATE_RSP_LISTENING) {
dapl_dbg_log(DAPL_DBG_TYPE_CM,
"--> dapli_get_sp_ep! disconnect dump sp: %p \n",
sp_ptr);
diff --git a/dapl/common/dapl_cr_util.c b/dapl/common/dapl_cr_util.c
index 39b61ad..5970fa0 100644
--- a/dapl/common/dapl_cr_util.c
+++ b/dapl/common/dapl_cr_util.c
@@ -81,7 +81,7 @@ DAPL_CR *dapls_cr_alloc(DAPL_IA * ia_ptr)
/*
* dapls_cr_free
*
- * Free the passed in EP structure.
+ * Free the passed in CR structure.
*
* Input:
* entry point pointer
diff --git a/dapl/common/dapl_cr_util.h b/dapl/common/dapl_cr_util.h
index 33aed7c..cec980f 100644
--- a/dapl/common/dapl_cr_util.h
+++ b/dapl/common/dapl_cr_util.h
@@ -52,7 +52,8 @@ void
dapls_cr_callback (
IN dp_ib_cm_handle_t ib_cm_handle,
IN const ib_cm_events_t ib_cm_event,
- IN const void *instant_data_p,
+ IN const void *private_data_ptr,
+ IN const int private_data_size,
IN const void *context);
#endif /* _DAPL_CR_UTIL_H_ */
diff --git a/dapl/common/dapl_debug.c b/dapl/common/dapl_debug.c
index ba33cfc..cb45496 100644
--- a/dapl/common/dapl_debug.c
+++ b/dapl/common/dapl_debug.c
@@ -36,6 +36,8 @@ DAPL_DBG_DEST g_dapl_dbg_dest; /* initialized in dapl_init.c */
static char *_ptr_host_ = NULL;
static char _hostname_[128];
+static DAPL_OS_TIMEVAL start_t, current_t, last_t; /* microsecond timeStamp STDOUT */
+static int delta_t, total_t;
void dapl_internal_dbg_log(DAPL_DBG_TYPE type, const char *fmt, ...)
{
@@ -44,13 +46,20 @@ void dapl_internal_dbg_log(DAPL_DBG_TYPE type, const char *fmt, ...)
if (_ptr_host_ == NULL) {
gethostname(_hostname_, sizeof(_hostname_));
_ptr_host_ = _hostname_;
+ dapl_os_get_time(&start_t);
+ last_t = start_t;
}
if (type & g_dapl_dbg_type) {
if (DAPL_DBG_DEST_STDOUT & g_dapl_dbg_dest) {
+ dapl_os_get_time(¤t_t);
+ delta_t = current_t - last_t;
+ total_t = current_t - start_t;
+ last_t = current_t;
va_start(args, fmt);
- fprintf(stdout, "%s:%d: ", _ptr_host_,
- dapl_os_getpid());
+ fprintf(stdout, "%s:%x:%x: %d us(%d us%s): ",
+ _ptr_host_, dapl_os_getpid(), dapl_os_gettid(),
+ total_t, delta_t, delta_t > 500000 ? "!!!":"");
dapl_os_vprintf(fmt, args);
va_end(args);
}
@@ -65,6 +74,328 @@ void dapl_internal_dbg_log(DAPL_DBG_TYPE type, const char *fmt, ...)
#ifdef DAPL_COUNTERS
+static int rd_ctr(const char *dev,
+ const char *file,
+ int port,
+ DAT_IA_COUNTER_TYPE type,
+ DAT_UINT64 *value)
+{
+ char *f_path;
+ int len, fd;
+ char vstr[21];
+ char pstr[2];
+
+ sprintf(pstr, "%d", port);
+ *value = 0;
+
+ switch (type) {
+ case DCNT_IA_CM:
+ if (asprintf(&f_path, "/sys/class/infiniband_cm/%s/%s/%s", dev, pstr, file) < 0)
+ return -1;
+ break;
+ case DCNT_IA_LNK:
+ if (asprintf(&f_path, "%s/ports/%s/counters/%s", dev, pstr, file) < 0)
+ return -1;
+ break;
+ case DCNT_IA_DIAG:
+ if (asprintf(&f_path, "%s/diag_counters/%s", dev, file) < 0)
+ return -1;
+ break;
+ default:
+ return -1;
+ }
+
+ fd = open(f_path, O_RDONLY);
+ if (fd < 0) {
+ free(f_path);
+ return -1;
+ }
+
+ len = read(fd, vstr, 21);
+
+ if (len > 0 && vstr[--len] == '\n')
+ vstr[len] = '\0';
+
+ *value = (DAT_UINT64)atoi(vstr);
+
+ close(fd);
+ free(f_path);
+ return 0;
+}
+
+#ifdef _OPENIB_CMA_
+static void dapl_start_cm_cntrs(DAT_HANDLE dh)
+{
+ DAPL_IA *ia = (DAPL_IA *)dh;
+ const char *dev = ibv_get_device_name(ia->hca_ptr->ib_trans.ib_dev);
+ int port = ia->hca_ptr->port_num;
+ DAT_UINT64 *cntrs = (DAT_UINT64 *)ia->cntrs;
+
+ rd_ctr(dev,"cm_tx_msgs/req", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_REQ_TX]);
+ rd_ctr(dev,"cm_tx_msgs/rep", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_REP_TX]);
+ rd_ctr(dev,"cm_tx_msgs/rtu", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_RTU_TX]);
+ rd_ctr(dev,"cm_tx_msgs/rej", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_USER_REJ_TX]);
+ rd_ctr(dev,"cm_tx_msgs/mra", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_MRA_TX]);
+ rd_ctr(dev,"cm_tx_msgs/dreq", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_DREQ_TX]);
+ rd_ctr(dev,"cm_tx_msgs/drep", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_DREP_TX]);
+
+ rd_ctr(dev,"cm_rx_msgs/req", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_REQ_RX]);
+ rd_ctr(dev,"cm_rx_msgs/rep", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_REP_RX]);
+ rd_ctr(dev,"cm_rx_msgs/rtu", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_RTU_RX]);
+ rd_ctr(dev,"cm_rx_msgs/rej", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_USER_REJ_RX]);
+ rd_ctr(dev,"cm_rx_msgs/mra", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_MRA_RX]);
+ rd_ctr(dev,"cm_rx_msgs/dreq", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_DREQ_RX]);
+ rd_ctr(dev,"cm_rx_msgs/drep", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_DREP_RX]);
+
+ rd_ctr(dev,"cm_tx_retries/req", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_ERR_REQ_RETRY]);
+ rd_ctr(dev,"cm_tx_retries/rep", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_ERR_REP_RETRY]);
+ rd_ctr(dev,"cm_tx_retries/rtu", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_ERR_RTU_RETRY]);
+ rd_ctr(dev,"cm_tx_retries/mra", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_ERR_MRA_RETRY]);
+ rd_ctr(dev,"cm_tx_retries/dreq", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_ERR_DREQ_RETRY]);
+ rd_ctr(dev,"cm_tx_retries/drep", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_ERR_DREP_RETRY]);
+
+ rd_ctr(dev,"cm_tx_duplicates/req", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_ERR_REQ_DUP]);
+ rd_ctr(dev,"cm_tx_duplicates/rep", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_ERR_REP_DUP]);
+ rd_ctr(dev,"cm_tx_duplicates/rtu", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_ERR_RTU_DUP]);
+ rd_ctr(dev,"cm_tx_duplicates/mra", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_ERR_MRA_DUP]);
+ rd_ctr(dev,"cm_tx_duplicates/dreq", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_ERR_DREQ_DUP]);
+ rd_ctr(dev,"cm_tx_duplicates/drep", port, DCNT_IA_CM, &cntrs[DCNT_IA_CM_ERR_DREP_DUP]);
+}
+
+static void dapl_stop_cm_cntrs(DAT_HANDLE dh)
+{
+ DAPL_IA *ia = (DAPL_IA *)dh;
+ const char *dev = ibv_get_device_name(ia->hca_ptr->ib_trans.ib_dev);
+ int port = ia->hca_ptr->port_num;
+ DAT_UINT64 *cntrs = (DAT_UINT64 *)ia->cntrs;
+ DAT_UINT64 val = 0;
+
+ rd_ctr(dev,"cm_tx_msgs/req", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_REQ_TX] = val - cntrs[DCNT_IA_CM_REQ_TX];
+ rd_ctr(dev,"cm_tx_msgs/rep", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_REP_TX] = val - cntrs[DCNT_IA_CM_REP_TX];
+ rd_ctr(dev,"cm_tx_msgs/rtu", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_RTU_TX] = val - cntrs[DCNT_IA_CM_RTU_TX];
+ rd_ctr(dev,"cm_tx_msgs/rej", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_USER_REJ_TX] = val - cntrs[DCNT_IA_CM_USER_REJ_TX];
+ rd_ctr(dev,"cm_tx_msgs/mra", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_MRA_TX] = val - cntrs[DCNT_IA_CM_MRA_TX];
+ rd_ctr(dev,"cm_tx_msgs/dreq", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_DREQ_TX] = val - cntrs[DCNT_IA_CM_DREQ_TX];
+ rd_ctr(dev,"cm_tx_msgs/drep", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_DREP_TX] = val - cntrs[DCNT_IA_CM_DREP_TX];
+
+ rd_ctr(dev,"cm_rx_msgs/req", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_REQ_RX] = val - cntrs[DCNT_IA_CM_REQ_RX];
+ rd_ctr(dev,"cm_rx_msgs/rep", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_REP_RX] = val - cntrs[DCNT_IA_CM_REP_RX];
+ rd_ctr(dev,"cm_rx_msgs/rtu", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_RTU_RX] = val - cntrs[DCNT_IA_CM_RTU_RX];
+ rd_ctr(dev,"cm_rx_msgs/rej", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_USER_REJ_RX] = val - cntrs[DCNT_IA_CM_USER_REJ_RX];
+ rd_ctr(dev,"cm_rx_msgs/mra", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_MRA_RX] = val - cntrs[DCNT_IA_CM_MRA_RX];
+ rd_ctr(dev,"cm_rx_msgs/dreq", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_DREQ_RX] = val - cntrs[DCNT_IA_CM_DREQ_RX];
+ rd_ctr(dev,"cm_rx_msgs/drep", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_DREP_RX] = val - cntrs[DCNT_IA_CM_DREP_RX];
+
+ rd_ctr(dev,"cm_tx_retries/req", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_ERR_REQ_RETRY] = val - cntrs[DCNT_IA_CM_ERR_REQ_RETRY];
+ rd_ctr(dev,"cm_tx_retries/rep", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_ERR_REP_RETRY] = val - cntrs[DCNT_IA_CM_ERR_REP_RETRY];
+ rd_ctr(dev,"cm_tx_retries/rtu", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_ERR_RTU_RETRY] = val - cntrs[DCNT_IA_CM_ERR_RTU_RETRY];
+ rd_ctr(dev,"cm_tx_retries/mra", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_ERR_MRA_RETRY] = val - cntrs[DCNT_IA_CM_ERR_MRA_RETRY];
+ rd_ctr(dev,"cm_tx_retries/dreq", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_ERR_DREQ_RETRY] = val - cntrs[DCNT_IA_CM_ERR_DREQ_RETRY];
+ rd_ctr(dev,"cm_tx_retries/drep", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_ERR_DREP_RETRY] = val - cntrs[DCNT_IA_CM_ERR_DREP_RETRY];
+
+ rd_ctr(dev,"cm_tx_duplicates/req", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_ERR_REQ_DUP] = val - cntrs[DCNT_IA_CM_ERR_REQ_DUP];
+ rd_ctr(dev,"cm_tx_duplicates/rep", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_ERR_REP_DUP] = val - cntrs[DCNT_IA_CM_ERR_REP_DUP];
+ rd_ctr(dev,"cm_tx_duplicates/rtu", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_ERR_RTU_DUP] = val - cntrs[DCNT_IA_CM_ERR_RTU_DUP];
+ rd_ctr(dev,"cm_tx_duplicates/mra", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_ERR_MRA_DUP] = val - cntrs[DCNT_IA_CM_ERR_MRA_DUP];
+ rd_ctr(dev,"cm_tx_duplicates/dreq", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_ERR_DREQ_DUP] = val - cntrs[DCNT_IA_CM_ERR_DREQ_DUP];
+ rd_ctr(dev,"cm_tx_duplicates/drep", port, DCNT_IA_CM, &val);
+ cntrs[DCNT_IA_CM_ERR_DREP_DUP] = val - cntrs[DCNT_IA_CM_ERR_DREP_DUP];
+}
+#endif
+
+/* map selective IB port counters to dapl counters */
+static void dapl_start_lnk_cntrs(DAT_HANDLE dh)
+{
+ DAPL_IA *ia = (DAPL_IA *)dh;
+ char *dev = ia->hca_ptr->ib_hca_handle->device->ibdev_path;
+ int port = ia->hca_ptr->port_num;
+ DAT_UINT64 *cntrs = (DAT_UINT64 *)ia->cntrs;
+
+ rd_ctr(dev,"port_rcv_errors", port, DCNT_IA_LNK, &cntrs[DCNT_IA_LNK_ERR_RCV]);
+ rd_ctr(dev,"port_rcv_remote_physical_errors", port, DCNT_IA_LNK, &cntrs[DCNT_IA_LNK_ERR_RCV_REM_PHYS]);
+ rd_ctr(dev,"port_rcv_contraint_errors", port, DCNT_IA_LNK, &cntrs[DCNT_IA_LNK_ERR_RCV_CONSTRAINT]);
+ rd_ctr(dev,"port_xmit_discards", port, DCNT_IA_LNK, &cntrs[DCNT_IA_LNK_ERR_XMT_DISCARDS]);
+ rd_ctr(dev,"port_xmit_contraint", port, DCNT_IA_LNK, &cntrs[DCNT_IA_LNK_ERR_XMT_CONTRAINT]);
+ rd_ctr(dev,"local_link_integrity_errors", port, DCNT_IA_LNK, &cntrs[DCNT_IA_LNK_ERR_INTEGRITY]);
+ rd_ctr(dev,"excessive_buffer_overrun_errors", port, DCNT_IA_LNK, &cntrs[DCNT_IA_LNK_ERR_EXC_BUF_OVERRUN]);
+ rd_ctr(dev,"port_xmit_wait", port, DCNT_IA_LNK, &cntrs[DCNT_IA_LNK_WARN_XMT_WAIT]);
+ rd_ctr(dev,"port_rcv_switch_relay_errors", port, DCNT_IA_LNK, &cntrs[DCNT_IA_LNK_WARN_RCV_SW_RELAY]);
+}
+
+static void dapl_stop_lnk_cntrs(DAT_HANDLE dh)
+{
+ DAPL_IA *ia = (DAPL_IA *)dh;
+ char *dev = ia->hca_ptr->ib_hca_handle->device->ibdev_path;
+ int port = ia->hca_ptr->port_num;
+ DAT_UINT64 *cntrs = (DAT_UINT64 *)ia->cntrs;
+ DAT_UINT64 val = 0;
+
+ rd_ctr(dev,"port_rcv_errors", port, DCNT_IA_LNK, &val);
+ cntrs[DCNT_IA_LNK_ERR_RCV] = val - cntrs[DCNT_IA_LNK_ERR_RCV];
+ rd_ctr(dev,"port_rcv_remote_physical_errors", port, DCNT_IA_LNK, &val);
+ cntrs[DCNT_IA_LNK_ERR_RCV_REM_PHYS] = val - cntrs[DCNT_IA_LNK_ERR_RCV_REM_PHYS];
+ rd_ctr(dev,"port_rcv_contraint_errors", port, DCNT_IA_LNK, &val);
+ cntrs[DCNT_IA_LNK_ERR_RCV_CONSTRAINT] = val - cntrs[DCNT_IA_LNK_ERR_RCV_CONSTRAINT];
+ rd_ctr(dev,"port_xmit_discards", port, DCNT_IA_LNK, &val);
+ cntrs[DCNT_IA_LNK_ERR_XMT_DISCARDS] = val - cntrs[DCNT_IA_LNK_ERR_XMT_DISCARDS];
+ rd_ctr(dev,"port_xmit_contraint", port, DCNT_IA_LNK, &val);
+ cntrs[DCNT_IA_LNK_ERR_XMT_CONTRAINT] = val - cntrs[DCNT_IA_LNK_ERR_XMT_CONTRAINT];
+ rd_ctr(dev,"local_link_integrity_errors", port, DCNT_IA_LNK, &val);
+ cntrs[DCNT_IA_LNK_ERR_INTEGRITY] = val - cntrs[DCNT_IA_LNK_ERR_INTEGRITY] ;
+ rd_ctr(dev,"excessive_buffer_overrun_errors", port, DCNT_IA_LNK, &val);
+ cntrs[DCNT_IA_LNK_ERR_EXC_BUF_OVERRUN] = val - cntrs[DCNT_IA_LNK_ERR_EXC_BUF_OVERRUN];
+ rd_ctr(dev,"port_rcv_switch_relay_errors", port, DCNT_IA_LNK, &val);
+ cntrs[DCNT_IA_LNK_WARN_RCV_SW_RELAY] = val - cntrs[DCNT_IA_LNK_WARN_RCV_SW_RELAY];
+ rd_ctr(dev,"port_xmit_wait", port, DCNT_IA_LNK, &val);
+ cntrs[DCNT_IA_LNK_WARN_XMT_WAIT] = val - cntrs[DCNT_IA_LNK_WARN_XMT_WAIT];
+}
+
+/* map selective IB diag_counters to dapl counters */
+static void dapl_start_diag_cntrs(DAT_HANDLE dh)
+{
+ DAPL_IA *ia = (DAPL_IA *)dh;
+ char *dev = ia->hca_ptr->ib_hca_handle->device->ibdev_path;
+ int port = ia->hca_ptr->port_num;
+ DAT_UINT64 *cntrs = (DAT_UINT64 *)ia->cntrs;
+
+ rd_ctr(dev,"rq_num_rae", port, DCNT_IA_DIAG, &cntrs[DCNT_IA_DIAG_ERR_RQ_RAE]);
+ rd_ctr(dev,"rq_num_oos", port, DCNT_IA_DIAG, &cntrs[DCNT_IA_DIAG_ERR_RQ_OOS]);
+ rd_ctr(dev,"rq_num_rire", port, DCNT_IA_DIAG, &cntrs[DCNT_IA_DIAG_ERR_RQ_RIRE]);
+ rd_ctr(dev,"rq_num_udsdprd", port, DCNT_IA_DIAG, &cntrs[DCNT_IA_DIAG_ERR_RQ_UDSDPRD]);
+ rd_ctr(dev,"sq_num_rae", port, DCNT_IA_DIAG, &cntrs[DCNT_IA_DIAG_ERR_SQ_RAE]);
+ rd_ctr(dev,"sq_num_oos", port, DCNT_IA_DIAG, &cntrs[DCNT_IA_DIAG_ERR_SQ_OOS]);
+ rd_ctr(dev,"sq_num_rire", port, DCNT_IA_DIAG, &cntrs[DCNT_IA_DIAG_ERR_SQ_RIRE]);
+ rd_ctr(dev,"sq_num_rree", port, DCNT_IA_DIAG, &cntrs[DCNT_IA_DIAG_ERR_SQ_RREE]);
+ rd_ctr(dev,"sq_num_tree", port, DCNT_IA_DIAG, &cntrs[DCNT_IA_DIAG_ERR_SQ_TREE]);
+}
+
+static void dapl_stop_diag_cntrs(DAT_HANDLE dh)
+{
+ DAPL_IA *ia = (DAPL_IA *)dh;
+ char *dev = ia->hca_ptr->ib_hca_handle->device->ibdev_path;
+ int port = ia->hca_ptr->port_num;
+ DAT_UINT64 *cntrs = (DAT_UINT64 *)ia->cntrs;
+ DAT_UINT64 val = 0;
+
+ rd_ctr(dev,"rq_num_rae", port, DCNT_IA_DIAG, &val);
+ cntrs[DCNT_IA_DIAG_ERR_RQ_RAE] = val - cntrs[DCNT_IA_DIAG_ERR_RQ_RAE];
+ rd_ctr(dev,"rq_num_oos", port, DCNT_IA_DIAG, &val);
+ cntrs[DCNT_IA_DIAG_ERR_RQ_OOS] = val - cntrs[DCNT_IA_DIAG_ERR_RQ_OOS];
+ rd_ctr(dev,"rq_num_rire", port, DCNT_IA_DIAG, &val);
+ cntrs[DCNT_IA_DIAG_ERR_RQ_RIRE] = val - cntrs[DCNT_IA_DIAG_ERR_RQ_RIRE];
+ rd_ctr(dev,"rq_num_udsdprd", port, DCNT_IA_DIAG, &val);
+ cntrs[DCNT_IA_DIAG_ERR_RQ_UDSDPRD] = val - cntrs[DCNT_IA_DIAG_ERR_RQ_UDSDPRD];
+ rd_ctr(dev,"sq_num_rae", port, DCNT_IA_DIAG, &val);
+ cntrs[DCNT_IA_DIAG_ERR_SQ_RAE] = val - cntrs[DCNT_IA_DIAG_ERR_SQ_RAE];
+ rd_ctr(dev,"sq_num_oos", port, DCNT_IA_DIAG, &val);
+ cntrs[DCNT_IA_DIAG_ERR_SQ_OOS] = val - cntrs[DCNT_IA_DIAG_ERR_SQ_OOS];
+ rd_ctr(dev,"sq_num_rire", port, DCNT_IA_DIAG, &val);
+ cntrs[DCNT_IA_DIAG_ERR_SQ_RIRE] = val - cntrs[DCNT_IA_DIAG_ERR_SQ_RIRE];
+ rd_ctr(dev,"sq_num_rree", port, DCNT_IA_DIAG, &val);
+ cntrs[DCNT_IA_DIAG_ERR_SQ_RREE] = val - cntrs[DCNT_IA_DIAG_ERR_SQ_RREE];
+ rd_ctr(dev,"sq_num_tree", port, DCNT_IA_DIAG, &val);
+ cntrs[DCNT_IA_DIAG_ERR_SQ_TREE] = val - cntrs[DCNT_IA_DIAG_ERR_SQ_TREE];
+}
+
+void dapl_start_counters(DAT_HANDLE dh, DAT_IA_COUNTER_TYPE type)
+{
+ switch (type) {
+ case DCNT_IA_CM:
+#ifdef _OPENIB_CMA_
+ dapl_start_cm_cntrs(dh); /* ib cm timers, cma only */
+#endif
+ break;
+ case DCNT_IA_LNK:
+ dapl_start_lnk_cntrs(dh);
+ break;
+ case DCNT_IA_DIAG:
+ dapl_start_diag_cntrs(dh);
+ break;
+ default:
+ break;
+ }
+}
+
+void dapl_stop_counters(DAT_HANDLE dh, DAT_IA_COUNTER_TYPE type)
+{
+ switch (type) {
+ case DCNT_IA_CM:
+#ifdef _OPENIB_CMA_
+ dapl_stop_cm_cntrs(dh);
+#endif
+ break;
+ case DCNT_IA_LNK:
+ dapl_stop_lnk_cntrs(dh);
+ break;
+ case DCNT_IA_DIAG:
+ dapl_stop_diag_cntrs(dh);
+ break;
+ default:
+ break;
+
+ }
+}
+
+void dapli_start_counters(DAT_HANDLE dh)
+{
+#ifdef _OPENIB_CMA_
+ if (g_dapl_dbg_type & (DAPL_DBG_TYPE_CM_ERRS | DAPL_DBG_TYPE_CM_STATS))
+ dapl_start_cm_cntrs(dh);
+#endif
+ if (g_dapl_dbg_type & DAPL_DBG_TYPE_LINK_ERRS)
+ dapl_start_lnk_cntrs(dh);
+ if (g_dapl_dbg_type & DAPL_DBG_TYPE_DIAG_ERRS)
+ dapl_start_diag_cntrs(dh);
+}
+
+void dapli_stop_counters(DAT_HANDLE dh)
+{
+#ifdef _OPENIB_CMA_
+ if (g_dapl_dbg_type & (DAPL_DBG_TYPE_CM_ERRS | DAPL_DBG_TYPE_CM_STATS))
+ dapl_stop_cm_cntrs(dh);
+#endif
+ if (g_dapl_dbg_type & DAPL_DBG_TYPE_LINK_ERRS)
+ dapl_stop_lnk_cntrs(dh);
+ if (g_dapl_dbg_type & DAPL_DBG_TYPE_DIAG_ERRS)
+ dapl_stop_diag_cntrs(dh);
+
+ if (g_dapl_dbg_type & DAPL_DBG_TYPE_CM_STATS)
+ dapl_print_counter_str(dh, DCNT_IA_ALL_COUNTERS, 1, "_CM");
+ else if (g_dapl_dbg_type & DAPL_DBG_TYPE_CM_ERRS)
+ dapl_print_counter_str(dh, DCNT_IA_ALL_COUNTERS, 1, "_CM_ERR");
+ if (g_dapl_dbg_type & DAPL_DBG_TYPE_LINK_ERRS)
+ dapl_print_counter_str(dh, DCNT_IA_ALL_COUNTERS, 1, "_LNK_ERR");
+ if (g_dapl_dbg_type & DAPL_DBG_TYPE_LINK_WARN)
+ dapl_print_counter_str(dh, DCNT_IA_ALL_COUNTERS, 1, "_LNK_WARN");
+ if (g_dapl_dbg_type & DAPL_DBG_TYPE_DIAG_ERRS)
+ dapl_print_counter_str(dh, DCNT_IA_ALL_COUNTERS, 1, "_DIAG_ERR");
+}
+
/*
* The order of this list must match the DAT counter definitions
*/
@@ -94,9 +425,69 @@ static char *ia_cntr_names[] = {
"DCNT_IA_MEM_FREE",
"DCNT_IA_ASYNC_ERROR",
"DCNT_IA_ASYNC_QP_ERROR",
- "DCNT_IA_ASYNC_CQ_ERROR"
+ "DCNT_IA_ASYNC_CQ_ERROR",
+ "DCNT_IA_CM_LISTEN",
+ "DCNT_IA_CM_REQ_TX",
+ "DCNT_IA_CM_REQ_RX",
+ "DCNT_IA_CM_REP_TX",
+ "DCNT_IA_CM_REP_RX",
+ "DCNT_IA_CM_RTU_TX",
+ "DCNT_IA_CM_RTU_RX",
+ "DCNT_IA_CM_USER_REJ_TX",
+ "DCNT_IA_CM_USER_REJ_RX",
+ "DCNT_IA_CM_ACTIVE_EST",
+ "DCNT_IA_CM_PASSIVE_EST",
+ "DCNT_IA_CM_AH_REQ_TX",
+ "DCNT_IA_CM_AH_REQ_RX",
+ "DCNT_IA_CM_AH_RESOLVED",
+ "DCNT_IA_CM_DREQ_TX",
+ "DCNT_IA_CM_DREQ_RX",
+ "DCNT_IA_CM_DREP_TX",
+ "DCNT_IA_CM_DREP_RX",
+ "DCNT_IA_CM_MRA_TX",
+ "DCNT_IA_CM_MRA_RX",
+ "DCNT_IA_CM_REQ_FULLQ_POLL",
+ "DCNT_IA_CM_ERR",
+ "DCNT_IA_CM_ERR_REQ_FULLQ",
+ "DCNT_IA_CM_ERR_REQ_DUP",
+ "DCNT_IA_CM_ERR_REQ_RETRY",
+ "DCNT_IA_CM_ERR_REP_DUP",
+ "DCNT_IA_CM_ERR_REP_RETRY",
+ "DCNT_IA_CM_ERR_RTU_DUP",
+ "DCNT_IA_CM_ERR_RTU_RETRY",
+ "DCNT_IA_CM_ERR_REFUSED",
+ "DCNT_IA_CM_ERR_RESET",
+ "DCNT_IA_CM_ERR_TIMEOUT",
+ "DCNT_IA_CM_ERR_REJ_TX",
+ "DCNT_IA_CM_ERR_REJ_RX",
+ "DCNT_IA_CM_ERR_DREQ_DUP",
+ "DCNT_IA_CM_ERR_DREQ_RETRY",
+ "DCNT_IA_CM_ERR_DREP_DUP",
+ "DCNT_IA_CM_ERR_DREP_RETRY",
+ "DCNT_IA_CM_ERR_MRA_DUP",
+ "DCNT_IA_CM_ERR_MRA_RETRY",
+ "DCNT_IA_CM_ERR_UNEXPECTED",
+ "DCNT_IA_LNK_ERR_RCV",
+ "DCNT_IA_LNK_ERR_RCV_REM_PHYS",
+ "DCNT_IA_LNK_ERR_RCV_CONSTRAINT",
+ "DCNT_IA_LNK_ERR_XMT_DISCARDS",
+ "DCNT_IA_LNK_ERR_XMT_CONTRAINT",
+ "DCNT_IA_LNK_ERR_INTEGRITY",
+ "DCNT_IA_LNK_ERR_EXC_BUF_OVERRUN",
+ "DCNT_IA_LNK_WARN_RCV_SW_RELAY",
+ "DCNT_IA_LNK_WARN_XMT_WAIT",
+ "DCNT_IA_DIAG_ERR_RQ_RAE",
+ "DCNT_IA_DIAG_ERR_RQ_OOS",
+ "DCNT_IA_DIAG_ERR_RQ_RIRE",
+ "DCNT_IA_DIAG_ERR_RQ_UDSDPRD",
+ "DCNT_IA_DIAG_ERR_SQ_RAE",
+ "DCNT_IA_DIAG_ERR_SQ_OOS",
+ "DCNT_IA_DIAG_ERR_SQ_RIRE",
+ "DCNT_IA_DIAG_ERR_SQ_RREE",
+ "DCNT_IA_DIAG_ERR_SQ_TREE",
};
+
static char *ep_cntr_names[] = {
"DCNT_EP_CONNECT",
"DCNT_EP_DISCONNECT",
@@ -198,7 +589,6 @@ char *dapl_query_counter_name(DAT_HANDLE dh, int counter)
return NULL;
}
-#include <inttypes.h>
void dapl_print_counter(DAT_HANDLE dh, int counter, int reset)
{
int i, max;
@@ -226,13 +616,60 @@ void dapl_print_counter(DAT_HANDLE dh, int counter, int reset)
for (i = 0; i < max; i++) {
if ((counter == i) || (counter == max)) {
- printf(" %s = " F64u " \n",
- dapl_query_counter_name(dh, i), p_cntrs[i]);
+ printf(" %s:0x%x: %s = " F64u " \n",
+ _hostname_, dapl_os_getpid(),
+ dapl_query_counter_name(dh, i), p_cntrs[i]);
if (reset)
p_cntrs[i] = 0;
}
}
- return;
+
+ /* Print in process CR's for this IA, if debug type set */
+ if ((type == DAT_HANDLE_TYPE_IA) &&
+ (g_dapl_dbg_type & DAPL_DBG_TYPE_CM_LIST)) {
+ dapls_print_cm_list((DAPL_IA*)dh);
+ }
+}
+
+void dapl_print_counter_str(DAT_HANDLE dh, int counter, int reset, const char *pattern)
+{
+ int i, max;
+ DAT_UINT64 *p_cntrs;
+ DAT_HANDLE_TYPE type = 0;
+ DAPL_IA *ia = NULL;
+
+ dat_get_handle_type(dh, &type);
+
+ switch (type) {
+ case DAT_HANDLE_TYPE_IA:
+ max = DCNT_IA_ALL_COUNTERS;
+ ia = (DAPL_IA *)dh;
+ p_cntrs = ((DAPL_IA *) dh)->cntrs;
+ break;
+ case DAT_HANDLE_TYPE_EP:
+ max = DCNT_EP_ALL_COUNTERS;
+ p_cntrs = ((DAPL_EP *) dh)->cntrs;
+ break;
+ case DAT_HANDLE_TYPE_EVD:
+ max = DCNT_EVD_ALL_COUNTERS;
+ p_cntrs = ((DAPL_EVD *) dh)->cntrs;
+ break;
+ default:
+ return;
+ }
+
+ /* print only counters with pattern string match and non-zero values */
+ for (i = 0; i < max; i++) {
+ if ((counter == i) || (counter == max)) {
+ if (p_cntrs[i] && !dapl_os_pstrcmp(pattern, dapl_query_counter_name(dh, i))) {
+ printf(" %s:0x%x: %s = " F64u " \n",
+ _hostname_, dapl_os_getpid(),
+ dapl_query_counter_name(dh, i), p_cntrs[i]);
+ if (reset)
+ p_cntrs[i] = 0;
+ }
+ }
+ }
}
#endif /* DAPL_COUNTERS */
diff --git a/dapl/common/dapl_ep_connect.c b/dapl/common/dapl_ep_connect.c
index 5e4dc41..590d0ed 100755
--- a/dapl/common/dapl_ep_connect.c
+++ b/dapl/common/dapl_ep_connect.c
@@ -79,9 +79,13 @@ dapl_ep_connect(IN DAT_EP_HANDLE ep_handle,
DAPL_EP alloc_ep;
DAT_RETURN dat_status;
DAT_COUNT req_hdr_size;
- DAT_UINT32 max_req_pdata_size;
void *private_data_ptr;
+ if (remote_ia_address == NULL) {
+ dat_status = DAT_ERROR(DAT_INVALID_PARAMETER, DAT_INVALID_ARG2);
+ goto bail;
+ }
+
dapl_dbg_log(DAPL_DBG_TYPE_API | DAPL_DBG_TYPE_CM,
"dapl_ep_connect (%p, {%u.%u.%u.%u}, %X, %d, %d, %p, %x, %x)\n",
ep_handle,
@@ -258,16 +262,6 @@ dapl_ep_connect(IN DAT_EP_HANDLE ep_handle,
*/
req_hdr_size = (sizeof(DAPL_PRIVATE) - DAPL_MAX_PRIVATE_DATA_SIZE);
- max_req_pdata_size =
- dapls_ib_private_data_size(NULL, DAPL_PDATA_CONN_REQ,
- ep_ptr->header.owner_ia->hca_ptr);
-
- if (private_data_size + req_hdr_size > (DAT_COUNT) max_req_pdata_size) {
- dapl_os_unlock(&ep_ptr->header.lock);
- dat_status = DAT_ERROR(DAT_INVALID_PARAMETER, DAT_INVALID_ARG5);
- goto bail;
- }
-
/* transition the state before requesting a connection to avoid
* race conditions
*/
@@ -338,13 +332,16 @@ dapl_ep_connect(IN DAT_EP_HANDLE ep_handle,
dapl_os_lock(&ep_ptr->header.lock);
if (ep_ptr->param.ep_state ==
DAT_EP_STATE_ACTIVE_CONNECTION_PENDING
- && timeout != DAT_TIMEOUT_INFINITE) {
+ && timeout != DAT_TIMEOUT_INFINITE &&
+ ep_ptr->param.ep_attr.service_type == DAT_SERVICE_TYPE_RC) {
ep_ptr->cxn_timer =
(DAPL_OS_TIMER *)
dapl_os_alloc(sizeof(DAPL_OS_TIMER));
dapls_timer_set(ep_ptr->cxn_timer,
dapls_ep_timeout, ep_ptr, timeout);
+
+ dapl_log(DAPL_DBG_TYPE_EP, " dapl_ep_connect timeout = %d us\n", timeout);
}
dapl_os_unlock(&ep_ptr->header.lock);
}
diff --git a/dapl/common/dapl_ep_create.c b/dapl/common/dapl_ep_create.c
index e154b8d..c7dedde 100644
--- a/dapl/common/dapl_ep_create.c
+++ b/dapl/common/dapl_ep_create.c
@@ -171,7 +171,8 @@ dapl_ep_create(IN DAT_IA_HANDLE ia_handle,
&& ep_attr->max_request_dtos == 0)
|| (recv_evd_handle != DAT_HANDLE_NULL
&& ep_attr->max_recv_iov == 0)
- || ep_attr->max_request_iov == 0
+ || (request_evd_handle == DAT_HANDLE_NULL
+ && ep_attr->max_request_iov != 0)
|| (DAT_SUCCESS !=
dapl_ep_check_recv_completion_flags
(ep_attr->recv_completion_flags)))) {
diff --git a/dapl/common/dapl_ep_disconnect.c b/dapl/common/dapl_ep_disconnect.c
index 72da620..90748b0 100644
--- a/dapl/common/dapl_ep_disconnect.c
+++ b/dapl/common/dapl_ep_disconnect.c
@@ -165,6 +165,7 @@ dapl_ep_disconnect(IN DAT_EP_HANDLE ep_handle,
}
dapl_os_unlock(&ep_ptr->header.lock);
dat_status = dapls_ib_disconnect(ep_ptr, disconnect_flags);
+ dapls_ep_flush_cqs(ep_ptr);
bail:
dapl_dbg_log(DAPL_DBG_TYPE_RTN | DAPL_DBG_TYPE_CM,
diff --git a/dapl/common/dapl_ep_free.c b/dapl/common/dapl_ep_free.c
index fd9fcc7..a8deeb2 100644
--- a/dapl/common/dapl_ep_free.c
+++ b/dapl/common/dapl_ep_free.c
@@ -66,6 +66,7 @@ DAT_RETURN DAT_API dapl_ep_free(IN DAT_EP_HANDLE ep_handle)
DAPL_EP *ep_ptr;
DAPL_IA *ia_ptr;
DAT_EP_PARAM *param;
+ dp_ib_cm_handle_t cm_ptr, next_cm_ptr;
ib_qp_state_t save_qp_state;
DAT_RETURN dat_status = DAT_SUCCESS;
@@ -109,6 +110,20 @@ DAT_RETURN DAT_API dapl_ep_free(IN DAT_EP_HANDLE ep_handle)
*/
(void)dapl_ep_disconnect(ep_ptr, DAT_CLOSE_ABRUPT_FLAG);
+ /* Free all CM objects */
+ cm_ptr = (dapl_llist_is_empty(&ep_ptr->cm_list_head)
+ ? NULL : dapl_llist_peek_head(&ep_ptr->cm_list_head));
+ while (cm_ptr != NULL) {
+ dapl_log(DAPL_DBG_TYPE_EP,
+ "dapl_ep_free: Free CM: EP=%p CM=%p\n",
+ ep_ptr, cm_ptr);
+
+ next_cm_ptr = dapl_llist_next_entry(&ep_ptr->cm_list_head,
+ &cm_ptr->list_entry);
+ dapls_cm_free(cm_ptr); /* blocking call */
+ cm_ptr = next_cm_ptr;
+ }
+
/*
* Do verification of parameters and the state change atomically.
*/
@@ -142,16 +157,6 @@ DAT_RETURN DAT_API dapl_ep_free(IN DAT_EP_HANDLE ep_handle)
pz_ref_count);
param->pz_handle = NULL;
}
- if (param->recv_evd_handle != NULL) {
- dapl_os_atomic_dec(&((DAPL_EVD *) param->recv_evd_handle)->
- evd_ref_count);
- param->recv_evd_handle = NULL;
- }
- if (param->request_evd_handle != NULL) {
- dapl_os_atomic_dec(&((DAPL_EVD *) param->request_evd_handle)->
- evd_ref_count);
- param->request_evd_handle = NULL;
- }
if (param->connect_evd_handle != NULL) {
dapl_os_atomic_dec(&((DAPL_EVD *) param->connect_evd_handle)->
evd_ref_count);
@@ -187,6 +192,21 @@ DAT_RETURN DAT_API dapl_ep_free(IN DAT_EP_HANDLE ep_handle)
}
}
+ /*
+ * Release the EVD handles after we destroy the QP, so we can flush all
+ * QP entries.
+ */
+ if (param->recv_evd_handle != NULL) {
+ dapl_os_atomic_dec(&((DAPL_EVD *) param->recv_evd_handle)->
+ evd_ref_count);
+ param->recv_evd_handle = NULL;
+ }
+ if (param->request_evd_handle != NULL) {
+ dapl_os_atomic_dec(&((DAPL_EVD *) param->request_evd_handle)->
+ evd_ref_count);
+ param->request_evd_handle = NULL;
+ }
+
/* Free the resource */
dapl_ep_dealloc(ep_ptr);
diff --git a/dapl/common/dapl_ep_modify.c b/dapl/common/dapl_ep_modify.c
index 9f0095f..0545870 100644
--- a/dapl/common/dapl_ep_modify.c
+++ b/dapl/common/dapl_ep_modify.c
@@ -385,6 +385,12 @@ dapli_ep_modify_validate_parameters(IN DAT_EP_HANDLE ep_handle,
goto bail;
}
+ if (ep_param == NULL) {
+ dat_status =
+ DAT_ERROR(DAT_INVALID_PARAMETER, DAT_INVALID_ARG3);
+ goto bail;
+ }
+
ep = (DAPL_EP *) ep_handle;
ia = ep->header.owner_ia;
diff --git a/dapl/common/dapl_ep_query.c b/dapl/common/dapl_ep_query.c
index f5f548f..5241b96 100644
--- a/dapl/common/dapl_ep_query.c
+++ b/dapl/common/dapl_ep_query.c
@@ -107,6 +107,7 @@ dapl_ep_query(IN DAT_EP_HANDLE ep_handle,
(DAT_IA_ADDRESS_PTR) & ep_ptr->remote_ia_address;
}
*ep_param = ep_ptr->param;
+ dats_get_ia_handle(ep_ptr->param.ia_handle, &ep_param->ia_handle);
}
bail:
diff --git a/dapl/common/dapl_ep_util.c b/dapl/common/dapl_ep_util.c
index a50a6cb..8ceb1be 100644
--- a/dapl/common/dapl_ep_util.c
+++ b/dapl/common/dapl_ep_util.c
@@ -141,6 +141,7 @@ DAPL_EP *dapl_ep_alloc(IN DAPL_IA * ia_ptr, IN const DAT_EP_ATTR * ep_attr)
ep_ptr->header.user_context.as_ptr = NULL;
dapl_llist_init_entry(&ep_ptr->header.ia_list_entry);
+ dapl_llist_init_head(&ep_ptr->cm_list_head);
dapl_os_lock_init(&ep_ptr->header.lock);
/*
@@ -161,7 +162,6 @@ DAPL_EP *dapl_ep_alloc(IN DAPL_IA * ia_ptr, IN const DAT_EP_ATTR * ep_attr)
ep_ptr->qp_handle = IB_INVALID_HANDLE;
ep_ptr->qpn = 0;
ep_ptr->qp_state = DAPL_QP_STATE_UNATTACHED;
- ep_ptr->cm_handle = IB_INVALID_HANDLE;
if (DAT_SUCCESS != dapls_cb_create(&ep_ptr->req_buffer,
ep_ptr,
@@ -214,13 +214,6 @@ void dapl_ep_dealloc(IN DAPL_EP * ep_ptr)
if (NULL != ep_ptr->cxn_timer) {
dapl_os_free(ep_ptr->cxn_timer, sizeof(DAPL_OS_TIMER));
}
-#if defined(_WIN32) || defined(_WIN64)
- if (ep_ptr->ibal_cm_handle) {
- dapl_os_free(ep_ptr->ibal_cm_handle,
- sizeof(*ep_ptr->ibal_cm_handle));
- ep_ptr->ibal_cm_handle = NULL;
- }
-#endif
#ifdef DAPL_COUNTERS
dapl_os_free(ep_ptr->cntrs, sizeof(DAT_UINT64) * DCNT_EP_ALL_COUNTERS);
@@ -359,6 +352,10 @@ dapl_ep_post_send_req(IN DAT_EP_HANDLE ep_handle,
ep_ptr = (DAPL_EP *) ep_handle;
+ if ((ep_ptr->param.ep_state != DAT_EP_STATE_CONNECTED) &&
+ (ep_ptr->param.ep_state != DAT_EP_STATE_DISCONNECTED))
+ return(DAT_ERROR(DAT_INVALID_STATE, DAT_INVALID_STATE_EP_UNCONNECTED));
+
/*
* Synchronization ok since this buffer is only used for send
* requests, which aren't allowed to race with each other.
@@ -417,7 +414,7 @@ void dapls_ep_timeout(uintptr_t arg)
* The disconnect_clean interface requires the provided dependent
*cm event number.
*/
- ib_cm_event = dapls_ib_get_cm_event(DAT_CONNECTION_EVENT_DISCONNECTED);
+ ib_cm_event = dapls_ib_get_cm_event(DAT_CONNECTION_EVENT_TIMED_OUT);
dapls_ib_disconnect_clean(ep_ptr, DAT_TRUE, ib_cm_event);
(void)dapls_evd_post_connection_event((DAPL_EVD *) ep_ptr->param.
@@ -537,6 +534,7 @@ dapl_ep_legacy_post_disconnect(DAPL_EP * ep_ptr,
{
ib_cm_events_t ib_cm_event;
DAPL_CR *cr_ptr;
+ dp_ib_cm_handle_t cm_ptr;
/*
* Acquire the lock and make sure we didn't get a callback
@@ -557,6 +555,8 @@ dapl_ep_legacy_post_disconnect(DAPL_EP * ep_ptr,
dapls_ib_get_cm_event(DAT_CONNECTION_EVENT_DISCONNECTED);
cr_ptr = ep_ptr->cr_ptr;
+ cm_ptr = (dapl_llist_is_empty(&ep_ptr->cm_list_head)
+ ? NULL : dapl_llist_peek_head(&ep_ptr->cm_list_head));
dapl_os_unlock(&ep_ptr->header.lock);
if (cr_ptr != NULL) {
@@ -565,11 +565,11 @@ dapl_ep_legacy_post_disconnect(DAPL_EP * ep_ptr,
ep_ptr, cr_ptr->ib_cm_handle);
dapls_cr_callback(cr_ptr->ib_cm_handle,
- ib_cm_event, NULL, cr_ptr->sp_ptr);
+ ib_cm_event, NULL, 0, cr_ptr->sp_ptr);
} else {
- dapl_evd_connection_callback(ep_ptr->cm_handle,
+ dapl_evd_connection_callback(cm_ptr,
ib_cm_event,
- NULL, (void *)ep_ptr);
+ NULL, 0, (void *)ep_ptr);
}
} else {
dapl_os_unlock(&ep_ptr->header.lock);
@@ -577,6 +577,61 @@ dapl_ep_legacy_post_disconnect(DAPL_EP * ep_ptr,
}
/*
+ * dapl_ep_link_cm
+ *
+ * Add linking of provider's CM object to a EP structure
+ * This enables multiple CM's per EP, and syncronization
+ *
+ * Input:
+ * DAPL_EP *ep_ptr
+ * dp_ib_cm_handle_t *cm_ptr defined in provider's dapl_util.h
+ *
+ * CM objects linked with EP using ->list_entry
+ * Output:
+ * none
+ *
+ * Returns:
+ * none
+ *
+ */
+void dapl_ep_link_cm(IN DAPL_EP *ep_ptr, IN dp_ib_cm_handle_t cm_ptr)
+{
+ dapl_os_lock(&ep_ptr->header.lock);
+ dapls_cm_acquire(cm_ptr);
+ dapl_llist_add_tail(&ep_ptr->cm_list_head, &cm_ptr->list_entry, cm_ptr);
+ dapl_os_unlock(&ep_ptr->header.lock);
+}
+
+void dapl_ep_unlink_cm(IN DAPL_EP *ep_ptr, IN dp_ib_cm_handle_t cm_ptr)
+{
+ dapl_os_lock(&ep_ptr->header.lock);
+ dapl_llist_remove_entry(&ep_ptr->cm_list_head, &cm_ptr->list_entry);
+ dapls_cm_release(cm_ptr);
+ dapl_os_unlock(&ep_ptr->header.lock);
+}
+
+static void dapli_ep_flush_evd(DAPL_EVD *evd_ptr)
+{
+ DAT_RETURN dat_status;
+
+ dapl_os_lock(&evd_ptr->header.lock);
+ dat_status = dapls_evd_copy_cq(evd_ptr);
+ dapl_os_unlock(&evd_ptr->header.lock);
+
+ if (dat_status == DAT_QUEUE_FULL)
+ dapls_evd_post_overflow_event(evd_ptr);
+}
+
+void dapls_ep_flush_cqs(DAPL_EP * ep_ptr)
+{
+ if (ep_ptr->param.request_evd_handle)
+ dapli_ep_flush_evd((DAPL_EVD *) ep_ptr->param.request_evd_handle);
+ if (ep_ptr->param.recv_evd_handle)
+ while (dapls_cb_pending(&ep_ptr->recv_buffer))
+ dapli_ep_flush_evd((DAPL_EVD *) ep_ptr->param.recv_evd_handle);
+}
+
+/*
* Local variables:
* c-indent-level: 4
* c-basic-offset: 4
diff --git a/dapl/common/dapl_ep_util.h b/dapl/common/dapl_ep_util.h
index 7ac4061..37805d4 100644
--- a/dapl/common/dapl_ep_util.h
+++ b/dapl/common/dapl_ep_util.h
@@ -83,5 +83,25 @@ dapl_ep_legacy_post_disconnect(
DAT_CLOSE_FLAGS disconnect_flags);
extern char *dapl_get_ep_state_str(DAT_EP_STATE state);
-
+
+extern void dapl_ep_link_cm(IN DAPL_EP *ep_ptr,
+ IN dp_ib_cm_handle_t cm_ptr);
+
+extern void dapl_ep_unlink_cm(IN DAPL_EP *ep_ptr,
+ IN dp_ib_cm_handle_t cm_ptr);
+
+STATIC _INLINE_ dp_ib_cm_handle_t dapl_get_cm_from_ep(IN DAPL_EP *ep_ptr)
+{
+ dp_ib_cm_handle_t cm_ptr;
+
+ dapl_os_lock(&ep_ptr->header.lock);
+ cm_ptr = (dapl_llist_is_empty(&ep_ptr->cm_list_head)
+ ? NULL : dapl_llist_peek_head(&ep_ptr->cm_list_head));
+ dapl_os_unlock(&ep_ptr->header.lock);
+
+ return cm_ptr;
+}
+
+extern void dapls_ep_flush_cqs(DAPL_EP * ep_ptr);
+
#endif /* _DAPL_EP_UTIL_H_ */
diff --git a/dapl/common/dapl_evd_connection_callb.c b/dapl/common/dapl_evd_connection_callb.c
index e2fb93b..a28d8d6 100644
--- a/dapl/common/dapl_evd_connection_callb.c
+++ b/dapl/common/dapl_evd_connection_callb.c
@@ -65,6 +65,7 @@ void
dapl_evd_connection_callback(IN dp_ib_cm_handle_t ib_cm_handle,
IN const ib_cm_events_t ib_cm_event,
IN const void *private_data_ptr,
+ IN const int private_data_size,
IN const void *context)
{
DAPL_EP *ep_ptr;
@@ -72,7 +73,6 @@ dapl_evd_connection_callback(IN dp_ib_cm_handle_t ib_cm_handle,
DAPL_PRIVATE *prd_ptr;
DAT_EVENT_NUMBER dat_event_num;
DAT_RETURN dat_status;
- int private_data_size;
dapl_dbg_log(DAPL_DBG_TYPE_CM | DAPL_DBG_TYPE_CALLBACK,
"--> dapl_evd_connection_callback: ctxt: %p event: %x cm_handle %p\n",
@@ -96,7 +96,6 @@ dapl_evd_connection_callback(IN dp_ib_cm_handle_t ib_cm_handle,
DAPL_CNTR(evd_ptr, DCNT_EVD_CONN_CALLBACK);
prd_ptr = (DAPL_PRIVATE *) private_data_ptr;
- private_data_size = 0;
/*
* All operations effect the EP, so lock it once and unlock
* when necessary
@@ -131,17 +130,6 @@ dapl_evd_connection_callback(IN dp_ib_cm_handle_t ib_cm_handle,
break;
}
ep_ptr->param.ep_state = DAT_EP_STATE_CONNECTED;
- ep_ptr->cm_handle = ib_cm_handle;
- if (prd_ptr == NULL) {
- private_data_size = 0;
- } else {
- private_data_size =
- dapls_ib_private_data_size(prd_ptr,
- DAPL_PDATA_CONN_REP,
- ep_ptr->header.
- owner_ia->
- hca_ptr);
- }
if (private_data_size > 0) {
/* copy in the private data */
@@ -157,13 +145,6 @@ dapl_evd_connection_callback(IN dp_ib_cm_handle_t ib_cm_handle,
case DAT_CONNECTION_EVENT_PEER_REJECTED:
{
/* peer reject may include private data */
- if (prd_ptr != NULL)
- private_data_size =
- dapls_ib_private_data_size(prd_ptr,
- DAPL_PDATA_CONN_REJ,
- ep_ptr->header.
- owner_ia->
- hca_ptr);
if (private_data_size > 0)
dapl_os_memcpy(ep_ptr->private.private_data,
@@ -200,9 +181,10 @@ dapl_evd_connection_callback(IN dp_ib_cm_handle_t ib_cm_handle,
default:
{
dapl_os_unlock(&ep_ptr->header.lock);
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ "dapl_evd_conn_cb() unknown event 0x%x\n",
+ dat_event_num);
evd_ptr = NULL;
-
- dapl_os_assert(0); /* shouldn't happen */
break;
}
}
diff --git a/dapl/common/dapl_evd_dequeue.c b/dapl/common/dapl_evd_dequeue.c
index 7632fe1..f31e497 100644
--- a/dapl/common/dapl_evd_dequeue.c
+++ b/dapl/common/dapl_evd_dequeue.c
@@ -69,9 +69,6 @@ DAT_RETURN DAT_API dapl_evd_dequeue(IN DAT_EVD_HANDLE evd_handle,
DAT_EVENT *local_event;
DAT_RETURN dat_status;
- dapl_dbg_log(DAPL_DBG_TYPE_API,
- "dapl_evd_dequeue (%p, %p)\n", evd_handle, event);
-
evd_ptr = (DAPL_EVD *) evd_handle;
dat_status = DAT_SUCCESS;
@@ -125,10 +122,14 @@ DAT_RETURN DAT_API dapl_evd_dequeue(IN DAT_EVD_HANDLE evd_handle,
DAPL_CNTR(evd_ptr, DCNT_EVD_DEQUEUE_NOT_FOUND);
}
+#ifdef DAPL_DBG
+ if (dat_status == DAT_SUCCESS)
+ dapl_dbg_log(DAPL_DBG_TYPE_EVD,
+ "dapl_evd_dequeue() Event(%p) = 0x%x\n",
+ event->evd_handle, event->event_number);
+#endif
dapl_os_unlock(&evd_ptr->header.lock);
bail:
- dapl_dbg_log(DAPL_DBG_TYPE_RTN,
- "dapl_evd_dequeue () returns 0x%x\n", dat_status);
return dat_status;
}
diff --git a/dapl/common/dapl_evd_dto_callb.c b/dapl/common/dapl_evd_dto_callb.c
index 2f0d106..2e8d70e 100755
--- a/dapl/common/dapl_evd_dto_callb.c
+++ b/dapl/common/dapl_evd_dto_callb.c
@@ -118,13 +118,7 @@ dapl_evd_dto_callback(IN ib_hca_handle_t hca_handle,
* We don't need to worry about taking the lock for the
* wakeup because wakeups are sticky.
*/
-#ifdef CQ_WAIT_OBJECT
- if (evd_ptr->cq_wait_obj_handle)
- dapls_ib_wait_object_wakeup(evd_ptr->
- cq_wait_obj_handle);
- else
-#endif
- dapl_os_wait_object_wakeup(&evd_ptr->wait_object);
+ dapls_evd_dto_wakeup(evd_ptr);
} else if (state == DAPL_EVD_STATE_OPEN) {
DAPL_CNO *cno = evd_ptr->cno_ptr;
diff --git a/dapl/common/dapl_evd_resize.c b/dapl/common/dapl_evd_resize.c
index 762fad4..f36270c 100644
--- a/dapl/common/dapl_evd_resize.c
+++ b/dapl/common/dapl_evd_resize.c
@@ -108,11 +108,14 @@ DAT_RETURN DAT_API dapl_evd_resize(IN DAT_EVD_HANDLE evd_handle,
goto bail;
}
- dat_status = dapls_ib_cq_resize(evd_ptr->header.owner_ia,
- evd_ptr, &evd_qlen);
- if (dat_status != DAT_SUCCESS) {
- dapl_os_unlock(&evd_ptr->header.lock);
- goto bail;
+ if (evd_ptr->ib_cq_handle) {
+
+ dat_status = dapls_ib_cq_resize(evd_ptr->header.owner_ia,
+ evd_ptr, &evd_qlen);
+ if (dat_status != DAT_SUCCESS) {
+ dapl_os_unlock(&evd_ptr->header.lock);
+ goto bail;
+ }
}
dat_status = dapls_evd_event_realloc(evd_ptr, evd_qlen);
diff --git a/dapl/common/dapl_evd_util.c b/dapl/common/dapl_evd_util.c
index 2cfd693..78d2a1f 100644
--- a/dapl/common/dapl_evd_util.c
+++ b/dapl/common/dapl_evd_util.c
@@ -91,11 +91,17 @@ char *dapl_event_str(IN DAT_EVENT_NUMBER event_num)
{"DAT_SOFTWARE_EVENT", DAT_SOFTWARE_EVENT},
#ifdef DAT_EXTENSIONS
{"DAT_EXTENSION_EVENT", DAT_EXTENSION_EVENT},
- {"DAT_IB_EXTENSION_RANGE_BASE", DAT_IB_EXTENSION_RANGE_BASE},
+ {"DAT_IB_DTO_EVENT", DAT_IB_EXTENSION_RANGE_BASE},
{"DAT_IB_UD_CONNECTION_REQUEST_EVENT",
DAT_IB_EXTENSION_RANGE_BASE + 1},
{"DAT_IB_UD_CONNECTION_EVENT_ESTABLISHED",
DAT_IB_EXTENSION_RANGE_BASE + 2},
+ {"DAT_IB_UD_CONNECTION_REJECT_EVENT",
+ DAT_IB_EXTENSION_RANGE_BASE + 3},
+ {"DAT_IB_UD_CONNECTION_ERROR_EVENT",
+ DAT_IB_EXTENSION_RANGE_BASE + 4},
+ {"DAT_IB_COLLECTIVE_EVENT",
+ DAT_IB_EXTENSION_RANGE_BASE + 5},
{"DAT_IW_EXTENSION_RANGE_BASE", DAT_IW_EXTENSION_RANGE_BASE},
#endif /* DAT_EXTENSIONS */
{NULL, 0},
@@ -156,13 +162,6 @@ dapls_evd_internal_create(DAPL_IA * ia_ptr,
goto bail;
}
- /*
- * If we are dealing with event streams besides a CQ event stream,
- * be conservative and set producer side locking. Otherwise, no.
- */
- evd_ptr->evd_producer_locking_needed =
- ((evd_flags & ~(DAT_EVD_DTO_FLAG | DAT_EVD_RMR_BIND_FLAG)) != 0);
-
/* Before we setup any callbacks, transition state to OPEN. */
evd_ptr->evd_state = DAPL_EVD_STATE_OPEN;
@@ -293,7 +292,6 @@ DAPL_EVD *dapls_evd_alloc(IN DAPL_IA * ia_ptr,
evd_ptr->evd_flags = evd_flags;
evd_ptr->evd_enabled = DAT_TRUE;
evd_ptr->evd_waitable = DAT_TRUE;
- evd_ptr->evd_producer_locking_needed = 1; /* Conservative value. */
evd_ptr->ib_cq_handle = IB_INVALID_HANDLE;
dapl_os_atomic_set(&evd_ptr->evd_ref_count, 0);
evd_ptr->catastrophic_overflow = DAT_FALSE;
@@ -301,20 +299,6 @@ DAPL_EVD *dapls_evd_alloc(IN DAPL_IA * ia_ptr,
evd_ptr->completion_type = DAPL_EVD_STATE_THRESHOLD; /* FIXME: should be DAPL_EVD_STATE_INIT */
dapl_os_wait_object_init(&evd_ptr->wait_object);
-#ifdef CQ_WAIT_OBJECT
- /* Create CQ wait object; no CNO and data stream type */
- if ((cno_ptr == NULL) &&
- ((evd_flags & ~(DAT_EVD_DTO_FLAG | DAT_EVD_RMR_BIND_FLAG)) == 0)) {
- dapls_ib_wait_object_create(evd_ptr,
- &evd_ptr->cq_wait_obj_handle);
- if (evd_ptr->cq_wait_obj_handle == NULL) {
- dapl_os_free(evd_ptr, sizeof(DAPL_EVD));
- evd_ptr = NULL;
- goto bail;
- }
- }
-#endif
-
evd_ptr->cno_active_count = 0;
if (cno_ptr != NULL) {
/* Take a reference count on the CNO */
@@ -483,6 +467,7 @@ DAT_RETURN dapls_evd_dealloc(IN DAPL_EVD * evd_ptr)
* Destroy the CQ first, to keep any more callbacks from coming
* up from it.
*/
+ evd_ptr->evd_enabled = DAT_FALSE;
if (evd_ptr->ib_cq_handle != IB_INVALID_HANDLE) {
ia_ptr = evd_ptr->header.owner_ia;
@@ -517,12 +502,6 @@ DAT_RETURN dapls_evd_dealloc(IN DAPL_EVD * evd_ptr)
dapl_os_wait_object_destroy(&evd_ptr->wait_object);
-#ifdef CQ_WAIT_OBJECT
- if (evd_ptr->cq_wait_obj_handle) {
- dapls_ib_wait_object_destroy(evd_ptr->cq_wait_obj_handle);
- }
-#endif
-
#ifdef DAPL_COUNTERS
dapl_os_free(evd_ptr->cntrs,
sizeof(DAT_UINT64) * DCNT_EVD_ALL_COUNTERS);
@@ -596,60 +575,12 @@ void dapli_evd_eh_print_cqe(IN ib_work_completion_t * cqe_ptr)
* Event posting code follows.
*/
-/*
- * These next two functions (dapli_evd_get_event and dapli_evd_post_event)
- * are a pair. They are always called together, from one of the functions
- * at the end of this file (dapl_evd_post_*_event).
- *
- * Note that if producer side locking is enabled, the first one takes the
- * EVD lock and the second releases it.
- */
-
-/* dapli_evd_get_event
- *
- * Get an event struct from the evd. The caller should fill in the event
- * and call dapl_evd_post_event.
- *
- * If there are no events available, an overflow event is generated to the
- * async EVD handler.
- *
- * If this EVD required producer locking, a successful return implies
- * that the lock is held.
- *
- * Input:
- * evd_ptr
- *
- * Output:
- * event
- *
- */
-
-static DAT_EVENT *dapli_evd_get_event(DAPL_EVD * evd_ptr)
-{
- DAT_EVENT *event;
-
- if (evd_ptr->evd_producer_locking_needed) {
- dapl_os_lock(&evd_ptr->header.lock);
- }
-
- event = (DAT_EVENT *) dapls_rbuf_remove(&evd_ptr->free_event_queue);
-
- /* Release the lock if it was taken and the call failed. */
- if (!event && evd_ptr->evd_producer_locking_needed) {
- dapl_os_unlock(&evd_ptr->header.lock);
- }
-
- return event;
-}
/* dapli_evd_post_event
*
* Post the <event> to the evd. If possible, invoke the evd's CNO.
* Otherwise post the event on the pending queue.
*
- * If producer side locking is required, the EVD lock must be held upon
- * entry to this function.
- *
* Input:
* evd_ptr
* event
@@ -663,10 +594,10 @@ static void
dapli_evd_post_event(IN DAPL_EVD * evd_ptr, IN const DAT_EVENT * event_ptr)
{
DAT_RETURN dat_status;
- DAPL_CNO *cno_to_trigger = NULL;
- dapl_dbg_log(DAPL_DBG_TYPE_EVD, "%s: Called with event %s\n",
- __FUNCTION__, dapl_event_str(event_ptr->event_number));
+ dapl_dbg_log(DAPL_DBG_TYPE_EVD, "%s: %s evd %p state %d\n",
+ __FUNCTION__, dapl_event_str(event_ptr->event_number),
+ evd_ptr, evd_ptr->evd_state);
dat_status = dapls_rbuf_add(&evd_ptr->pending_event_queue,
(void *)event_ptr);
@@ -677,112 +608,37 @@ dapli_evd_post_event(IN DAPL_EVD * evd_ptr, IN const DAT_EVENT * event_ptr)
if (evd_ptr->evd_state == DAPL_EVD_STATE_OPEN) {
/* No waiter. Arrange to trigger a CNO if it exists. */
-
- if (evd_ptr->evd_enabled) {
- cno_to_trigger = evd_ptr->cno_ptr;
- }
- if (evd_ptr->evd_producer_locking_needed) {
- dapl_os_unlock(&evd_ptr->header.lock);
- }
+ if (evd_ptr->evd_enabled && evd_ptr->cno_ptr)
+ dapl_internal_cno_trigger(evd_ptr->cno_ptr, evd_ptr);
} else {
- /*
- * We're in DAPL_EVD_STATE_WAITED. Take the lock if
- * we don't have it, recheck, and signal.
- */
- if (!evd_ptr->evd_producer_locking_needed) {
- dapl_os_lock(&evd_ptr->header.lock);
- }
-
if (evd_ptr->evd_state == DAPL_EVD_STATE_WAITED
&& (dapls_rbuf_count(&evd_ptr->pending_event_queue)
>= evd_ptr->threshold)) {
- dapl_os_unlock(&evd_ptr->header.lock);
-#ifdef CQ_WAIT_OBJECT
- if (evd_ptr->cq_wait_obj_handle)
- dapls_ib_wait_object_wakeup(evd_ptr->
- cq_wait_obj_handle);
- else
-#endif
- dapl_os_wait_object_wakeup(&evd_ptr->
- wait_object);
- } else {
- dapl_os_unlock(&evd_ptr->header.lock);
+ if (evd_ptr->evd_flags & (DAT_EVD_DTO_FLAG | DAT_EVD_RMR_BIND_FLAG)) {
+ dapls_evd_dto_wakeup(evd_ptr);
+ } else {
+ dapl_os_wait_object_wakeup(&evd_ptr->wait_object);
+ }
}
}
-
- if (cno_to_trigger != NULL) {
- dapl_internal_cno_trigger(cno_to_trigger, evd_ptr);
- }
}
-/* dapli_evd_post_event_nosignal
- *
- * Post the <event> to the evd. Do not do any wakeup processing.
- * This function should only be called if it is known that there are
- * no waiters that it is appropriate to wakeup on this EVD. An example
- * of such a situation is during internal dat_evd_wait() processing.
- *
- * If producer side locking is required, the EVD lock must be held upon
- * entry to this function.
- *
- * Input:
- * evd_ptr
- * event
- *
- * Output:
- * none
- *
- */
-
-static void
-dapli_evd_post_event_nosignal(IN DAPL_EVD * evd_ptr,
- IN const DAT_EVENT * event_ptr)
+static DAT_EVENT *dapli_evd_get_and_init_event(IN DAPL_EVD * evd_ptr,
+ IN DAT_EVENT_NUMBER event_number)
{
- DAT_RETURN dat_status;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EVD, "%s: Called with event %s\n",
- __FUNCTION__, dapl_event_str(event_ptr->event_number));
-
- dat_status = dapls_rbuf_add(&evd_ptr->pending_event_queue,
- (void *)event_ptr);
- dapl_os_assert(dat_status == DAT_SUCCESS);
-
- dapl_os_assert(evd_ptr->evd_state == DAPL_EVD_STATE_WAITED
- || evd_ptr->evd_state == DAPL_EVD_STATE_OPEN);
+ DAT_EVENT *event_ptr;
- if (evd_ptr->evd_producer_locking_needed) {
- dapl_os_unlock(&evd_ptr->header.lock);
+ event_ptr = (DAT_EVENT *) dapls_rbuf_remove(&evd_ptr->free_event_queue);
+ if (event_ptr) {
+ event_ptr->evd_handle = (DAT_EVD_HANDLE) evd_ptr;
+ event_ptr->event_number = event_number;
}
-}
-/* dapli_evd_format_overflow_event
- *
- * format an overflow event for posting
- *
- * Input:
- * evd_ptr
- * event_ptr
- *
- * Output:
- * none
- *
- */
-static void
-dapli_evd_format_overflow_event(IN DAPL_EVD * evd_ptr,
- OUT DAT_EVENT * event_ptr)
-{
- DAPL_IA *ia_ptr;
-
- ia_ptr = evd_ptr->header.owner_ia;
-
- event_ptr->evd_handle = (DAT_EVD_HANDLE) evd_ptr;
- event_ptr->event_number = DAT_ASYNC_ERROR_EVD_OVERFLOW;
- event_ptr->event_data.asynch_error_event_data.dat_handle =
- (DAT_HANDLE) ia_ptr;
+ return event_ptr;
}
-/* dapli_evd_post_overflow_event
+/* dapls_evd_post_overflow_event
*
* post an overflow event
*
@@ -794,52 +650,38 @@ dapli_evd_format_overflow_event(IN DAPL_EVD * evd_ptr,
* none
*
*/
-static void
-dapli_evd_post_overflow_event(IN DAPL_EVD * async_evd_ptr,
- IN DAPL_EVD * overflow_evd_ptr)
+void
+dapls_evd_post_overflow_event(IN DAPL_EVD * evd_ptr)
{
- DAT_EVENT *overflow_event;
+ DAPL_EVD *async_evd_ptr = evd_ptr->header.owner_ia->async_error_evd;
+ DAT_EVENT *event_ptr;
- /* The overflow_evd_ptr mght be the same as evd.
- * In that case we've got a catastrophic overflow.
- */
- dapl_log(DAPL_DBG_TYPE_WARN,
- " WARNING: overflow event on EVD %p/n", overflow_evd_ptr);
+ dapl_log(DAPL_DBG_TYPE_WARN, " WARNING: overflow event on EVD %p\n", evd_ptr);
- if (async_evd_ptr == overflow_evd_ptr) {
- async_evd_ptr->catastrophic_overflow = DAT_TRUE;
- async_evd_ptr->evd_state = DAPL_EVD_STATE_DEAD;
- return;
- }
+ dapl_os_lock(&async_evd_ptr->header.lock);
- overflow_event = dapli_evd_get_event(overflow_evd_ptr);
- if (!overflow_event) {
- /* this is not good */
- overflow_evd_ptr->catastrophic_overflow = DAT_TRUE;
- overflow_evd_ptr->evd_state = DAPL_EVD_STATE_DEAD;
- return;
- }
- dapli_evd_format_overflow_event(overflow_evd_ptr, overflow_event);
- dapli_evd_post_event(overflow_evd_ptr, overflow_event);
+ /* The overflow evd_ptr mght be the same as the async evd.
+ * In that case we've got a catastrophic overflow.
+ */
+ if (async_evd_ptr == evd_ptr)
+ goto err;
+
+ event_ptr = dapli_evd_get_and_init_event(async_evd_ptr,
+ DAT_ASYNC_ERROR_EVD_OVERFLOW);
+ if (!event_ptr)
+ goto err;
+
+ event_ptr->event_data.asynch_error_event_data.dat_handle =
+ (DAT_HANDLE) evd_ptr->header.owner_ia;
+ dapli_evd_post_event(async_evd_ptr, event_ptr);
+ dapl_os_unlock(&async_evd_ptr->header.lock);
return;
-}
-
-static DAT_EVENT *dapli_evd_get_and_init_event(IN DAPL_EVD * evd_ptr,
- IN DAT_EVENT_NUMBER event_number)
-{
- DAT_EVENT *event_ptr;
- event_ptr = dapli_evd_get_event(evd_ptr);
- if (NULL == event_ptr) {
- dapli_evd_post_overflow_event(evd_ptr->header.owner_ia->
- async_error_evd, evd_ptr);
- } else {
- event_ptr->evd_handle = (DAT_EVD_HANDLE) evd_ptr;
- event_ptr->event_number = event_number;
- }
-
- return event_ptr;
+err:
+ async_evd_ptr->catastrophic_overflow = DAT_TRUE;
+ async_evd_ptr->evd_state = DAPL_EVD_STATE_DEAD;
+ dapl_os_unlock(&async_evd_ptr->header.lock);
}
DAT_RETURN
@@ -851,17 +693,11 @@ dapls_evd_post_cr_arrival_event(IN DAPL_EVD * evd_ptr,
DAT_CR_HANDLE cr_handle)
{
DAT_EVENT *event_ptr;
- event_ptr = dapli_evd_get_and_init_event(evd_ptr, event_number);
- /*
- * Note event lock may be held on successful return
- * to be released by dapli_evd_post_event(), if provider side locking
- * is needed.
- */
- if (event_ptr == NULL) {
- return DAT_ERROR(DAT_INSUFFICIENT_RESOURCES,
- DAT_RESOURCE_MEMORY);
- }
+ dapl_os_lock(&evd_ptr->header.lock);
+ event_ptr = dapli_evd_get_and_init_event(evd_ptr, event_number);
+ if (event_ptr == NULL)
+ goto err;
event_ptr->event_data.cr_arrival_event_data.sp_handle = sp_handle;
event_ptr->event_data.cr_arrival_event_data.local_ia_address_ptr
@@ -870,8 +706,13 @@ dapls_evd_post_cr_arrival_event(IN DAPL_EVD * evd_ptr,
event_ptr->event_data.cr_arrival_event_data.cr_handle = cr_handle;
dapli_evd_post_event(evd_ptr, event_ptr);
-
+ dapl_os_unlock(&evd_ptr->header.lock);
return DAT_SUCCESS;
+
+err:
+ dapl_os_unlock(&evd_ptr->header.lock);
+ dapls_evd_post_overflow_event(evd_ptr);
+ return DAT_ERROR(DAT_QUEUE_FULL, 0);
}
DAT_RETURN
@@ -882,17 +723,11 @@ dapls_evd_post_connection_event(IN DAPL_EVD * evd_ptr,
IN DAT_PVOID private_data)
{
DAT_EVENT *event_ptr;
- event_ptr = dapli_evd_get_and_init_event(evd_ptr, event_number);
- /*
- * Note event lock may be held on successful return
- * to be released by dapli_evd_post_event(), if provider side locking
- * is needed.
- */
- if (event_ptr == NULL) {
- return DAT_ERROR(DAT_INSUFFICIENT_RESOURCES,
- DAT_RESOURCE_MEMORY);
- }
+ dapl_os_lock(&evd_ptr->header.lock);
+ event_ptr = dapli_evd_get_and_init_event(evd_ptr, event_number);
+ if (event_ptr == NULL)
+ goto err;
event_ptr->event_data.connect_event_data.ep_handle = ep_handle;
event_ptr->event_data.connect_event_data.private_data_size
@@ -900,8 +735,13 @@ dapls_evd_post_connection_event(IN DAPL_EVD * evd_ptr,
event_ptr->event_data.connect_event_data.private_data = private_data;
dapli_evd_post_event(evd_ptr, event_ptr);
-
+ dapl_os_unlock(&evd_ptr->header.lock);
return DAT_SUCCESS;
+
+err:
+ dapl_os_unlock(&evd_ptr->header.lock);
+ dapls_evd_post_overflow_event(evd_ptr);
+ return DAT_ERROR(DAT_QUEUE_FULL, 0);
}
DAT_RETURN
@@ -910,27 +750,27 @@ dapls_evd_post_async_error_event(IN DAPL_EVD * evd_ptr,
IN DAT_IA_HANDLE ia_handle)
{
DAT_EVENT *event_ptr;
- event_ptr = dapli_evd_get_and_init_event(evd_ptr, event_number);
- /*
- * Note event lock may be held on successful return
- * to be released by dapli_evd_post_event(), if provider side locking
- * is needed.
- */
+
dapl_log(DAPL_DBG_TYPE_WARN,
" WARNING: async event - %s evd=%p/n",
dapl_event_str(event_number), evd_ptr);
- if (event_ptr == NULL) {
- return DAT_ERROR(DAT_INSUFFICIENT_RESOURCES,
- DAT_RESOURCE_MEMORY);
- }
+ dapl_os_lock(&evd_ptr->header.lock);
+ event_ptr = dapli_evd_get_and_init_event(evd_ptr, event_number);
+ if (event_ptr == NULL)
+ goto err;
event_ptr->event_data.asynch_error_event_data.dat_handle =
(DAT_HANDLE) ia_handle;
dapli_evd_post_event(evd_ptr, event_ptr);
-
+ dapl_os_unlock(&evd_ptr->header.lock);
return DAT_SUCCESS;
+
+err:
+ dapl_os_unlock(&evd_ptr->header.lock);
+ dapls_evd_post_overflow_event(evd_ptr);
+ return DAT_ERROR(DAT_QUEUE_FULL, 0);
}
DAT_RETURN
@@ -939,23 +779,22 @@ dapls_evd_post_software_event(IN DAPL_EVD * evd_ptr,
IN DAT_PVOID pointer)
{
DAT_EVENT *event_ptr;
- event_ptr = dapli_evd_get_and_init_event(evd_ptr, event_number);
- /*
- * Note event lock may be held on successful return
- * to be released by dapli_evd_post_event(), if provider side locking
- * is needed.
- */
- if (event_ptr == NULL) {
- return DAT_ERROR(DAT_INSUFFICIENT_RESOURCES,
- DAT_RESOURCE_MEMORY);
- }
+ dapl_os_lock(&evd_ptr->header.lock);
+ event_ptr = dapli_evd_get_and_init_event(evd_ptr, event_number);
+ if (event_ptr == NULL)
+ goto err;
event_ptr->event_data.software_event_data.pointer = pointer;
dapli_evd_post_event(evd_ptr, event_ptr);
-
+ dapl_os_unlock(&evd_ptr->header.lock);
return DAT_SUCCESS;
+
+err:
+ dapl_os_unlock(&evd_ptr->header.lock);
+ dapls_evd_post_overflow_event(evd_ptr);
+ return DAT_ERROR(DAT_QUEUE_FULL, 0);
}
/*
@@ -982,6 +821,52 @@ dapls_evd_post_generic_event(IN DAPL_EVD * evd_ptr,
{
DAT_EVENT *event_ptr;
+ dapl_os_lock(&evd_ptr->header.lock);
+ event_ptr = dapli_evd_get_and_init_event(evd_ptr, event_number);
+ if (event_ptr == NULL)
+ goto err;
+
+ event_ptr->event_data = *data;
+
+ dapli_evd_post_event(evd_ptr, event_ptr);
+ dapl_os_unlock(&evd_ptr->header.lock);
+ return DAT_SUCCESS;
+
+err:
+ dapl_os_unlock(&evd_ptr->header.lock);
+ dapls_evd_post_overflow_event(evd_ptr);
+ return DAT_ERROR(DAT_QUEUE_FULL, 0);
+}
+
+#ifdef DAT_EXTENSIONS
+
+/*
+ * dapls_evd_post_event_ext
+ *
+ * Post a extended event type. Not used by all providers
+ *
+ * Input:
+ * evd_ptr
+ * event_number
+ * data
+ * data_ext
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * DAT_SUCCESS
+ *
+ */
+DAT_RETURN
+dapls_evd_post_event_ext(IN DAPL_EVD * evd_ptr,
+ IN DAT_EVENT_NUMBER event_number,
+ IN DAT_EVENT_DATA * data,
+ IN DAT_UINT64 * data_ext)
+{
+ DAT_EVENT *event_ptr;
+
+ dapl_os_lock(&evd_ptr->header.lock);
event_ptr = dapli_evd_get_and_init_event(evd_ptr, event_number);
/*
* Note event lock may be held on successful return
@@ -990,18 +875,59 @@ dapls_evd_post_generic_event(IN DAPL_EVD * evd_ptr,
*/
if (event_ptr == NULL) {
- return DAT_ERROR(DAT_INSUFFICIENT_RESOURCES,
- DAT_RESOURCE_MEMORY);
+ dapl_os_unlock(&evd_ptr->header.lock);
+ return DAT_ERROR(DAT_QUEUE_FULL,0);
}
- event_ptr->event_data = *data;
+ /* copy event and extended data */
+ if (data)
+ event_ptr->event_data = *data;
+ else
+ dapl_os_memzero(&event_ptr->event_data,
+ sizeof(event_ptr->event_data));
+
+ dapl_os_memcpy( (void*)event_ptr->event_extension_data,
+ (void *)data_ext,
+ sizeof(event_ptr->event_extension_data));
dapli_evd_post_event(evd_ptr, event_ptr);
+ dapl_os_unlock(&evd_ptr->header.lock);
+ return DAT_SUCCESS;
+}
+DAT_RETURN
+dapls_evd_do_post_cr_event_ext(IN DAPL_EVD * evd_ptr,
+ IN DAT_EVENT_NUMBER event_number,
+ IN DAPL_SP *sp_ptr,
+ IN DAPL_CR *cr_ptr,
+ IN DAT_PVOID ext_data)
+{
+ DAT_EVENT *event_ptr;
+
+ dapl_os_lock(&evd_ptr->header.lock);
+ event_ptr = dapli_evd_get_and_init_event(evd_ptr, event_number);
+ if (event_ptr == NULL)
+ goto err;
+
+ event_ptr->event_data.cr_arrival_event_data.sp_handle.psp_handle =
+ (DAT_PSP_HANDLE) sp_ptr;
+ event_ptr->event_data.cr_arrival_event_data.local_ia_address_ptr =
+ (DAT_IA_ADDRESS_PTR) &sp_ptr->header.owner_ia->hca_ptr->hca_address;
+ event_ptr->event_data.cr_arrival_event_data.conn_qual = sp_ptr->conn_qual;
+ event_ptr->event_data.cr_arrival_event_data.cr_handle = (DAT_CR_HANDLE) cr_ptr;
+
+ dapl_os_memcpy(&event_ptr->event_extension_data[0], ext_data, 64);
+
+ dapli_evd_post_event(sp_ptr->evd_handle, event_ptr);
+ dapl_os_unlock(&evd_ptr->header.lock);
return DAT_SUCCESS;
+
+err:
+ dapl_os_unlock(&evd_ptr->header.lock);
+ dapls_evd_post_overflow_event(evd_ptr);
+ return DAT_ERROR(DAT_QUEUE_FULL, 0);
}
-#ifdef DAT_EXTENSIONS
DAT_RETURN
dapls_evd_post_cr_event_ext(IN DAPL_SP * sp_ptr,
IN DAT_EVENT_NUMBER event_number,
@@ -1011,18 +937,13 @@ dapls_evd_post_cr_event_ext(IN DAPL_SP * sp_ptr,
{
DAPL_CR *cr_ptr;
DAPL_EP *ep_ptr;
- DAT_EVENT *event_ptr;
- DAT_SP_HANDLE sp_handle;
+ int reason = DAT_CONNECTION_EVENT_BROKEN;
dapl_os_lock(&sp_ptr->header.lock);
if (sp_ptr->listening == DAT_FALSE) {
dapl_os_unlock(&sp_ptr->header.lock);
- dapl_dbg_log(DAPL_DBG_TYPE_CM,
- "---> post_cr_event_ext: conn event on down SP\n");
- (void)dapls_ib_reject_connection(ib_cm_handle,
- DAT_CONNECTION_EVENT_UNREACHABLE,
- 0, NULL);
- return DAT_CONN_QUAL_UNAVAILABLE;
+ reason = DAT_CONNECTION_EVENT_UNREACHABLE;
+ goto bail;
}
/*
@@ -1037,7 +958,7 @@ dapls_evd_post_cr_event_ext(IN DAPL_SP * sp_ptr,
/* allocate new connect request */
cr_ptr = dapls_cr_alloc(sp_ptr->header.owner_ia);
if (cr_ptr == NULL)
- return DAT_INSUFFICIENT_RESOURCES;
+ goto bail;
/* Set up the CR */
cr_ptr->sp_ptr = sp_ptr; /* maintain sp_ptr in case of reject */
@@ -1070,8 +991,7 @@ dapls_evd_post_cr_event_ext(IN DAPL_SP * sp_ptr,
ep_ptr = dapl_ep_alloc(ia_ptr, NULL);
if (ep_ptr == NULL) {
dapls_cr_free(cr_ptr);
- /* Invoking function will call dapls_ib_cm_reject() */
- return DAT_INSUFFICIENT_RESOURCES;
+ goto bail;
}
ep_ptr->param.ia_handle = ia_ptr;
ep_ptr->param.local_ia_address_ptr =
@@ -1095,42 +1015,31 @@ dapls_evd_post_cr_event_ext(IN DAPL_SP * sp_ptr,
ep_ptr->param.ep_state =
DAT_EP_STATE_PASSIVE_CONNECTION_PENDING;
}
- ep_ptr->cm_handle = ib_cm_handle;
+ dapl_ep_link_cm(ep_ptr, ib_cm_handle);
}
/* link the CR onto the SP so we can pick it up later */
dapl_sp_link_cr(sp_ptr, cr_ptr);
- /* assign sp_ptr to union to avoid typecast errors from some compilers */
- sp_handle.psp_handle = (DAT_PSP_HANDLE) sp_ptr;
-
- /* Post the event. */
-
- /*
- * Note event lock may be held on successful return
- * to be released by dapli_evd_post_event(), if provider side locking
- * is needed.
- */
- event_ptr = dapli_evd_get_and_init_event(sp_ptr->evd_handle,
- event_number);
- if (event_ptr == NULL)
- return DAT_ERROR(DAT_INSUFFICIENT_RESOURCES,
- DAT_RESOURCE_MEMORY);
-
- event_ptr->event_data.cr_arrival_event_data.sp_handle = sp_handle;
- event_ptr->event_data.cr_arrival_event_data.local_ia_address_ptr =
- (DAT_IA_ADDRESS_PTR) & sp_ptr->header.owner_ia->hca_ptr->
- hca_address;
- event_ptr->event_data.cr_arrival_event_data.conn_qual =
- sp_ptr->conn_qual;
- event_ptr->event_data.cr_arrival_event_data.cr_handle =
- (DAT_HANDLE) cr_ptr;
+ if (dapls_evd_do_post_cr_event_ext(sp_ptr->evd_handle,
+ event_number,
+ sp_ptr, cr_ptr,
+ ext_data) == DAT_SUCCESS) {
+ return DAT_SUCCESS;
+ }
- dapl_os_memcpy(&event_ptr->event_extension_data[0], ext_data, 64);
+ /* error: take CR off the list, we can't use it */
+ dapl_os_lock(&sp_ptr->header.lock);
+ dapl_sp_remove_cr(sp_ptr, cr_ptr);
+ dapl_os_unlock(&sp_ptr->header.lock);
+ dapls_cr_free(cr_ptr);
+bail:
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ " cr_event_ext: ERROR reason = 0x%x\n", reason);
- dapli_evd_post_event(sp_ptr->evd_handle, event_ptr);
+ (void)dapls_ib_reject_connection(ib_cm_handle, reason, 0, NULL);
- return DAT_SUCCESS;
+ return DAT_INTERNAL_ERROR;
}
DAT_RETURN
@@ -1142,15 +1051,11 @@ dapls_evd_post_connection_event_ext(IN DAPL_EVD * evd_ptr,
IN DAT_PVOID ext_data)
{
DAT_EVENT *event_ptr;
+
+ dapl_os_lock(&evd_ptr->header.lock);
event_ptr = dapli_evd_get_and_init_event(evd_ptr, event_number);
- /*
- * Note event lock may be held on successful return
- * to be released by dapli_evd_post_event(), if provider side locking
- * is needed.
- */
if (event_ptr == NULL)
- return DAT_ERROR(DAT_INSUFFICIENT_RESOURCES,
- DAT_RESOURCE_MEMORY);
+ goto err;
event_ptr->event_data.connect_event_data.ep_handle = ep_handle;
event_ptr->event_data.connect_event_data.private_data_size
@@ -1160,8 +1065,13 @@ dapls_evd_post_connection_event_ext(IN DAPL_EVD * evd_ptr,
dapl_os_memcpy(&event_ptr->event_extension_data[0], ext_data, 64);
dapli_evd_post_event(evd_ptr, event_ptr);
-
+ dapl_os_unlock(&evd_ptr->header.lock);
return DAT_SUCCESS;
+
+err:
+ dapl_os_unlock(&evd_ptr->header.lock);
+ dapls_evd_post_overflow_event(evd_ptr);
+ return DAT_ERROR(DAT_QUEUE_FULL, 0);
}
#endif
@@ -1201,10 +1111,6 @@ dapli_evd_cqe_to_event(IN DAPL_EVD * evd_ptr,
ep_ptr = cookie->ep;
dapl_os_assert((NULL != ep_ptr));
- if (ep_ptr->header.magic != DAPL_MAGIC_EP) {
- /* ep may have been freed, just return */
- return;
- }
dapls_io_trc_update_completion(ep_ptr, cookie, dto_status);
@@ -1330,6 +1236,7 @@ dapli_evd_cqe_to_event(IN DAPL_EVD * evd_ptr,
/* ... and clean up the local side */
evd_ptr = (DAPL_EVD *) ep_ptr->param.connect_evd_handle;
+ dapl_sp_remove_ep (ep_ptr);
if (evd_ptr != NULL) {
dapls_evd_post_connection_event(evd_ptr,
DAT_CONNECTION_EVENT_BROKEN,
@@ -1356,18 +1263,8 @@ dapli_evd_cqe_to_event(IN DAPL_EVD * evd_ptr,
* Copy all entries on a CQ associated with the EVD onto that EVD
* Up to caller to handle races, if any. Note that no EVD waiters will
* be awoken by this copy.
- *
- * Input:
- * evd_ptr
- *
- * Output:
- * None
- *
- * Returns:
- * none
- *
*/
-void dapls_evd_copy_cq(DAPL_EVD * evd_ptr)
+DAT_RETURN dapls_evd_copy_cq(DAPL_EVD * evd_ptr)
{
ib_work_completion_t cur_cqe;
DAT_RETURN dat_status;
@@ -1375,7 +1272,7 @@ void dapls_evd_copy_cq(DAPL_EVD * evd_ptr)
if (evd_ptr->ib_cq_handle == IB_INVALID_HANDLE) {
/* Nothing to do if no CQ. */
- return;
+ return DAT_SUCCESS;
}
while (1) {
@@ -1394,18 +1291,13 @@ void dapls_evd_copy_cq(DAPL_EVD * evd_ptr)
* Can use DAT_DTO_COMPLETION_EVENT because dapli_evd_cqe_to_event
* will overwrite.
*/
-
- event =
- dapli_evd_get_and_init_event(evd_ptr,
- DAT_DTO_COMPLETION_EVENT);
- if (event == NULL) {
- /* We've already attempted the overflow post; return. */
- return;
- }
+ event = dapli_evd_get_and_init_event(evd_ptr, DAT_DTO_COMPLETION_EVENT);
+ if (event == NULL)
+ return DAT_QUEUE_FULL;
dapli_evd_cqe_to_event(evd_ptr, &cur_cqe, event);
- dapli_evd_post_event_nosignal(evd_ptr, event);
+ dapli_evd_post_event(evd_ptr, event);
}
if (DAT_GET_TYPE(dat_status) != DAT_QUEUE_EMPTY) {
@@ -1413,7 +1305,9 @@ void dapls_evd_copy_cq(DAPL_EVD * evd_ptr)
"dapls_evd_copy_cq: dapls_ib_completion_poll returned 0x%x\n",
dat_status);
dapl_os_assert(!"Bad return from dapls_ib_completion_poll");
+ return dat_status;
}
+ return DAT_SUCCESS;
}
/*
diff --git a/dapl/common/dapl_evd_util.h b/dapl/common/dapl_evd_util.h
index 2304435..3d6dbeb 100644
--- a/dapl/common/dapl_evd_util.h
+++ b/dapl/common/dapl_evd_util.h
@@ -111,6 +111,13 @@ dapls_evd_post_generic_event (
#ifdef DAT_EXTENSIONS
DAT_RETURN
+dapls_evd_post_event_ext(
+ IN DAPL_EVD *evd_ptr,
+ IN DAT_EVENT_NUMBER event_number,
+ IN DAT_EVENT_DATA *data,
+ IN DAT_UINT64 *data_ext);
+
+DAT_RETURN
dapls_evd_post_cr_event_ext (
IN DAPL_SP *sp_ptr,
IN DAT_EVENT_NUMBER event_number,
@@ -137,7 +144,8 @@ dapls_evd_post_connection_event_ext (
extern void dapl_evd_connection_callback (
IN dp_ib_cm_handle_t ib_cm_handle,
IN const ib_cm_events_t ib_cm_events,
- IN const void *instant_data_p,
+ IN const void *private_data_ptr,
+ IN const int private_data_size,
IN const void * context );
/* dto verb callback */
@@ -164,11 +172,14 @@ extern void dapl_evd_qp_async_error_callback (
IN ib_error_record_t * cause_ptr,
IN void * context);
-extern void dapls_evd_copy_cq (
+extern DAT_RETURN dapls_evd_copy_cq (
DAPL_EVD *evd_ptr);
extern DAT_RETURN dapls_evd_cq_poll_to_event (
IN DAPL_EVD *evd_ptr,
OUT DAT_EVENT *event);
+extern void dapls_evd_post_overflow_event (
+ IN DAPL_EVD *evd_ptr);
+
#endif
diff --git a/dapl/common/dapl_hca_util.c b/dapl/common/dapl_hca_util.c
index b8f068c..4a8a400 100644
--- a/dapl/common/dapl_hca_util.c
+++ b/dapl/common/dapl_hca_util.c
@@ -38,7 +38,6 @@
#include "dapl_adapter_util.h"
#include "dapl_provider.h"
#include "dapl_hca_util.h"
-#include "dapl_hash.h"
/*
* dapl_hca_alloc
@@ -66,13 +65,6 @@ DAPL_HCA *dapl_hca_alloc(char *name, char *port)
}
dapl_os_memzero(hca_ptr, sizeof(DAPL_HCA));
-
- if (DAT_SUCCESS !=
- dapls_hash_create(DAPL_HASH_TABLE_DEFAULT_CAPACITY,
- &hca_ptr->lmr_hash_table)) {
- goto bail;
- }
-
dapl_os_lock_init(&hca_ptr->lock);
dapl_llist_init_head(&hca_ptr->ia_list_head);
@@ -87,13 +79,8 @@ DAPL_HCA *dapl_hca_alloc(char *name, char *port)
return (hca_ptr);
bail:
- if (NULL != hca_ptr) {
- if (NULL != hca_ptr->lmr_hash_table) {
- dapls_hash_free(hca_ptr->lmr_hash_table);
- }
-
+ if (NULL != hca_ptr)
dapl_os_free(hca_ptr, sizeof(DAPL_HCA));
- }
return NULL;
}
@@ -115,7 +102,6 @@ DAPL_HCA *dapl_hca_alloc(char *name, char *port)
*/
void dapl_hca_free(DAPL_HCA * hca_ptr)
{
- (void)dapls_hash_free(hca_ptr->lmr_hash_table);
dapl_os_free(hca_ptr->name, dapl_os_strlen(hca_ptr->name) + 1);
dapl_os_free(hca_ptr, sizeof(DAPL_HCA));
}
diff --git a/dapl/common/dapl_ia_open.c b/dapl/common/dapl_ia_open.c
index edead04..e43d78d 100644
--- a/dapl/common/dapl_ia_open.c
+++ b/dapl/common/dapl_ia_open.c
@@ -266,6 +266,10 @@ dapl_ia_open(IN const DAT_NAME_PTR name,
*ia_handle_ptr = ia_ptr;
*async_evd_handle_ptr = evd_ptr;
+#if DAPL_COUNTERS
+ dapli_start_counters((DAT_HANDLE)ia_ptr);
+#endif
+
bail:
if (dat_status != DAT_SUCCESS) {
if (ia_ptr) {
diff --git a/dapl/common/dapl_ia_query.c b/dapl/common/dapl_ia_query.c
index 6fcc4a2..d530d72 100755
--- a/dapl/common/dapl_ia_query.c
+++ b/dapl/common/dapl_ia_query.c
@@ -150,8 +150,7 @@ dapl_ia_query(IN DAT_IA_HANDLE ia_handle,
* to 0 unless IBHOSTS_NAMING is enabled.
*/
provider_attr->max_private_data_size =
- dapls_ib_private_data_size(NULL, DAPL_PDATA_CONN_REQ,
- ia_ptr->hca_ptr) -
+ dapls_ib_private_data_size(ia_ptr->hca_ptr) -
(sizeof(DAPL_PRIVATE) - DAPL_MAX_PRIVATE_DATA_SIZE);
provider_attr->supports_multipath = DAT_FALSE;
provider_attr->ep_creator = DAT_PSP_CREATES_EP_NEVER;
diff --git a/dapl/common/dapl_ia_util.c b/dapl/common/dapl_ia_util.c
index 2208c23..6d1b5a8 100755
--- a/dapl/common/dapl_ia_util.c
+++ b/dapl/common/dapl_ia_util.c
@@ -525,6 +525,13 @@ void dapli_ia_release_hca(DAPL_HCA * hca_ptr)
dapl_os_lock(&hca_ptr->lock);
dapl_os_atomic_dec(&hca_ptr->handle_ref_count);
if (dapl_os_atomic_read(&hca_ptr->handle_ref_count) == 0) {
+#ifdef DAPL_COUNTERS
+{
+ DAPL_IA *ia = (DAPL_IA *)dapl_llist_peek_head(&hca_ptr->ia_list_head);
+ dapli_stop_counters(ia);
+ dapl_os_free(ia->cntrs, sizeof(DAT_UINT64) * DCNT_IA_ALL_COUNTERS);
+}
+#endif
dapls_ib_close_hca(hca_ptr);
hca_ptr->ib_hca_handle = IB_INVALID_HANDLE;
hca_ptr->async_evd = NULL;
@@ -566,11 +573,6 @@ void dapls_ia_free(DAPL_IA * ia_ptr)
dapl_hca_unlink_ia(ia_ptr->hca_ptr, ia_ptr);
ia_ptr->header.magic = DAPL_MAGIC_INVALID; /* reset magic to prevent reuse */
dapl_os_lock_destroy(&ia_ptr->header.lock);
-
-#ifdef DAPL_COUNTERS
- dapl_os_free(ia_ptr->cntrs, sizeof(DAT_UINT64) * DCNT_IA_ALL_COUNTERS);
-#endif /* DAPL_COUNTERS */
-
dapl_os_free(ia_ptr, sizeof(DAPL_IA));
}
diff --git a/dapl/common/dapl_lmr_free.c b/dapl/common/dapl_lmr_free.c
index e72824a..5f9336f 100644
--- a/dapl/common/dapl_lmr_free.c
+++ b/dapl/common/dapl_lmr_free.c
@@ -90,29 +90,12 @@ DAT_RETURN DAT_API dapl_lmr_free(IN DAT_LMR_HANDLE lmr_handle)
return DAT_INVALID_STATE;
}
- dat_status =
- dapls_hash_remove(lmr->header.owner_ia->hca_ptr->
- lmr_hash_table,
- lmr->param.lmr_context, NULL);
- if (dat_status != DAT_SUCCESS) {
- goto bail;
- }
-
dat_status = dapls_ib_mr_deregister(lmr);
if (dat_status == DAT_SUCCESS) {
dapl_os_atomic_dec(&pz->pz_ref_count);
dapl_lmr_dealloc(lmr);
- } else {
- /*
- * Deregister failed; put it back in the
- * hash table.
- */
- dapls_hash_insert(lmr->header.owner_ia->
- hca_ptr->lmr_hash_table,
- lmr->param.lmr_context, lmr);
- }
-
+ }
break;
}
#if defined(__KDAPL__)
diff --git a/dapl/common/dapl_lmr_query.c b/dapl/common/dapl_lmr_query.c
index 4ac37ec..d8688c8 100644
--- a/dapl/common/dapl_lmr_query.c
+++ b/dapl/common/dapl_lmr_query.c
@@ -80,6 +80,7 @@ dapl_lmr_query(IN DAT_LMR_HANDLE lmr_handle,
lmr = (DAPL_LMR *) lmr_handle;
dapl_os_memcpy(lmr_param, &lmr->param, sizeof(DAT_LMR_PARAM));
+ dats_get_ia_handle(lmr->param.ia_handle, &lmr_param->ia_handle);
bail:
return dat_status;
diff --git a/dapl/common/dapl_psp_query.c b/dapl/common/dapl_psp_query.c
index d990ebd..bb01c9f 100644
--- a/dapl/common/dapl_psp_query.c
+++ b/dapl/common/dapl_psp_query.c
@@ -83,7 +83,7 @@ dapl_psp_query(IN DAT_PSP_HANDLE psp_handle,
/*
* Fill in the PSP params
*/
- psp_param->ia_handle = sp_ptr->header.owner_ia;
+ dats_get_ia_handle(sp_ptr->header.owner_ia, &psp_param->ia_handle);
psp_param->conn_qual = sp_ptr->conn_qual;
psp_param->evd_handle = sp_ptr->evd_handle;
psp_param->psp_flags = sp_ptr->psp_flags;
diff --git a/dapl/common/dapl_pz_query.c b/dapl/common/dapl_pz_query.c
index 5829af4..b95ca7d 100644
--- a/dapl/common/dapl_pz_query.c
+++ b/dapl/common/dapl_pz_query.c
@@ -79,7 +79,7 @@ dapl_pz_query(IN DAT_PZ_HANDLE pz_handle,
/* Since the DAT_PZ_ARGS values are easily accessible, */
/* don't bother checking the DAT_PZ_ARGS_MASK value */
- pz_param->ia_handle = (DAT_IA_HANDLE) pz->header.owner_ia;
+ dats_get_ia_handle(pz->header.owner_ia, &pz_param->ia_handle);
bail:
return dat_status;
diff --git a/dapl/common/dapl_rmr_bind.c b/dapl/common/dapl_rmr_bind.c
index 9793f38..ecb190b 100755
--- a/dapl/common/dapl_rmr_bind.c
+++ b/dapl/common/dapl_rmr_bind.c
@@ -48,7 +48,8 @@
STATIC _INLINE_ DAT_RETURN
dapli_rmr_bind_fuse(IN DAPL_RMR * rmr,
- IN const DAT_LMR_TRIPLET * lmr_triplet,
+ IN DAT_LMR_HANDLE lmr_handle,
+ IN const DAT_LMR_TRIPLET * lmr_triplet,
IN DAT_MEM_PRIV_FLAGS mem_priv,
IN DAPL_EP * ep_ptr,
IN DAT_RMR_COOKIE user_cookie,
@@ -69,6 +70,7 @@ dapli_rmr_bind_unfuse(IN DAPL_RMR * rmr,
DAT_RETURN
dapli_rmr_bind_fuse(IN DAPL_RMR * rmr,
+ IN DAT_LMR_HANDLE lmr_handle,
IN const DAT_LMR_TRIPLET * lmr_triplet,
IN DAT_MEM_PRIV_FLAGS mem_priv,
IN DAPL_EP * ep_ptr,
@@ -80,16 +82,8 @@ dapli_rmr_bind_fuse(IN DAPL_RMR * rmr,
DAPL_COOKIE *cookie;
DAT_RETURN dat_status;
DAT_BOOLEAN is_signaled;
- DAPL_HASH_DATA hash_lmr;
- dat_status =
- dapls_hash_search(rmr->header.owner_ia->hca_ptr->lmr_hash_table,
- lmr_triplet->lmr_context, &hash_lmr);
- if (DAT_SUCCESS != dat_status) {
- dat_status = DAT_ERROR(DAT_INVALID_PARAMETER, DAT_INVALID_ARG2);
- goto bail;
- }
- lmr = (DAPL_LMR *) hash_lmr;
+ lmr = (DAPL_LMR *) lmr_handle;
/* if the ep in unconnected return an error. IB requires that the */
/* QP be connected to change a memory window binding since: */
@@ -305,6 +299,7 @@ dapl_rmr_bind(IN DAT_RMR_HANDLE rmr_handle,
/* if the rmr should be bound */
if (0 != lmr_triplet->segment_length) {
return dapli_rmr_bind_fuse(rmr,
+ lmr_handle,
lmr_triplet,
mem_priv,
ep_ptr,
diff --git a/dapl/common/dapl_rmr_query.c b/dapl/common/dapl_rmr_query.c
index d18aa84..18d9984 100644
--- a/dapl/common/dapl_rmr_query.c
+++ b/dapl/common/dapl_rmr_query.c
@@ -87,6 +87,7 @@ dapl_rmr_query(IN DAT_RMR_HANDLE rmr_handle,
}
dapl_os_memcpy(rmr_param, &rmr->param, sizeof(DAT_RMR_PARAM));
+ dats_get_ia_handle(rmr->param.ia_handle, &rmr_param->ia_handle);
bail:
return dat_status;
diff --git a/dapl/common/dapl_rsp_create.c b/dapl/common/dapl_rsp_create.c
index 3e36e81..52afcde 100644
--- a/dapl/common/dapl_rsp_create.c
+++ b/dapl/common/dapl_rsp_create.c
@@ -85,7 +85,7 @@ dapl_rsp_create(IN DAT_IA_HANDLE ia_handle,
ia_ptr = (DAPL_IA *) ia_handle;
dapl_dbg_log(DAPL_DBG_TYPE_CM,
- ">>> dapl_rsp_free conn_qual: %x EP: %p\n",
+ ">>> dapl_rsp_create conn_qual: %x EP: %p\n",
conn_qual, ep_handle);
if (DAPL_BAD_HANDLE(ia_ptr, DAPL_MAGIC_IA)) {
@@ -154,11 +154,6 @@ dapl_rsp_create(IN DAT_IA_HANDLE ia_handle,
*/
dapl_os_atomic_inc(&((DAPL_EVD *) evd_handle)->evd_ref_count);
- /*
- * Update the EP state indicating the provider now owns it
- */
- ep_ptr->param.ep_state = DAT_EP_STATE_RESERVED;
-
/*
* Set up a listener for a connection. Connections can arrive
* even before this call returns!
@@ -179,8 +174,7 @@ dapl_rsp_create(IN DAT_IA_HANDLE ia_handle,
* wrong! Decrements the EVD refcount & release it. Set
* the state to FREE, so we know the call failed.
*/
- dapl_os_atomic_dec(&((DAPL_EVD *) evd_handle)->
- evd_ref_count);
+ dapl_os_atomic_dec(&((DAPL_EVD *) evd_handle)->evd_ref_count);
sp_ptr->evd_handle = NULL;
sp_ptr->state = DAPL_SP_STATE_FREE;
dapls_ia_unlink_sp(ia_ptr, sp_ptr);
@@ -199,6 +193,11 @@ dapl_rsp_create(IN DAT_IA_HANDLE ia_handle,
*/
*rsp_handle = (DAT_RSP_HANDLE) sp_ptr;
+ /*
+ * Update the EP state indicating the provider now owns it
+ */
+ ep_ptr->param.ep_state = DAT_EP_STATE_RESERVED;
+
bail:
return dat_status;
}
diff --git a/dapl/common/dapl_rsp_query.c b/dapl/common/dapl_rsp_query.c
index dfc8145..79b30d8 100644
--- a/dapl/common/dapl_rsp_query.c
+++ b/dapl/common/dapl_rsp_query.c
@@ -81,7 +81,7 @@ dapl_rsp_query(IN DAT_RSP_HANDLE rsp_handle,
/*
* Fill in the RSP params
*/
- rsp_param->ia_handle = sp_ptr->header.owner_ia;
+ dats_get_ia_handle(sp_ptr->header.owner_ia, &rsp_param->ia_handle);
rsp_param->conn_qual = sp_ptr->conn_qual;
rsp_param->evd_handle = sp_ptr->evd_handle;
rsp_param->ep_handle = sp_ptr->ep_handle;
diff --git a/dapl/common/dapl_sp_util.c b/dapl/common/dapl_sp_util.c
index c1a3fdb..27bc306 100644
--- a/dapl/common/dapl_sp_util.c
+++ b/dapl/common/dapl_sp_util.c
@@ -226,6 +226,9 @@ void dapl_sp_remove_cr(IN DAPL_SP * sp_ptr, IN DAPL_CR * cr_ptr)
return;
}
+ dapl_log(DAPL_DBG_TYPE_CM, " dapl_sp_remove_cr: SP %p CR %p cnt %d\n",
+ sp_ptr, cr_ptr, sp_ptr->cr_list_count);
+
dapl_llist_remove_entry(&sp_ptr->cr_list_head,
&cr_ptr->header.ia_list_entry);
sp_ptr->cr_list_count--;
@@ -264,6 +267,8 @@ void dapl_sp_remove_ep(IN DAPL_EP * ep_ptr)
dapl_os_unlock(&sp_ptr->header.lock);
+ ep_ptr->cr_ptr = NULL;
+
/* free memory outside of the lock */
dapls_cr_free(cr_ptr);
diff --git a/dapl/common/dapl_srq_create.c b/dapl/common/dapl_srq_create.c
index 7631a5e..77aeacd 100644
--- a/dapl/common/dapl_srq_create.c
+++ b/dapl/common/dapl_srq_create.c
@@ -114,6 +114,10 @@ dapl_srq_create(IN DAT_IA_HANDLE ia_handle,
goto bail;
}
+ /* SRQ provider not implemented */
+ dat_status = DAT_ERROR(DAT_NOT_IMPLEMENTED, DAT_NO_SUBTYPE);
+ goto bail;
+
/* Allocate SRQ */
srq_ptr = dapl_srq_alloc(ia_ptr, srq_attr);
if (srq_ptr == NULL) {
@@ -129,9 +133,6 @@ dapl_srq_create(IN DAT_IA_HANDLE ia_handle,
/*
* XXX Allocate provider resource here!!!
*/
- /* XXX */ dat_status = DAT_ERROR(DAT_NOT_IMPLEMENTED, DAT_NO_SUBTYPE);
- /* XXX */ dapl_srq_dealloc(srq_ptr);
- /* XXX */ goto bail;
/* Link it onto the IA */
dapl_ia_link_srq(ia_ptr, srq_ptr);
diff --git a/dapl/common/dapl_srq_query.c b/dapl/common/dapl_srq_query.c
index af395d4..f9ad443 100644
--- a/dapl/common/dapl_srq_query.c
+++ b/dapl/common/dapl_srq_query.c
@@ -91,6 +91,7 @@ dapl_srq_query(IN DAT_SRQ_HANDLE srq_handle,
srq_ptr->param.outstanding_dto_count = DAT_VALUE_UNKNOWN;
*srq_param = srq_ptr->param;
+ dats_get_ia_handle(srq_ptr->header.owner_ia, &srq_param->ia_handle);
bail:
return dat_status;
diff --git a/dapl/common/dapl_timer_util.c b/dapl/common/dapl_timer_util.c
index f0d7964..cccaff1 100644
--- a/dapl/common/dapl_timer_util.c
+++ b/dapl/common/dapl_timer_util.c
@@ -52,11 +52,17 @@
#include "dapl.h"
#include "dapl_timer_util.h"
+#define DAPL_TIMER_INIT 0
+#define DAPL_TIMER_RUN 1
+#define DAPL_TIMER_DESTROY 2
+#define DAPL_TIMER_EXIT 3
+
struct timer_head {
DAPL_LLIST_HEAD timer_list_head;
DAPL_OS_LOCK lock;
DAPL_OS_WAIT_OBJECT wait_object;
DAPL_OS_THREAD timeout_thread_handle;
+ int state;
} g_daplTimerHead;
typedef struct timer_head DAPL_TIMER_HEAD;
@@ -73,6 +79,23 @@ void dapls_timer_init()
dapl_os_lock_init(&g_daplTimerHead.lock);
dapl_os_wait_object_init(&g_daplTimerHead.wait_object);
g_daplTimerHead.timeout_thread_handle = 0;
+ g_daplTimerHead.state = DAPL_TIMER_INIT;
+}
+
+void dapls_timer_release()
+{
+ dapl_os_lock(&g_daplTimerHead.lock);
+ if (g_daplTimerHead.state != DAPL_TIMER_RUN) {
+ dapl_os_unlock(&g_daplTimerHead.lock);
+ return;
+ }
+
+ g_daplTimerHead.state = DAPL_TIMER_DESTROY;
+ dapl_os_unlock(&g_daplTimerHead.lock);
+ while (g_daplTimerHead.state != DAPL_TIMER_EXIT) {
+ dapl_os_wait_object_wakeup(&g_daplTimerHead.wait_object);
+ dapl_os_sleep_usec(2000);
+ }
}
/*
@@ -107,6 +130,9 @@ dapls_timer_set(IN DAPL_OS_TIMER * timer,
dapl_os_thread_create(dapls_timer_thread,
&g_daplTimerHead,
&g_daplTimerHead.timeout_thread_handle);
+
+ while (g_daplTimerHead.state != DAPL_TIMER_RUN)
+ dapl_os_sleep_usec(2000);
}
dapl_llist_init_entry(&timer->list_entry);
@@ -121,6 +147,12 @@ dapls_timer_set(IN DAPL_OS_TIMER * timer,
* first.
*/
dapl_os_lock(&g_daplTimerHead.lock);
+
+ if (g_daplTimerHead.state != DAPL_TIMER_RUN) {
+ dapl_os_unlock(&g_daplTimerHead.lock);
+ return DAT_INVALID_STATE;
+ }
+
/*
* Deal with 3 cases due to our list structure:
* 1) list is empty: become the list head
@@ -246,6 +278,10 @@ void dapls_timer_thread(void *arg)
timer_head = arg;
+ dapl_os_lock(&timer_head->lock);
+ timer_head->state = DAPL_TIMER_RUN;
+ dapl_os_unlock(&timer_head->lock);
+
for (;;) {
if (dapl_llist_is_empty(&timer_head->timer_list_head)) {
dat_status =
@@ -265,7 +301,9 @@ void dapls_timer_thread(void *arg)
timer_list_head);
dapl_os_get_time(&cur_time);
- if (list_ptr->expires <= cur_time) {
+ if (list_ptr->expires <= cur_time ||
+ timer_head->state == DAPL_TIMER_DESTROY) {
+
/*
* Remove the entry from the list. Sort out how much
* time we need to sleep for the next one
@@ -297,6 +335,14 @@ void dapls_timer_thread(void *arg)
dapl_os_lock(&timer_head->lock);
}
}
+
+ /* Destroy - all timers triggered and list is empty */
+ if (timer_head->state == DAPL_TIMER_DESTROY) {
+ timer_head->state = DAPL_TIMER_EXIT;
+ dapl_os_unlock(&timer_head->lock);
+ break;
+ }
+
/*
* release the lock before going back to the top to sleep
*/
diff --git a/dapl/common/dapl_timer_util.h b/dapl/common/dapl_timer_util.h
index c24d26a..02f7069 100644
--- a/dapl/common/dapl_timer_util.h
+++ b/dapl/common/dapl_timer_util.h
@@ -36,6 +36,7 @@
**********************************************************************/
void dapls_timer_init ( void );
+void dapls_timer_release( void );
DAT_RETURN dapls_timer_set (
IN DAPL_OS_TIMER *timer,
diff --git a/dapl/include/dapl.h b/dapl/include/dapl.h
index b13c963..2fd5032 100755
--- a/dapl/include/dapl.h
+++ b/dapl/include/dapl.h
@@ -349,15 +349,9 @@ struct dapl_evd
DAT_BOOLEAN evd_enabled; /* For attached CNO. */
DAT_BOOLEAN evd_waitable; /* EVD state. */
- /* Derived from evd_flags; see dapls_evd_internal_create. */
- DAT_BOOLEAN evd_producer_locking_needed;
-
/* Every EVD has a CQ unless it is a SOFTWARE_EVENT only EVD */
ib_cq_handle_t ib_cq_handle;
- /* Mellanox Specific completion handle for registration/de-registration */
- ib_comp_handle_t ib_comp_handle;
-
/* An Event Dispatcher cannot be freed while
* it is referenced elsewhere.
*/
@@ -382,12 +376,7 @@ struct dapl_evd
DAT_COUNT cno_active_count;
DAPL_CNO *cno_ptr;
- DAPL_OS_WAIT_OBJECT wait_object;
-
-#ifdef CQ_WAIT_OBJECT
- /* Some providers support a direct CQ wait object */
- ib_wait_obj_handle_t cq_wait_obj_handle;
-#endif
+ DAPL_OS_WAIT_OBJECT wait_object;
DAT_COUNT threshold;
DAPL_EVD_COMPLETION completion_type;
@@ -446,7 +435,10 @@ struct dapl_ep
ib_qp_state_t qp_state;
/* communications manager handle (IBM OS API) */
- dp_ib_cm_handle_t cm_handle;
+ // dp_ib_cm_handle_t cm_handle;
+
+ /* Add support for multiple CM object ownership */
+ DAPL_LLIST_HEAD cm_list_head;
/* store the remote IA address here, reference from the param
* struct which only has a pointer, no storage
@@ -474,11 +466,6 @@ struct dapl_ep
struct io_buf_track *ibt_base;
DAPL_RING_BUFFER ibt_queue;
#endif /* DAPL_DBG_IO_TRC */
-#if defined(_WIN32) || defined(_WIN64)
- DAT_BOOLEAN recv_discreq;
- DAT_BOOLEAN sent_discreq;
- dp_ib_cm_handle_t ibal_cm_handle;
-#endif
#ifdef DAPL_COUNTERS
void *cntrs;
#endif
@@ -752,6 +739,10 @@ extern DAT_RETURN DAT_API dapl_get_handle_type (
IN DAT_HANDLE,
OUT DAT_HANDLE_TYPE * );
+extern DAT_RETURN DAT_API dats_get_ia_handle (
+ IN DAT_HANDLE, /* dat_handle */
+ OUT DAT_IA_HANDLE * ); /* ia handle */
+
/* CNO functions */
#if !defined(__KERNEL__)
diff --git a/dapl/include/dapl_debug.h b/dapl/include/dapl_debug.h
index bb823d9..6cbe028 100644
--- a/dapl/include/dapl_debug.h
+++ b/dapl/include/dapl_debug.h
@@ -65,7 +65,17 @@ typedef enum
DAPL_DBG_TYPE_RTN = 0x0200,
DAPL_DBG_TYPE_EXCEPTION = 0x0400,
DAPL_DBG_TYPE_SRQ = 0x0800,
- DAPL_DBG_TYPE_CNTR = 0x1000
+ DAPL_DBG_TYPE_CNTR = 0x1000,
+ DAPL_DBG_TYPE_CM_LIST = 0x2000,
+ DAPL_DBG_TYPE_THREAD = 0x4000,
+ DAPL_DBG_TYPE_CM_EST = 0x8000,
+ DAPL_DBG_TYPE_CM_WARN = 0x10000,
+ DAPL_DBG_TYPE_EXTENSION = 0x20000,
+ DAPL_DBG_TYPE_CM_STATS = 0x40000,
+ DAPL_DBG_TYPE_CM_ERRS = 0x80000,
+ DAPL_DBG_TYPE_LINK_ERRS = 0x100000,
+ DAPL_DBG_TYPE_LINK_WARN = 0x200000,
+ DAPL_DBG_TYPE_DIAG_ERRS = 0x400000,
} DAPL_DBG_TYPE;
@@ -94,6 +104,7 @@ extern void dapl_internal_dbg_log(DAPL_DBG_TYPE type, const char *fmt, ...);
#define DAPL_CNTR(h_ptr, cntr) ((DAT_UINT64*)h_ptr->cntrs)[cntr]++
#define DAPL_CNTR_DATA(h_ptr, cntr, data) ((DAT_UINT64*)h_ptr->cntrs)[cntr]+= data
+#define DAPL_CNTR_RESET(h_ptr, cntr) ((DAT_UINT64*)h_ptr->cntrs)[cntr] = 0
DAT_RETURN dapl_query_counter(DAT_HANDLE dh,
int counter,
@@ -101,11 +112,17 @@ DAT_RETURN dapl_query_counter(DAT_HANDLE dh,
int reset);
char *dapl_query_counter_name(DAT_HANDLE dh, int counter);
void dapl_print_counter(DAT_HANDLE dh, int counter, int reset);
+void dapl_print_counter_str(DAT_HANDLE dh, int counter, int reset, const char *pattern);
+void dapl_start_counters(DAT_HANDLE ia, DAT_IA_COUNTER_TYPE type);
+void dapl_stop_counters(DAT_HANDLE ia, DAT_IA_COUNTER_TYPE type);
+void dapli_start_counters(DAT_HANDLE ia);
+void dapli_stop_counters(DAT_HANDLE ia);
#else
#define DAPL_CNTR(handle, cntr)
#define DAPL_CNTR_DATA(handle, cntr, data)
+#define DAPL_CNTR_RESET(handle, cntr)
#endif /* DAPL_COUNTERS */
diff --git a/dapl/openib_cma/dapl_ib_cm.c b/dapl/openib_cma/cm.c
old mode 100755
new mode 100644
similarity index 70%
rename from dapl/openib_cma/dapl_ib_cm.c
rename to dapl/openib_cma/cm.c
index 946cfbd..4e9b7c4
--- a/dapl/openib_cma/dapl_ib_cm.c
+++ b/dapl/openib_cma/cm.c
@@ -42,9 +42,11 @@
#include "dapl.h"
#include "dapl_adapter_util.h"
#include "dapl_evd_util.h"
+#include "dapl_sp_util.h"
#include "dapl_cr_util.h"
#include "dapl_name_service.h"
#include "dapl_ib_util.h"
+#include "dapl_ep_util.h"
#include "dapl_vendor.h"
#include "dapl_osd.h"
@@ -77,7 +79,7 @@ struct dapl_pdata_hdr {
static void dapli_addr_resolve(struct dapl_cm_id *conn)
{
- int ret;
+ int ret, tos;
#ifdef DAPL_DBG
struct rdma_addr *ipaddr = &conn->cm_id->route.addr;
#endif
@@ -88,6 +90,16 @@ static void dapli_addr_resolve(struct dapl_cm_id *conn)
ntohl(((struct sockaddr_in *)
&ipaddr->dst_addr)->sin_addr.s_addr));
+ tos = dapl_os_get_env_val("DAPL_CM_TOS", 0);
+ if (tos) {
+ ret = rdma_set_option(conn->cm_id,RDMA_OPTION_ID,RDMA_OPTION_ID_TOS,&tos,sizeof(uint8_t));
+ if (ret) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " dapl_cma_connect: failed to set TOS ERR 0x%x %s\n",
+ ret, strerror(errno));
+ }
+ }
+
ret = rdma_resolve_route(conn->cm_id, conn->route_timeout);
if (ret) {
dapl_log(DAPL_DBG_TYPE_ERR,
@@ -95,7 +107,7 @@ static void dapli_addr_resolve(struct dapl_cm_id *conn)
ret, strerror(errno));
dapl_evd_connection_callback(conn,
IB_CME_LOCAL_FAILURE,
- NULL, conn->ep);
+ NULL, 0, conn->ep);
}
}
@@ -104,7 +116,6 @@ static void dapli_route_resolve(struct dapl_cm_id *conn)
int ret;
#ifdef DAPL_DBG
struct rdma_addr *ipaddr = &conn->cm_id->route.addr;
- struct ib_addr *ibaddr = &conn->cm_id->route.addr.addr.ibaddr;
#endif
dapl_dbg_log(DAPL_DBG_TYPE_CM,
@@ -119,16 +130,16 @@ static void dapli_route_resolve(struct dapl_cm_id *conn)
dapl_dbg_log(DAPL_DBG_TYPE_CM,
" route_resolve: SRC GID subnet %016llx id %016llx\n",
(unsigned long long)
- ntohll(ibaddr->sgid.global.subnet_prefix),
+ ntohll(ipaddr->addr.ibaddr.sgid.global.subnet_prefix),
(unsigned long long)
- ntohll(ibaddr->sgid.global.interface_id));
+ ntohll(ipaddr->addr.ibaddr.sgid.global.interface_id));
dapl_dbg_log(DAPL_DBG_TYPE_CM,
" route_resolve: DST GID subnet %016llx id %016llx\n",
(unsigned long long)
- ntohll(ibaddr->dgid.global.subnet_prefix),
+ ntohll(ipaddr->addr.ibaddr.dgid.global.subnet_prefix),
(unsigned long long)
- ntohll(ibaddr->dgid.global.interface_id));
+ ntohll(ipaddr->addr.ibaddr.dgid.global.interface_id));
dapl_dbg_log(DAPL_DBG_TYPE_CM,
" route_resolve: cm_id %p pdata %p plen %d rr %d ind %d\n",
@@ -149,46 +160,106 @@ static void dapli_route_resolve(struct dapl_cm_id *conn)
bail:
dapl_evd_connection_callback(conn,
- IB_CME_LOCAL_FAILURE, NULL, conn->ep);
+ IB_CME_LOCAL_FAILURE, NULL, 0, conn->ep);
}
-/*
- * Called from consumer thread via dat_ep_free().
- * CANNOT be called from the async event processing thread
- * dapli_cma_event_cb() since a cm_id reference is held and
- * a deadlock will occur.
- */
-void dapli_destroy_conn(struct dapl_cm_id *conn)
+dp_ib_cm_handle_t dapls_ib_cm_create(DAPL_EP *ep)
{
+ dp_ib_cm_handle_t conn;
struct rdma_cm_id *cm_id;
- dapl_dbg_log(DAPL_DBG_TYPE_CM,
- " destroy_conn: conn %p id %d\n", conn, conn->cm_id);
+ /* Allocate CM and initialize lock */
+ if ((conn = dapl_os_alloc(sizeof(*conn))) == NULL)
+ return NULL;
- dapl_os_lock(&conn->lock);
- conn->destroy = 1;
+ dapl_os_memzero(conn, sizeof(*conn));
+ dapl_os_lock_init(&conn->lock);
+ dapls_cm_acquire(conn);
- if (conn->ep) {
- conn->ep->cm_handle = IB_INVALID_HANDLE;
- conn->ep->qp_handle = IB_INVALID_HANDLE;
+ /* create CM_ID, bind to local device, create QP */
+ if (rdma_create_id(g_cm_events, &cm_id, (void *)conn, RDMA_PS_TCP)) {
+ dapls_cm_release(conn);
+ return NULL;
+ }
+
+ conn->cm_id = cm_id;
+
+ /* setup timers for address and route resolution */
+ conn->arp_timeout = dapl_os_get_env_val("DAPL_CM_ARP_TIMEOUT_MS",
+ IB_ARP_TIMEOUT);
+ conn->arp_retries = dapl_os_get_env_val("DAPL_CM_ARP_RETRY_COUNT",
+ IB_ARP_RETRY_COUNT);
+ conn->route_timeout = dapl_os_get_env_val("DAPL_CM_ROUTE_TIMEOUT_MS",
+ IB_ROUTE_TIMEOUT);
+ conn->route_retries = dapl_os_get_env_val("DAPL_CM_ROUTE_RETRY_COUNT",
+ IB_ROUTE_RETRY_COUNT);
+ if (ep != NULL) {
+ dapl_ep_link_cm(ep, conn);
+ conn->ep = ep;
+ conn->hca = ((DAPL_IA *)ep->param.ia_handle)->hca_ptr;
}
- cm_id = conn->cm_id;
- conn->cm_id = NULL;
+ return conn;
+}
+
+static void dapli_cm_dealloc(dp_ib_cm_handle_t conn) {
+
+ dapl_os_assert(!conn->ref_count);
+ dapl_os_lock_destroy(&conn->lock);
+ dapl_os_free(conn, sizeof(*conn));
+}
+
+void dapls_cm_acquire(dp_ib_cm_handle_t conn)
+{
+ dapl_os_lock(&conn->lock);
+ conn->ref_count++;
dapl_os_unlock(&conn->lock);
+}
+
+void dapls_cm_release(dp_ib_cm_handle_t conn)
+{
+ dapl_os_lock(&conn->lock);
+ conn->ref_count--;
+ if (conn->ref_count) {
+ dapl_os_unlock(&conn->lock);
+ return;
+ }
+ dapl_os_unlock(&conn->lock);
+ dapli_cm_dealloc(conn);
+}
+
+/* BLOCKING: called from dapl_ep_free, EP link will be last ref */
+void dapls_cm_free(dp_ib_cm_handle_t conn)
+{
+ dapl_log(DAPL_DBG_TYPE_CM,
+ " cm_free: cm %p ep %p refs=%d\n",
+ conn, conn->ep, conn->ref_count);
+
+ dapls_cm_release(conn); /* release alloc ref */
+
+ /* Destroy cm_id, wait until EP is last ref */
+ dapl_os_lock(&conn->lock);
+ if (conn->cm_id) {
+ struct rdma_cm_id *cm_id = conn->cm_id;
- /*
- * rdma_destroy_id will force synchronization with async CM event
- * thread since it blocks until the in-process event reference
- * is cleared during our event processing call exit.
- */
- if (cm_id) {
if (cm_id->qp)
rdma_destroy_qp(cm_id);
+ conn->cm_id = NULL;
+ dapl_os_unlock(&conn->lock);
+ rdma_destroy_id(cm_id); /* blocking, event processing */
+ dapl_os_lock(&conn->lock);
+ }
- rdma_destroy_id(cm_id);
+ /* EP linking is last reference */
+ while (conn->ref_count != 1) {
+ dapl_os_unlock(&conn->lock);
+ dapl_os_sleep_usec(10000);
+ dapl_os_lock(&conn->lock);
}
- dapl_os_free(conn, sizeof(*conn));
+ dapl_os_unlock(&conn->lock);
+
+ /* unlink, dequeue from EP. Final ref so release will destroy */
+ dapl_ep_unlink_cm(conn->ep, conn);
}
static struct dapl_cm_id *dapli_req_recv(struct dapl_cm_id *conn,
@@ -210,6 +281,7 @@ static struct dapl_cm_id *dapli_req_recv(struct dapl_cm_id *conn,
if (new_conn) {
(void)dapl_os_memzero(new_conn, sizeof(*new_conn));
dapl_os_lock_init(&new_conn->lock);
+ dapls_cm_acquire(new_conn);
new_conn->cm_id = event->id; /* provided by uCMA */
event->id->context = new_conn; /* update CM_ID context */
new_conn->sp = conn->sp;
@@ -218,10 +290,10 @@ static struct dapl_cm_id *dapli_req_recv(struct dapl_cm_id *conn,
/* Get requesters connect data, setup for accept */
new_conn->params.responder_resources =
DAPL_MIN(event->param.conn.responder_resources,
- conn->hca->ib_trans.max_rdma_rd_in);
+ conn->hca->ib_trans.rd_atom_in);
new_conn->params.initiator_depth =
DAPL_MIN(event->param.conn.initiator_depth,
- conn->hca->ib_trans.max_rdma_rd_out);
+ conn->hca->ib_trans.rd_atom_out);
new_conn->params.flow_control = event->param.conn.flow_control;
new_conn->params.rnr_retry_count =
@@ -240,7 +312,7 @@ static struct dapl_cm_id *dapli_req_recv(struct dapl_cm_id *conn,
dapl_dbg_log(DAPL_DBG_TYPE_CM, " passive_cb: "
"REQ: SP %p PORT %d LID %d "
- "NEW CONN %p ID %p pD %p,%d\n",
+ "NEW CONN %p ID %p pdata %p,%d\n",
new_conn->sp, ntohs(((struct sockaddr_in *)
&ipaddr->src_addr)->sin_port),
event->listen_id, new_conn, event->id,
@@ -267,17 +339,14 @@ static struct dapl_cm_id *dapli_req_recv(struct dapl_cm_id *conn,
static void dapli_cm_active_cb(struct dapl_cm_id *conn,
struct rdma_cm_event *event)
{
+ DAPL_OS_LOCK *lock = &conn->lock;
+ ib_cm_events_t ib_cm_event;
+ const void *pdata = NULL;
+
dapl_dbg_log(DAPL_DBG_TYPE_CM,
" active_cb: conn %p id %d event %d\n",
conn, conn->cm_id, event->event);
- dapl_os_lock(&conn->lock);
- if (conn->destroy) {
- dapl_os_unlock(&conn->lock);
- return;
- }
- dapl_os_unlock(&conn->lock);
-
/* There is a chance that we can get events after
* the consumer calls disconnect in a pending state
* since the IB CM and uDAPL states are not shared.
@@ -299,73 +368,62 @@ static void dapli_cm_active_cb(struct dapl_cm_id *conn,
conn->ep->param.ep_state = DAT_EP_STATE_DISCONNECTED;
dapl_os_unlock(&conn->ep->header.lock);
+ dapl_os_lock(lock);
switch (event->event) {
case RDMA_CM_EVENT_UNREACHABLE:
case RDMA_CM_EVENT_CONNECT_ERROR:
- {
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ "dapl_cma_active: CONN_ERR event=0x%x"
+ " status=%d %s DST %s, %d\n",
+ event->event, event->status,
+ (event->status == -ETIMEDOUT) ? "TIMEOUT" : "",
+ inet_ntoa(((struct sockaddr_in *)
+ &conn->cm_id->route.addr.dst_addr)->
+ sin_addr),
+ ntohs(((struct sockaddr_in *)
+ &conn->cm_id->route.addr.dst_addr)->
+ sin_port));
+
+ /* per DAT SPEC provider always returns UNREACHABLE */
+ ib_cm_event = IB_CME_DESTINATION_UNREACHABLE;
+ break;
+ case RDMA_CM_EVENT_REJECTED:
+ dapl_dbg_log(DAPL_DBG_TYPE_CM,
+ " dapli_cm_active_handler: REJECTED reason=%d\n",
+ event->status);
+
+ /* valid REJ from consumer will always contain private data */
+ if (event->status == 28 &&
+ event->param.conn.private_data_len) {
+ ib_cm_event = IB_CME_DESTINATION_REJECT_PRIVATE_DATA;
+ pdata =
+ (unsigned char *)event->param.conn.
+ private_data +
+ sizeof(struct dapl_pdata_hdr);
+ } else {
+ ib_cm_event = IB_CME_DESTINATION_REJECT;
dapl_log(DAPL_DBG_TYPE_WARN,
- "dapl_cma_active: CONN_ERR event=0x%x"
- " status=%d %s DST %s, %d\n",
- event->event, event->status,
- (event->status == -ETIMEDOUT) ? "TIMEOUT" : "",
+ "dapl_cma_active: non-consumer REJ,"
+ " reason=%d, DST %s, %d\n",
+ event->status,
inet_ntoa(((struct sockaddr_in *)
- &conn->cm_id->route.addr.dst_addr)->
- sin_addr),
+ &conn->cm_id->route.addr.
+ dst_addr)->sin_addr),
ntohs(((struct sockaddr_in *)
- &conn->cm_id->route.addr.dst_addr)->
- sin_port));
-
- /* per DAT SPEC provider always returns UNREACHABLE */
- dapl_evd_connection_callback(conn,
- IB_CME_DESTINATION_UNREACHABLE,
- NULL, conn->ep);
- break;
- }
- case RDMA_CM_EVENT_REJECTED:
- {
- ib_cm_events_t cm_event;
- unsigned char *pdata = NULL;
-
- dapl_dbg_log(DAPL_DBG_TYPE_CM,
- " dapli_cm_active_handler: REJECTED reason=%d\n",
- event->status);
-
- /* valid REJ from consumer will always contain private data */
- if (event->status == 28 &&
- event->param.conn.private_data_len) {
- cm_event =
- IB_CME_DESTINATION_REJECT_PRIVATE_DATA;
- pdata =
- (unsigned char *)event->param.conn.
- private_data +
- sizeof(struct dapl_pdata_hdr);
- } else {
- cm_event = IB_CME_DESTINATION_REJECT;
- dapl_log(DAPL_DBG_TYPE_WARN,
- "dapl_cma_active: non-consumer REJ,"
- " reason=%d, DST %s, %d\n",
- event->status,
- inet_ntoa(((struct sockaddr_in *)
- &conn->cm_id->route.addr.
- dst_addr)->sin_addr),
- ntohs(((struct sockaddr_in *)
- &conn->cm_id->route.addr.
- dst_addr)->sin_port));
- }
- dapl_evd_connection_callback(conn, cm_event, pdata,
- conn->ep);
- break;
+ &conn->cm_id->route.addr.
+ dst_addr)->sin_port));
}
+ break;
case RDMA_CM_EVENT_ESTABLISHED:
- dapl_dbg_log(DAPL_DBG_TYPE_CM,
- " active_cb: cm_id %d PORT %d CONNECTED to %s!\n",
- conn->cm_id, ntohs(((struct sockaddr_in *)
- &conn->cm_id->route.addr.
- dst_addr)->sin_port),
- inet_ntoa(((struct sockaddr_in *)
- &conn->cm_id->route.addr.dst_addr)->
- sin_addr));
+ dapl_log(DAPL_DBG_TYPE_CM_EST,
+ " CMA ACTIVE CONN: %x -> %s %x\n",
+ ntohs(((struct sockaddr_in *)
+ &conn->cm_id->route.addr.src_addr)->sin_port),
+ inet_ntoa(((struct sockaddr_in *)
+ &conn->cm_id->route.addr.dst_addr)->sin_addr),
+ ntohs(((struct sockaddr_in *)
+ &conn->cm_id->route.addr.dst_addr)->sin_port));
/* setup local and remote ports for ep query */
conn->ep->param.remote_port_qual =
@@ -373,56 +431,52 @@ static void dapli_cm_active_cb(struct dapl_cm_id *conn,
conn->ep->param.local_port_qual =
PORT_TO_SID(rdma_get_src_port(conn->cm_id));
- dapl_evd_connection_callback(conn, IB_CME_CONNECTED,
- event->param.conn.private_data,
- conn->ep);
+ ib_cm_event = IB_CME_CONNECTED;
+ pdata = event->param.conn.private_data;
break;
-
case RDMA_CM_EVENT_DISCONNECTED:
+ dapl_dbg_log(DAPL_DBG_TYPE_CM,
+ " active_cb: DISC EVENT - EP %p\n",conn->ep);
rdma_disconnect(conn->cm_id); /* required for DREP */
+ ib_cm_event = IB_CME_DISCONNECTED;
/* validate EP handle */
- if (!DAPL_BAD_HANDLE(conn->ep, DAPL_MAGIC_EP))
- dapl_evd_connection_callback(conn,
- IB_CME_DISCONNECTED,
- NULL, conn->ep);
+ if (DAPL_BAD_HANDLE(conn->ep, DAPL_MAGIC_EP))
+ conn = NULL;
break;
default:
dapl_dbg_log(DAPL_DBG_TYPE_ERR,
" dapli_cm_active_cb_handler: Unexpected CM "
"event %d on ID 0x%p\n", event->event,
conn->cm_id);
+ conn = NULL;
break;
}
- return;
+ dapl_os_unlock(lock);
+ if (conn)
+ dapl_evd_connection_callback(conn, ib_cm_event, pdata,
+ event->param.conn.private_data_len, conn->ep);
}
static void dapli_cm_passive_cb(struct dapl_cm_id *conn,
struct rdma_cm_event *event)
{
- struct dapl_cm_id *new_conn;
-
+ ib_cm_events_t ib_cm_event;
+ struct dapl_cm_id *conn_recv = conn;
+ const void *pdata = NULL;
+
dapl_dbg_log(DAPL_DBG_TYPE_CM,
" passive_cb: conn %p id %d event %d\n",
conn, event->id, event->event);
dapl_os_lock(&conn->lock);
- if (conn->destroy) {
- dapl_os_unlock(&conn->lock);
- return;
- }
- dapl_os_unlock(&conn->lock);
switch (event->event) {
case RDMA_CM_EVENT_CONNECT_REQUEST:
/* create new conn object with new conn_id from event */
- new_conn = dapli_req_recv(conn, event);
-
- if (new_conn)
- dapls_cr_callback(new_conn,
- IB_CME_CONNECTION_REQUEST_PENDING,
- event->param.conn.private_data,
- new_conn->sp);
+ conn_recv = dapli_req_recv(conn, event);
+ ib_cm_event = IB_CME_CONNECTION_REQUEST_PENDING;
+ pdata = event->param.conn.private_data;
break;
case RDMA_CM_EVENT_UNREACHABLE:
case RDMA_CM_EVENT_CONNECT_ERROR:
@@ -436,58 +490,49 @@ static void dapli_cm_passive_cb(struct dapl_cm_id *conn,
sin_addr), ntohs(((struct sockaddr_in *)
&conn->cm_id->route.addr.
dst_addr)->sin_port));
-
- dapls_cr_callback(conn, IB_CME_DESTINATION_UNREACHABLE,
- NULL, conn->sp);
+ ib_cm_event = IB_CME_DESTINATION_UNREACHABLE;
break;
-
case RDMA_CM_EVENT_REJECTED:
- {
- /* will alwasys be abnormal NON-consumer from active side */
- dapl_log(DAPL_DBG_TYPE_WARN,
- "dapl_cm_passive: non-consumer REJ, reason=%d,"
- " DST %s, %d\n",
- event->status,
- inet_ntoa(((struct sockaddr_in *)
- &conn->cm_id->route.addr.dst_addr)->
- sin_addr),
- ntohs(((struct sockaddr_in *)
- &conn->cm_id->route.addr.dst_addr)->
- sin_port));
-
- dapls_cr_callback(conn, IB_CME_DESTINATION_REJECT,
- NULL, conn->sp);
- break;
- }
+ /* will alwasys be abnormal NON-consumer from active side */
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ "dapl_cm_passive: non-consumer REJ, reason=%d,"
+ " DST %s, %d\n",
+ event->status,
+ inet_ntoa(((struct sockaddr_in *)&conn->cm_id->route.addr.dst_addr)->sin_addr),
+ ntohs(((struct sockaddr_in *)&conn->cm_id->route.addr.dst_addr)->sin_port));
+ ib_cm_event = IB_CME_DESTINATION_REJECT;
+ break;
case RDMA_CM_EVENT_ESTABLISHED:
- dapl_dbg_log(DAPL_DBG_TYPE_CM,
- " passive_cb: cm_id %p PORT %d CONNECTED from 0x%x!\n",
- conn->cm_id, ntohs(((struct sockaddr_in *)
- &conn->cm_id->route.addr.
- src_addr)->sin_port),
- ntohl(((struct sockaddr_in *)
- &conn->cm_id->route.addr.dst_addr)->
- sin_addr.s_addr));
-
- dapls_cr_callback(conn, IB_CME_CONNECTED, NULL, conn->sp);
-
+ dapl_log(DAPL_DBG_TYPE_CM_EST,
+ " CMA PASSIVE CONN: %x <- %s %x \n",
+ ntohs(((struct sockaddr_in *)
+ &conn->cm_id->route.addr.dst_addr)->sin_port),
+ inet_ntoa(((struct sockaddr_in *)
+ &conn->cm_id->route.addr.src_addr)->sin_addr),
+ ntohs(((struct sockaddr_in *)
+ &conn->cm_id->route.addr.src_addr)->sin_port));
+ ib_cm_event = IB_CME_CONNECTED;
break;
case RDMA_CM_EVENT_DISCONNECTED:
rdma_disconnect(conn->cm_id); /* required for DREP */
+ ib_cm_event = IB_CME_DISCONNECTED;
/* validate SP handle context */
- if (!DAPL_BAD_HANDLE(conn->sp, DAPL_MAGIC_PSP) ||
- !DAPL_BAD_HANDLE(conn->sp, DAPL_MAGIC_RSP))
- dapls_cr_callback(conn,
- IB_CME_DISCONNECTED, NULL, conn->sp);
+ if (DAPL_BAD_HANDLE(conn->sp, DAPL_MAGIC_PSP) &&
+ DAPL_BAD_HANDLE(conn->sp, DAPL_MAGIC_RSP))
+ conn_recv = NULL;
break;
default:
dapl_dbg_log(DAPL_DBG_TYPE_ERR, " passive_cb: "
"Unexpected CM event %d on ID 0x%p\n",
event->event, conn->cm_id);
+ conn_recv = NULL;
break;
}
- return;
+ dapl_os_unlock(&conn->lock);
+ if (conn_recv)
+ dapls_cr_callback(conn_recv, ib_cm_event, pdata,
+ event->param.conn.private_data_len, conn_recv->sp);
}
/************************ DAPL provider entry points **********************/
@@ -519,24 +564,21 @@ DAT_RETURN dapls_ib_connect(IN DAT_EP_HANDLE ep_handle,
IN DAT_COUNT p_size, IN void *p_data)
{
struct dapl_ep *ep_ptr = ep_handle;
- struct dapl_cm_id *conn;
+ struct dapl_cm_id *conn = dapl_get_cm_from_ep(ep_ptr);
int ret;
-
- /* Sanity check */
- if (NULL == ep_ptr)
- return DAT_SUCCESS;
-
+
+ dapl_os_assert(conn != NULL);
+
dapl_dbg_log(DAPL_DBG_TYPE_CM,
" connect: rSID 0x%llx rPort %d, pdata %p, ln %d\n",
r_qual, ntohs(SID_TO_PORT(r_qual)), p_data, p_size);
- /* rdma conn and cm_id pre-bound; reference via qp_handle */
- conn = ep_ptr->cm_handle = ep_ptr->qp_handle;
+ /* rdma conn and cm_id pre-bound; reference via ep_ptr->cm_handle */
/* Setup QP/CM parameters and private data in cm_id */
(void)dapl_os_memzero(&conn->params, sizeof(conn->params));
- conn->params.responder_resources =
- ep_ptr->param.ep_attr.max_rdma_read_in;
+ conn->params.responder_resources =
+ ep_ptr->param.ep_attr.max_rdma_read_in;
conn->params.initiator_depth = ep_ptr->param.ep_attr.max_rdma_read_out;
conn->params.flow_control = 1;
conn->params.rnr_retry_count = IB_RNR_RETRY_COUNT;
@@ -561,7 +603,7 @@ DAT_RETURN dapls_ib_connect(IN DAT_EP_HANDLE ep_handle,
dapl_log(DAPL_DBG_TYPE_ERR,
" dapl_cma_connect: rdma_resolve_addr ERR 0x%x %s\n",
ret, strerror(errno));
- return dapl_convert_errno(errno, "ib_connect");
+ return dapl_convert_errno(errno, "rdma_resolve_addr");
}
dapl_dbg_log(DAPL_DBG_TYPE_CM,
" connect: resolve_addr: cm_id %p -> %s port %d\n",
@@ -591,22 +633,45 @@ DAT_RETURN dapls_ib_connect(IN DAT_EP_HANDLE ep_handle,
DAT_RETURN
dapls_ib_disconnect(IN DAPL_EP * ep_ptr, IN DAT_CLOSE_FLAGS close_flags)
{
- dp_ib_cm_handle_t conn = ep_ptr->cm_handle;
- int ret;
+ struct dapl_cm_id *conn = dapl_get_cm_from_ep(ep_ptr);
+ int drep_time = 25;
dapl_dbg_log(DAPL_DBG_TYPE_CM,
" disconnect(ep %p, conn %p, id %d flags %x)\n",
ep_ptr, conn, (conn ? conn->cm_id : 0), close_flags);
- if ((conn == IB_INVALID_HANDLE) || (conn->cm_id == NULL))
+ if ((conn == NULL) || (conn->cm_id == NULL))
return DAT_SUCCESS;
/* no graceful half-pipe disconnect option */
- ret = rdma_disconnect(conn->cm_id);
- if (ret)
- dapl_dbg_log(DAPL_DBG_TYPE_ERR,
- " disconnect: ID %p ret 0x%x\n",
- ep_ptr->cm_handle, ret);
+ rdma_disconnect(conn->cm_id);
+
+ /* ABRUPT close, wait for callback and DISCONNECTED state */
+ if (close_flags == DAT_CLOSE_ABRUPT_FLAG) {
+ DAPL_EVD *evd = NULL;
+ DAT_EVENT_NUMBER num = DAT_CONNECTION_EVENT_DISCONNECTED;
+
+ dapl_os_lock(&ep_ptr->header.lock);
+ /* limit DREP waiting, other side could be down */
+ while (--drep_time && ep_ptr->param.ep_state != DAT_EP_STATE_DISCONNECTED) {
+ dapl_os_unlock(&ep_ptr->header.lock);
+ dapl_os_sleep_usec(10000);
+ dapl_os_lock(&ep_ptr->header.lock);
+ }
+ if (ep_ptr->param.ep_state != DAT_EP_STATE_DISCONNECTED) {
+ dapl_log(DAPL_DBG_TYPE_CM_WARN,
+ " WARNING: disconnect(ep %p, conn %p, id %d) timed out\n",
+ ep_ptr, conn, (conn ? conn->cm_id : 0));
+ ep_ptr->param.ep_state = DAT_EP_STATE_DISCONNECTED;
+ evd = (DAPL_EVD *)ep_ptr->param.connect_evd_handle;
+ }
+ dapl_os_unlock(&ep_ptr->header.lock);
+
+ if (evd) {
+ dapl_sp_remove_ep(ep_ptr);
+ dapls_evd_post_connection_event(evd, num, ep_ptr, 0, 0);
+ }
+ }
/*
* DAT event notification occurs from the callback
@@ -639,7 +704,6 @@ dapls_ib_disconnect_clean(IN DAPL_EP * ep_ptr,
IN const ib_cm_events_t ib_cm_event)
{
/* nothing to do */
- return;
}
/*
@@ -676,12 +740,13 @@ dapls_ib_setup_conn_listener(IN DAPL_IA * ia_ptr,
dapl_os_memzero(conn, sizeof(*conn));
dapl_os_lock_init(&conn->lock);
+ dapls_cm_acquire(conn);
/* create CM_ID, bind to local device, create QP */
if (rdma_create_id
(g_cm_events, &conn->cm_id, (void *)conn, RDMA_PS_TCP)) {
- dapl_os_free(conn, sizeof(*conn));
- return (dapl_convert_errno(errno, "setup_listener"));
+ dapls_cm_release(conn);
+ return (dapl_convert_errno(errno, "rdma_create_id"));
}
/* open identifies the local device; per DAT specification */
@@ -690,11 +755,12 @@ dapls_ib_setup_conn_listener(IN DAPL_IA * ia_ptr,
((struct sockaddr_in *)&addr)->sin_port = SID_TO_PORT(ServiceID);
if (rdma_bind_addr(conn->cm_id, (struct sockaddr *)&addr)) {
- if ((errno == EBUSY) || (errno == EADDRINUSE))
+ if ((errno == EBUSY) || (errno == EADDRINUSE) ||
+ (errno == EADDRNOTAVAIL))
dat_status = DAT_CONN_QUAL_IN_USE;
else
dat_status =
- dapl_convert_errno(errno, "setup_listener");
+ dapl_convert_errno(errno, "rdma_bind_addr");
goto bail;
}
@@ -713,20 +779,21 @@ dapls_ib_setup_conn_listener(IN DAPL_IA * ia_ptr,
if (rdma_listen(conn->cm_id, 0)) { /* max cma backlog */
- if ((errno == EBUSY) || (errno == EADDRINUSE))
+ if ((errno == EBUSY) || (errno == EADDRINUSE) ||
+ (errno == EADDRNOTAVAIL))
dat_status = DAT_CONN_QUAL_IN_USE;
else
dat_status =
- dapl_convert_errno(errno, "setup_listener");
+ dapl_convert_errno(errno, "rdma_listen");
goto bail;
}
/* success */
return DAT_SUCCESS;
- bail:
+bail:
rdma_destroy_id(conn->cm_id);
- dapl_os_free(conn, sizeof(*conn));
+ dapls_cm_release(conn);
return dat_status;
}
@@ -753,13 +820,18 @@ dapls_ib_remove_conn_listener(IN DAPL_IA * ia_ptr, IN DAPL_SP * sp_ptr)
ib_cm_srvc_handle_t conn = sp_ptr->cm_srvc_handle;
dapl_dbg_log(DAPL_DBG_TYPE_CM,
- " remove_listen(ia_ptr %p sp_ptr %p cm_ptr %p)\n",
+ " remove_listen(ia_ptr %p sp_ptr %p conn %p)\n",
ia_ptr, sp_ptr, conn);
if (conn != IB_INVALID_HANDLE) {
sp_ptr->cm_srvc_handle = NULL;
- dapli_destroy_conn(conn);
+ if (conn->cm_id) {
+ rdma_destroy_id(conn->cm_id);
+ conn->cm_id = NULL;
+ }
+ dapls_cm_release(conn);
}
+
return DAT_SUCCESS;
}
@@ -792,6 +864,7 @@ dapls_ib_accept_connection(IN DAT_CR_HANDLE cr_handle,
DAPL_EP *ep_ptr = (DAPL_EP *) ep_handle;
DAPL_IA *ia_ptr = ep_ptr->header.owner_ia;
struct dapl_cm_id *cr_conn = cr_ptr->ib_cm_handle;
+ struct dapl_cm_id *ep_conn = dapl_get_cm_from_ep(ep_ptr);
int ret;
DAT_RETURN dat_status;
@@ -826,18 +899,28 @@ dapls_ib_accept_connection(IN DAT_CR_HANDLE cr_handle,
* a local device (cm_id and QP) when created. Move the QP
* to the new cm_id only if device and port numbers match.
*/
- if (ep_ptr->qp_handle->cm_id->verbs == cr_conn->cm_id->verbs &&
- ep_ptr->qp_handle->cm_id->port_num == cr_conn->cm_id->port_num) {
+ if (ep_conn->cm_id->verbs == cr_conn->cm_id->verbs &&
+ ep_conn->cm_id->port_num == cr_conn->cm_id->port_num) {
/* move QP to new cr_conn, remove QP ref in EP cm_id */
- cr_conn->cm_id->qp = ep_ptr->qp_handle->cm_id->qp;
- ep_ptr->qp_handle->cm_id->qp = NULL;
- dapli_destroy_conn(ep_ptr->qp_handle);
+ cr_conn->cm_id->qp = ep_conn->cm_id->qp;
+
+ /* remove old CM to EP linking, destroy CM object */
+ dapl_ep_unlink_cm(ep_ptr, ep_conn);
+ ep_conn->cm_id->qp = NULL;
+ ep_conn->ep = NULL;
+ rdma_destroy_id(ep_conn->cm_id);
+ dapls_cm_release(ep_conn);
+
+ /* add new CM to EP linking, qp_handle unchanged, !PSP !RSP */
+ if (!cr_conn->sp->ep_handle && !cr_conn->sp->psp_flags)
+ dapl_ep_link_cm(ep_ptr, cr_conn);
+ cr_conn->ep = ep_ptr;
} else {
dapl_log(DAPL_DBG_TYPE_ERR,
" dapl_cma_accept: ERR dev(%p!=%p) or"
" port mismatch(%d!=%d)\n",
- ep_ptr->qp_handle->cm_id->verbs, cr_conn->cm_id->verbs,
- ntohs(ep_ptr->qp_handle->cm_id->port_num),
+ ep_conn->cm_id->verbs, cr_conn->cm_id->verbs,
+ ntohs(ep_conn->cm_id->port_num),
ntohs(cr_conn->cm_id->port_num));
dat_status = DAT_INTERNAL_ERROR;
goto bail;
@@ -849,17 +932,15 @@ dapls_ib_accept_connection(IN DAT_CR_HANDLE cr_handle,
ret = rdma_accept(cr_conn->cm_id, &cr_conn->params);
if (ret) {
- dapl_log(DAPL_DBG_TYPE_ERR, " dapl_cma_accept: ERR %d %s\n",
+ dapl_log(DAPL_DBG_TYPE_ERR, " dapl_rdma_accept: ERR %d %s\n",
ret, strerror(errno));
- dat_status = dapl_convert_errno(ret, "accept");
+ dat_status = dapl_convert_errno(errno, "accept");
+
+ /* remove new cr_conn EP to CM linking */
+ dapl_ep_unlink_cm(ep_ptr, cr_conn);
goto bail;
}
- /* save accepted conn and EP reference */
- ep_ptr->qp_handle = cr_conn;
- ep_ptr->cm_handle = cr_conn;
- cr_conn->ep = ep_ptr;
-
/* setup local and remote ports for ep query */
/* Note: port qual in network order */
ep_ptr->param.remote_port_qual =
@@ -868,9 +949,12 @@ dapls_ib_accept_connection(IN DAT_CR_HANDLE cr_handle,
PORT_TO_SID(rdma_get_src_port(cr_conn->cm_id));
return DAT_SUCCESS;
- bail:
+bail:
rdma_reject(cr_conn->cm_id, NULL, 0);
- dapli_destroy_conn(cr_conn);
+
+ /* no EP linking, ok to destroy */
+ rdma_destroy_id(cr_conn->cm_id);
+ dapls_cm_release(cr_conn);
return dat_status;
}
@@ -917,11 +1001,6 @@ dapls_ib_reject_connection(IN dp_ib_cm_handle_t cm_handle,
return DAT_ERROR(DAT_INVALID_HANDLE, DAT_INVALID_HANDLE_CR);
}
- if (private_data_size >
- dapls_ib_private_data_size(NULL, DAPL_PDATA_CONN_REJ,
- cm_handle->hca))
- return DAT_ERROR(DAT_INVALID_PARAMETER, DAT_INVALID_ARG3);
-
/* setup pdata_hdr and users data, in CR pdata buffer */
dapl_os_memcpy(cm_handle->p_data, &pdata_hdr, offset);
if (private_data_size)
@@ -936,7 +1015,9 @@ dapls_ib_reject_connection(IN dp_ib_cm_handle_t cm_handle,
ret = rdma_reject(cm_handle->cm_id,
cm_handle->p_data, offset + private_data_size);
- dapli_destroy_conn(cm_handle);
+ /* no EP linking, ok to destroy */
+ rdma_destroy_id(cm_handle->cm_id);
+ dapls_cm_release(cm_handle);
return dapl_convert_errno(ret, "reject");
}
@@ -960,7 +1041,7 @@ DAT_RETURN
dapls_ib_cm_remote_addr(IN DAT_HANDLE dat_handle, OUT DAT_SOCK_ADDR6 * raddr)
{
DAPL_HEADER *header;
- dp_ib_cm_handle_t ib_cm_handle;
+ dp_ib_cm_handle_t conn;
struct rdma_addr *ipaddr;
dapl_dbg_log(DAPL_DBG_TYPE_EP,
@@ -969,19 +1050,19 @@ dapls_ib_cm_remote_addr(IN DAT_HANDLE dat_handle, OUT DAT_SOCK_ADDR6 * raddr)
header = (DAPL_HEADER *) dat_handle;
- if (header->magic == DAPL_MAGIC_EP)
- ib_cm_handle = ((DAPL_EP *) dat_handle)->cm_handle;
+ if (header->magic == DAPL_MAGIC_EP)
+ conn = dapl_get_cm_from_ep((DAPL_EP *) dat_handle);
else if (header->magic == DAPL_MAGIC_CR)
- ib_cm_handle = ((DAPL_CR *) dat_handle)->ib_cm_handle;
+ conn = ((DAPL_CR *) dat_handle)->ib_cm_handle;
else
return DAT_INVALID_HANDLE;
/* get remote IP address from cm_id route */
- ipaddr = &ib_cm_handle->cm_id->route.addr;
+ ipaddr = &conn->cm_id->route.addr;
dapl_dbg_log(DAPL_DBG_TYPE_CM,
" remote_addr: conn %p id %p SRC %x DST %x PORT %d\n",
- ib_cm_handle, ib_cm_handle->cm_id,
+ conn, conn->cm_id,
ntohl(((struct sockaddr_in *)
&ipaddr->src_addr)->sin_addr.s_addr),
ntohl(((struct sockaddr_in *)
@@ -996,174 +1077,28 @@ dapls_ib_cm_remote_addr(IN DAT_HANDLE dat_handle, OUT DAT_SOCK_ADDR6 * raddr)
/*
* dapls_ib_private_data_size
*
- * Return the size of private data given a connection op type
+ * Return the size of max private data
*
* Input:
- * prd_ptr private data pointer
- * conn_op connection operation type
* hca_ptr hca pointer, needed for transport type
*
- * If prd_ptr is NULL, this is a query for the max size supported by
- * the provider, otherwise it is the actual size of the private data
- * contained in prd_ptr.
- *
- *
* Output:
* None
*
* Returns:
- * length of private data
- *
- */
-int dapls_ib_private_data_size(IN DAPL_PRIVATE * prd_ptr,
- IN DAPL_PDATA_OP conn_op, IN DAPL_HCA * hca_ptr)
-{
- int size;
-
- if (hca_ptr->ib_hca_handle->device->transport_type
- == IBV_TRANSPORT_IWARP)
- return (IWARP_MAX_PDATA_SIZE - sizeof(struct dapl_pdata_hdr));
-
- switch (conn_op) {
-
- case DAPL_PDATA_CONN_REQ:
- size = IB_MAX_REQ_PDATA_SIZE;
- break;
- case DAPL_PDATA_CONN_REP:
- size = IB_MAX_REP_PDATA_SIZE;
- break;
- case DAPL_PDATA_CONN_REJ:
- size = IB_MAX_REJ_PDATA_SIZE - sizeof(struct dapl_pdata_hdr);
- break;
- case DAPL_PDATA_CONN_DREQ:
- size = IB_MAX_DREQ_PDATA_SIZE;
- break;
- case DAPL_PDATA_CONN_DREP:
- size = IB_MAX_DREP_PDATA_SIZE;
- break;
- default:
- size = 0;
-
- } /* end case */
-
- return size;
-}
-
-/*
- * Map all CMA event codes to the DAT equivelent.
- */
-#define DAPL_IB_EVENT_CNT 13
-
-static struct ib_cm_event_map {
- const ib_cm_events_t ib_cm_event;
- DAT_EVENT_NUMBER dat_event_num;
-} ib_cm_event_map[DAPL_IB_EVENT_CNT] = {
- /* 00 */ {
- IB_CME_CONNECTED, DAT_CONNECTION_EVENT_ESTABLISHED},
- /* 01 */ {
- IB_CME_DISCONNECTED, DAT_CONNECTION_EVENT_DISCONNECTED},
- /* 02 */ {
- IB_CME_DISCONNECTED_ON_LINK_DOWN,
- DAT_CONNECTION_EVENT_DISCONNECTED},
- /* 03 */ {
- IB_CME_CONNECTION_REQUEST_PENDING, DAT_CONNECTION_REQUEST_EVENT},
- /* 04 */ {
- IB_CME_CONNECTION_REQUEST_PENDING_PRIVATE_DATA,
- DAT_CONNECTION_REQUEST_EVENT},
- /* 05 */ {
- IB_CME_CONNECTION_REQUEST_ACKED, DAT_CONNECTION_REQUEST_EVENT},
- /* 06 */ {
- IB_CME_DESTINATION_REJECT,
- DAT_CONNECTION_EVENT_NON_PEER_REJECTED},
- /* 07 */ {
- IB_CME_DESTINATION_REJECT_PRIVATE_DATA,
- DAT_CONNECTION_EVENT_PEER_REJECTED},
- /* 08 */ {
- IB_CME_DESTINATION_UNREACHABLE, DAT_CONNECTION_EVENT_UNREACHABLE},
- /* 09 */ {
- IB_CME_TOO_MANY_CONNECTION_REQUESTS,
- DAT_CONNECTION_EVENT_NON_PEER_REJECTED},
- /* 10 */ {
- IB_CME_LOCAL_FAILURE, DAT_CONNECTION_EVENT_BROKEN},
- /* 11 */ {
- IB_CME_BROKEN, DAT_CONNECTION_EVENT_BROKEN},
- /* 12 */ {
-IB_CME_TIMEOUT, DAT_CONNECTION_EVENT_TIMED_OUT},};
-
-/*
- * dapls_ib_get_cm_event
- *
- * Return a DAT connection event given a provider CM event.
- *
- * Input:
- * dat_event_num DAT event we need an equivelent CM event for
- *
- * Output:
- * none
- *
- * Returns:
- * ib_cm_event of translated DAPL value
- */
-DAT_EVENT_NUMBER
-dapls_ib_get_dat_event(IN const ib_cm_events_t ib_cm_event,
- IN DAT_BOOLEAN active)
-{
- DAT_EVENT_NUMBER dat_event_num;
- int i;
-
- active = active;
-
- dat_event_num = 0;
- for (i = 0; i < DAPL_IB_EVENT_CNT; i++) {
- if (ib_cm_event == ib_cm_event_map[i].ib_cm_event) {
- dat_event_num = ib_cm_event_map[i].dat_event_num;
- break;
- }
- }
- dapl_dbg_log(DAPL_DBG_TYPE_CALLBACK,
- "dapls_ib_get_dat_event: event(%s) ib=0x%x dat=0x%x\n",
- active ? "active" : "passive", ib_cm_event, dat_event_num);
-
- return dat_event_num;
-}
-
-/*
- * dapls_ib_get_dat_event
- *
- * Return a DAT connection event given a provider CM event.
- *
- * Input:
- * ib_cm_event event provided to the dapl callback routine
- * active switch indicating active or passive connection
+ * maximum private data rdma_cm will supply from transport.
*
- * Output:
- * none
- *
- * Returns:
- * DAT_EVENT_NUMBER of translated provider value
*/
-ib_cm_events_t dapls_ib_get_cm_event(IN DAT_EVENT_NUMBER dat_event_num)
+int dapls_ib_private_data_size(IN DAPL_HCA * hca_ptr)
{
- ib_cm_events_t ib_cm_event;
- int i;
-
- ib_cm_event = 0;
- for (i = 0; i < DAPL_IB_EVENT_CNT; i++) {
- if (dat_event_num == ib_cm_event_map[i].dat_event_num) {
- ib_cm_event = ib_cm_event_map[i].ib_cm_event;
- break;
- }
- }
- return ib_cm_event;
+ return RDMA_MAX_PRIVATE_DATA;
}
void dapli_cma_event_cb(void)
{
struct rdma_cm_event *event;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " cm_event()\n");
-
- /* process one CM event, fairness */
+
+ /* process one CM event, fairness, non-blocking */
if (!rdma_get_cm_event(g_cm_events, &event)) {
struct dapl_cm_id *conn;
@@ -1173,10 +1108,19 @@ void dapli_cma_event_cb(void)
else
conn = (struct dapl_cm_id *)event->id->context;
+ dapls_cm_acquire(conn);
+
+ /* destroying cm_id, consumer thread blocking waiting for ACK */
+ if (conn->cm_id == NULL) {
+ dapls_cm_release(conn);
+ rdma_ack_cm_event(event);
+ return;
+ }
+
dapl_dbg_log(DAPL_DBG_TYPE_CM,
" cm_event: EVENT=%d ID=%p LID=%p CTX=%p\n",
event->event, event->id, event->listen_id, conn);
-
+
switch (event->event) {
case RDMA_CM_EVENT_ADDR_RESOLVED:
dapli_addr_resolve(conn);
@@ -1225,7 +1169,7 @@ void dapli_cma_event_cb(void)
dapl_evd_connection_callback(conn,
IB_CME_DESTINATION_UNREACHABLE,
- NULL, conn->ep);
+ NULL, 0, conn->ep);
break;
case RDMA_CM_EVENT_ROUTE_ERROR:
@@ -1254,14 +1198,14 @@ void dapli_cma_event_cb(void)
dapl_evd_connection_callback(conn,
IB_CME_DESTINATION_UNREACHABLE,
- NULL, conn->ep);
+ NULL, 0, conn->ep);
}
break;
case RDMA_CM_EVENT_DEVICE_REMOVAL:
dapl_evd_connection_callback(conn,
IB_CME_LOCAL_FAILURE,
- NULL, conn->ep);
+ NULL, 0, conn->ep);
break;
case RDMA_CM_EVENT_CONNECT_REQUEST:
case RDMA_CM_EVENT_CONNECT_ERROR:
@@ -1276,16 +1220,22 @@ void dapli_cma_event_cb(void)
dapli_cm_active_cb(conn, event);
break;
case RDMA_CM_EVENT_CONNECT_RESPONSE:
+#ifdef RDMA_CM_EVENT_TIMEWAIT_EXIT
+ case RDMA_CM_EVENT_TIMEWAIT_EXIT:
+#endif
+ break;
default:
- dapl_dbg_log(DAPL_DBG_TYPE_WARN,
+ dapl_dbg_log(DAPL_DBG_TYPE_CM,
" cm_event: UNEXPECTED EVENT=%p ID=%p CTX=%p\n",
event->event, event->id,
event->id->context);
break;
}
+
/* ack event, unblocks destroy_cm_id in consumer threads */
rdma_ack_cm_event(event);
- }
+ dapls_cm_release(conn);
+ }
}
/*
diff --git a/dapl/openib_cma/dapl_ib_dto.h b/dapl/openib_cma/dapl_ib_dto.h
deleted file mode 100644
index d97c26b..0000000
--- a/dapl/openib_cma/dapl_ib_dto.h
+++ /dev/null
@@ -1,472 +0,0 @@
-/*
- * This Software is licensed under one of the following licenses:
- *
- * 1) under the terms of the "Common Public License 1.0" a copy of which is
- * available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/cpl.php.
- *
- * 2) under the terms of the "The BSD License" a copy of which is
- * available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/bsd-license.php.
- *
- * 3) under the terms of the "GNU General Public License (GPL) Version 2" a
- * copy of which is available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/gpl-license.php.
- *
- * Licensee has the right to choose one of the above licenses.
- *
- * Redistributions of source code must retain the above copyright
- * notice and one of the license notices.
- *
- * Redistributions in binary form must reproduce both the above copyright
- * notice, one of the license notices in the documentation
- * and/or other materials provided with the distribution.
- */
-
-/***************************************************************************
- *
- * Module: uDAPL
- *
- * Filename: dapl_ib_dto.h
- *
- * Author: Arlin Davis
- *
- * Created: 3/10/2005
- *
- * Description:
- *
- * The OpenIB uCMA provider - DTO operations and CQE macros
- *
- ****************************************************************************
- * Source Control System Information
- *
- * $Id: $
- *
- * Copyright (c) 2005 Intel Corporation. All rights reserved.
- *
- **************************************************************************/
-#ifndef _DAPL_IB_DTO_H_
-#define _DAPL_IB_DTO_H_
-
-#include "dapl_ib_util.h"
-
-#ifdef DAT_EXTENSIONS
-#include <dat2/dat_ib_extensions.h>
-#endif
-
-STATIC _INLINE_ int dapls_cqe_opcode(ib_work_completion_t *cqe_p);
-
-/*
- * dapls_ib_post_recv
- *
- * Provider specific Post RECV function
- */
-STATIC _INLINE_ DAT_RETURN
-dapls_ib_post_recv (
- IN DAPL_EP *ep_ptr,
- IN DAPL_COOKIE *cookie,
- IN DAT_COUNT segments,
- IN DAT_LMR_TRIPLET *local_iov )
-{
- struct ibv_recv_wr wr;
- struct ibv_recv_wr *bad_wr;
- ib_data_segment_t *ds = (ib_data_segment_t *)local_iov;
- DAT_COUNT i, total_len;
- int ret;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " post_rcv: ep %p cookie %p segs %d l_iov %p\n",
- ep_ptr, cookie, segments, local_iov);
-
- /* setup work request */
- total_len = 0;
- wr.next = 0;
- wr.num_sge = segments;
- wr.wr_id = (uint64_t)(uintptr_t)cookie;
- wr.sg_list = ds;
-
- if (cookie != NULL) {
- for (i = 0; i < segments; i++) {
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " post_rcv: l_key 0x%x va %p len %d\n",
- ds->lkey, ds->addr, ds->length);
- total_len += ds->length;
- ds++;
- }
- cookie->val.dto.size = total_len;
- }
-
- ret = ibv_post_recv(ep_ptr->qp_handle->cm_id->qp, &wr, &bad_wr);
-
- if (ret)
- return( dapl_convert_errno(errno,"ibv_recv") );
-
- DAPL_CNTR(ep_ptr, DCNT_EP_POST_RECV);
- DAPL_CNTR_DATA(ep_ptr, DCNT_EP_POST_RECV_DATA, total_len);
-
- return DAT_SUCCESS;
-}
-
-/*
- * dapls_ib_post_send
- *
- * Provider specific Post SEND function
- */
-STATIC _INLINE_ DAT_RETURN
-dapls_ib_post_send (
- IN DAPL_EP *ep_ptr,
- IN ib_send_op_type_t op_type,
- IN DAPL_COOKIE *cookie,
- IN DAT_COUNT segments,
- IN DAT_LMR_TRIPLET *local_iov,
- IN const DAT_RMR_TRIPLET *remote_iov,
- IN DAT_COMPLETION_FLAGS completion_flags)
-{
- struct ibv_send_wr wr;
- struct ibv_send_wr *bad_wr;
- ib_data_segment_t *ds = (ib_data_segment_t *)local_iov;
- ib_hca_transport_t *ibt_ptr =
- &ep_ptr->header.owner_ia->hca_ptr->ib_trans;
- DAT_COUNT i, total_len;
- int ret;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " post_snd: ep %p op %d ck %p sgs",
- "%d l_iov %p r_iov %p f %d\n",
- ep_ptr, op_type, cookie, segments, local_iov,
- remote_iov, completion_flags);
-
- /* setup the work request */
- wr.next = 0;
- wr.opcode = op_type;
- wr.num_sge = segments;
- wr.send_flags = 0;
- wr.wr_id = (uint64_t)(uintptr_t)cookie;
- wr.sg_list = ds;
- total_len = 0;
-
- if (cookie != NULL) {
- for (i = 0; i < segments; i++ ) {
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " post_snd: lkey 0x%x va %p len %d\n",
- ds->lkey, ds->addr, ds->length );
- total_len += ds->length;
- ds++;
- }
- cookie->val.dto.size = total_len;
- }
-
- if (wr.num_sge &&
- (op_type == OP_RDMA_WRITE || op_type == OP_RDMA_READ)) {
- wr.wr.rdma.remote_addr = remote_iov->virtual_address;
- wr.wr.rdma.rkey = remote_iov->rmr_context;
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " post_snd_rdma: rkey 0x%x va %#016Lx\n",
- wr.wr.rdma.rkey, wr.wr.rdma.remote_addr);
- }
-
- /* inline data for send or write ops */
- if ((total_len <= ibt_ptr->max_inline_send) &&
- ((op_type == OP_SEND) || (op_type == OP_RDMA_WRITE)))
- wr.send_flags |= IBV_SEND_INLINE;
-
- /* set completion flags in work request */
- wr.send_flags |= (DAT_COMPLETION_SUPPRESS_FLAG &
- completion_flags) ? 0 : IBV_SEND_SIGNALED;
- wr.send_flags |= (DAT_COMPLETION_BARRIER_FENCE_FLAG &
- completion_flags) ? IBV_SEND_FENCE : 0;
- wr.send_flags |= (DAT_COMPLETION_SOLICITED_WAIT_FLAG &
- completion_flags) ? IBV_SEND_SOLICITED : 0;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " post_snd: op 0x%x flags 0x%x sglist %p, %d\n",
- wr.opcode, wr.send_flags, wr.sg_list, wr.num_sge);
-
- ret = ibv_post_send(ep_ptr->qp_handle->cm_id->qp, &wr, &bad_wr);
-
- if (ret)
- return( dapl_convert_errno(errno,"ibv_send") );
-
-#ifdef DAPL_COUNTERS
- switch (op_type) {
- case OP_SEND:
- DAPL_CNTR(ep_ptr, DCNT_EP_POST_SEND);
- DAPL_CNTR_DATA(ep_ptr, DCNT_EP_POST_SEND_DATA,total_len);
- break;
- case OP_RDMA_WRITE:
- DAPL_CNTR(ep_ptr, DCNT_EP_POST_WRITE);
- DAPL_CNTR_DATA(ep_ptr, DCNT_EP_POST_WRITE_DATA,total_len);
- break;
- case OP_RDMA_READ:
- DAPL_CNTR(ep_ptr, DCNT_EP_POST_READ);
- DAPL_CNTR_DATA(ep_ptr, DCNT_EP_POST_READ_DATA,total_len);
- break;
- default:
- break;
- }
-#endif /* DAPL_COUNTERS */
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP," post_snd: returned\n");
- return DAT_SUCCESS;
-}
-
-/* map Work Completions to DAPL WR operations */
-STATIC _INLINE_ DAT_DTOS dapls_cqe_dtos_opcode(ib_work_completion_t *cqe_p)
-{
- switch (cqe_p->opcode) {
-
- case IBV_WC_SEND:
- return (DAT_DTO_SEND);
- case IBV_WC_RDMA_READ:
- return (DAT_DTO_RDMA_READ);
- case IBV_WC_BIND_MW:
- return (DAT_DTO_BIND_MW);
-#ifdef DAT_EXTENSIONS
- case IBV_WC_RDMA_WRITE:
- if (cqe_p->wc_flags & IBV_WC_WITH_IMM)
- return (DAT_IB_DTO_RDMA_WRITE_IMMED);
- else
- return (DAT_DTO_RDMA_WRITE);
- case IBV_WC_COMP_SWAP:
- return (DAT_IB_DTO_CMP_SWAP);
- case IBV_WC_FETCH_ADD:
- return (DAT_IB_DTO_FETCH_ADD);
- case IBV_WC_RECV_RDMA_WITH_IMM:
- return (DAT_IB_DTO_RECV_IMMED);
-#else
- case IBV_WC_RDMA_WRITE:
- return (DAT_DTO_RDMA_WRITE);
-#endif
- case IBV_WC_RECV:
- return (DAT_DTO_RECEIVE);
- default:
- return (0xff);
- }
-}
-#define DAPL_GET_CQE_DTOS_OPTYPE(cqe_p) dapls_cqe_dtos_opcode(cqe_p)
-
-
-#ifdef DAT_EXTENSIONS
-/*
- * dapls_ib_post_ext_send
- *
- * Provider specific extended Post SEND function for atomics
- * OP_COMP_AND_SWAP and OP_FETCH_AND_ADD
- */
-STATIC _INLINE_ DAT_RETURN
-dapls_ib_post_ext_send (
- IN DAPL_EP *ep_ptr,
- IN ib_send_op_type_t op_type,
- IN DAPL_COOKIE *cookie,
- IN DAT_COUNT segments,
- IN DAT_LMR_TRIPLET *local_iov,
- IN const DAT_RMR_TRIPLET *remote_iov,
- IN DAT_UINT32 immed_data,
- IN DAT_UINT64 compare_add,
- IN DAT_UINT64 swap,
- IN DAT_COMPLETION_FLAGS completion_flags)
-{
- struct ibv_send_wr wr;
- struct ibv_send_wr *bad_wr;
- ib_data_segment_t *ds = (ib_data_segment_t *)local_iov;
- DAT_COUNT i, total_len;
- int ret;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " post_ext_snd: ep %p op %d ck %p sgs",
- "%d l_iov %p r_iov %p f %d\n",
- ep_ptr, op_type, cookie, segments, local_iov,
- remote_iov, completion_flags);
-
- /* setup the work request */
- wr.next = 0;
- wr.opcode = op_type;
- wr.num_sge = segments;
- wr.send_flags = 0;
- wr.wr_id = (uint64_t)(uintptr_t)cookie;
- wr.sg_list = ds;
- total_len = 0;
-
- if (cookie != NULL) {
- for (i = 0; i < segments; i++ ) {
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " post_ext_snd: lkey 0x%x va %p ln %d\n",
- ds->lkey, ds->addr, ds->length);
- total_len += ds->length;
- ds++;
- }
- cookie->val.dto.size = total_len;
- }
-
- switch (op_type) {
- case OP_RDMA_WRITE_IMM:
- /* OP_RDMA_WRITE)IMMED has direct IB wr_type mapping */
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " post_ext: rkey 0x%x va %#016Lx immed=0x%x\n",
- remote_iov?remote_iov->rmr_context:0,
- remote_iov?remote_iov->virtual_address:0,
- immed_data);
-
- wr.imm_data = immed_data;
- if (wr.num_sge) {
- wr.wr.rdma.remote_addr = remote_iov->virtual_address;
- wr.wr.rdma.rkey = remote_iov->rmr_context;
- }
- break;
- case OP_COMP_AND_SWAP:
- /* OP_COMP_AND_SWAP has direct IB wr_type mapping */
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " post_ext: OP_COMP_AND_SWAP=%lx,"
- "%lx rkey 0x%x va %#016Lx\n",
- compare_add, swap, remote_iov->rmr_context,
- remote_iov->virtual_address);
-
- wr.wr.atomic.compare_add = compare_add;
- wr.wr.atomic.swap = swap;
- wr.wr.atomic.remote_addr = remote_iov->virtual_address;
- wr.wr.atomic.rkey = remote_iov->rmr_context;
- break;
- case OP_FETCH_AND_ADD:
- /* OP_FETCH_AND_ADD has direct IB wr_type mapping */
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " post_ext: OP_FETCH_AND_ADD=%lx,"
- "%lx rkey 0x%x va %#016Lx\n",
- compare_add, remote_iov->rmr_context,
- remote_iov->virtual_address);
-
- wr.wr.atomic.compare_add = compare_add;
- wr.wr.atomic.remote_addr = remote_iov->virtual_address;
- wr.wr.atomic.rkey = remote_iov->rmr_context;
- break;
- default:
- break;
- }
-
- /* set completion flags in work request */
- wr.send_flags |= (DAT_COMPLETION_SUPPRESS_FLAG &
- completion_flags) ? 0 : IBV_SEND_SIGNALED;
- wr.send_flags |= (DAT_COMPLETION_BARRIER_FENCE_FLAG &
- completion_flags) ? IBV_SEND_FENCE : 0;
- wr.send_flags |= (DAT_COMPLETION_SOLICITED_WAIT_FLAG &
- completion_flags) ? IBV_SEND_SOLICITED : 0;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " post_snd: op 0x%x flags 0x%x sglist %p, %d\n",
- wr.opcode, wr.send_flags, wr.sg_list, wr.num_sge);
-
- ret = ibv_post_send(ep_ptr->qp_handle->cm_id->qp, &wr, &bad_wr);
-
- if (ret)
- return( dapl_convert_errno(errno,"ibv_send") );
-
-#ifdef DAPL_COUNTERS
- switch (op_type) {
- case OP_RDMA_WRITE_IMM:
- DAPL_CNTR(ep_ptr, DCNT_EP_POST_WRITE_IMM);
- DAPL_CNTR_DATA(ep_ptr,
- DCNT_EP_POST_WRITE_IMM_DATA, total_len);
- break;
- case OP_COMP_AND_SWAP:
- DAPL_CNTR(ep_ptr, DCNT_EP_POST_CMP_SWAP);
- break;
- case OP_FETCH_AND_ADD:
- DAPL_CNTR(ep_ptr, DCNT_EP_POST_FETCH_ADD);
- break;
- default:
- break;
- }
-#endif /* DAPL_COUNTERS */
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP," post_snd: returned\n");
- return DAT_SUCCESS;
-}
-#endif
-
-STATIC _INLINE_ DAT_RETURN
-dapls_ib_optional_prv_dat(
- IN DAPL_CR *cr_ptr,
- IN const void *event_data,
- OUT DAPL_CR **cr_pp)
-{
- return DAT_SUCCESS;
-}
-
-/* map Work Completions to DAPL WR operations */
-STATIC _INLINE_ int dapls_cqe_opcode(ib_work_completion_t *cqe_p)
-{
-#ifdef DAPL_COUNTERS
- DAPL_COOKIE *cookie = (DAPL_COOKIE *)(uintptr_t)cqe_p->wr_id;
-#endif /* DAPL_COUNTERS */
-
- switch (cqe_p->opcode) {
- case IBV_WC_SEND:
- return (OP_SEND);
- case IBV_WC_RDMA_WRITE:
- if (cqe_p->wc_flags & IBV_WC_WITH_IMM)
- return (OP_RDMA_WRITE_IMM);
- else
- return (OP_RDMA_WRITE);
- case IBV_WC_RDMA_READ:
- return (OP_RDMA_READ);
- case IBV_WC_COMP_SWAP:
- return (OP_COMP_AND_SWAP);
- case IBV_WC_FETCH_ADD:
- return (OP_FETCH_AND_ADD);
- case IBV_WC_BIND_MW:
- return (OP_BIND_MW);
- case IBV_WC_RECV:
- if (cqe_p->wc_flags & IBV_WC_WITH_IMM) {
- DAPL_CNTR(cookie->ep, DCNT_EP_RECV_IMM);
- DAPL_CNTR_DATA(cookie->ep, DCNT_EP_RECV_IMM_DATA,
- cqe_p->byte_len);
- return (OP_RECEIVE_IMM);
- } else {
- DAPL_CNTR(cookie->ep, DCNT_EP_RECV);
- DAPL_CNTR_DATA(cookie->ep, DCNT_EP_RECV_DATA,
- cqe_p->byte_len);
- return (OP_RECEIVE);
- }
- case IBV_WC_RECV_RDMA_WITH_IMM:
- DAPL_CNTR(cookie->ep, DCNT_EP_RECV_RDMA_IMM);
- DAPL_CNTR_DATA(cookie->ep, DCNT_EP_RECV_RDMA_IMM_DATA,
- cqe_p->byte_len);
- return (OP_RECEIVE_IMM);
- default:
- return (OP_INVALID);
- }
-}
-
-#define DAPL_GET_CQE_OPTYPE(cqe_p) dapls_cqe_opcode(cqe_p)
-#define DAPL_GET_CQE_WRID(cqe_p) ((ib_work_completion_t*)cqe_p)->wr_id
-#define DAPL_GET_CQE_STATUS(cqe_p) ((ib_work_completion_t*)cqe_p)->status
-#define DAPL_GET_CQE_VENDOR_ERR(cqe_p) ((ib_work_completion_t*)cqe_p)->vendor_err
-#define DAPL_GET_CQE_BYTESNUM(cqe_p) ((ib_work_completion_t*)cqe_p)->byte_len
-#define DAPL_GET_CQE_IMMED_DATA(cqe_p) ((ib_work_completion_t*)cqe_p)->imm_data
-
-STATIC _INLINE_ char * dapls_dto_op_str(int op)
-{
- static char *optable[] =
- {
- "OP_RDMA_WRITE",
- "OP_RDMA_WRITE_IMM",
- "OP_SEND",
- "OP_SEND_IMM",
- "OP_RDMA_READ",
- "OP_COMP_AND_SWAP",
- "OP_FETCH_AND_ADD",
- "OP_RECEIVE",
- "OP_RECEIVE_IMM",
- "OP_BIND_MW"
- };
- return ((op < 0 || op > 9) ? "Invalid CQE OP?" : optable[op]);
-}
-
-static _INLINE_ char *
-dapls_cqe_op_str(IN ib_work_completion_t *cqe_ptr)
-{
- return dapls_dto_op_str(DAPL_GET_CQE_OPTYPE(cqe_ptr));
-}
-
-#define DAPL_GET_CQE_OP_STR(cqe) dapls_cqe_op_str(cqe)
-
-#endif /* _DAPL_IB_DTO_H_ */
diff --git a/dapl/openib_cma/dapl_ib_extensions.c b/dapl/openib_cma/dapl_ib_extensions.c
deleted file mode 100755
index 3bcde58..0000000
--- a/dapl/openib_cma/dapl_ib_extensions.c
+++ /dev/null
@@ -1,329 +0,0 @@
-/*
- * Copyright (c) 2007 Intel Corporation. All rights reserved.
- *
- * This Software is licensed under one of the following licenses:
- *
- * 1) under the terms of the "Common Public License 1.0" a copy of which is
- * available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/cpl.php.
- *
- * 2) under the terms of the "The BSD License" a copy of which is
- * available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/bsd-license.php.
- *
- * 3) under the terms of the "GNU General Public License (GPL) Version 2" a
- * copy of which is available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/gpl-license.php.
- *
- * Licensee has the right to choose one of the above licenses.
- *
- * Redistributions of source code must retain the above copyright
- * notice and one of the license notices.
- *
- * Redistributions in binary form must reproduce both the above copyright
- * notice, one of the license notices in the documentation
- * and/or other materials provided with the distribution.
- */
-
-/**********************************************************************
- *
- * MODULE: dapl_ib_extensions.c
- *
- * PURPOSE: Extensions routines for OpenIB uCMA provider
- *
- * $Id: $
- *
- **********************************************************************/
-
-#include "dapl.h"
-#include "dapl_adapter_util.h"
-#include "dapl_evd_util.h"
-#include "dapl_ib_util.h"
-#include "dapl_ep_util.h"
-#include "dapl_cookie.h"
-#include <stdarg.h>
-
-DAT_RETURN
-dapli_post_ext(IN DAT_EP_HANDLE ep_handle,
- IN DAT_UINT64 cmp_add,
- IN DAT_UINT64 swap,
- IN DAT_UINT32 immed_data,
- IN DAT_COUNT segments,
- IN DAT_LMR_TRIPLET * local_iov,
- IN DAT_DTO_COOKIE user_cookie,
- IN const DAT_RMR_TRIPLET * remote_iov,
- IN int op_type, IN DAT_COMPLETION_FLAGS flags);
-
-/*
- * dapl_extensions
- *
- * Process extension requests
- *
- * Input:
- * ext_type,
- * ...
- *
- * Output:
- * Depends....
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_NOT_IMPLEMENTED
- * .....
- *
- */
-DAT_RETURN
-dapl_extensions(IN DAT_HANDLE dat_handle,
- IN DAT_EXTENDED_OP ext_op, IN va_list args)
-{
- DAT_EP_HANDLE ep;
- DAT_LMR_TRIPLET *lmr_p;
- DAT_DTO_COOKIE cookie;
- const DAT_RMR_TRIPLET *rmr_p;
- DAT_UINT64 dat_uint64a, dat_uint64b;
- DAT_UINT32 dat_uint32;
- DAT_COUNT segments = 1;
- DAT_COMPLETION_FLAGS comp_flags;
- DAT_RETURN status = DAT_NOT_IMPLEMENTED;
-
- dapl_dbg_log(DAPL_DBG_TYPE_API,
- "dapl_extensions(hdl %p operation %d, ...)\n",
- dat_handle, ext_op);
-
- switch ((int)ext_op) {
-
- case DAT_IB_RDMA_WRITE_IMMED_OP:
- dapl_dbg_log(DAPL_DBG_TYPE_RTN,
- " WRITE_IMMED_DATA extension call\n");
-
- ep = dat_handle; /* ep_handle */
- segments = va_arg(args, DAT_COUNT); /* num segments */
- lmr_p = va_arg(args, DAT_LMR_TRIPLET *);
- cookie = va_arg(args, DAT_DTO_COOKIE);
- rmr_p = va_arg(args, const DAT_RMR_TRIPLET *);
- dat_uint32 = va_arg(args, DAT_UINT32); /* immed data */
- comp_flags = va_arg(args, DAT_COMPLETION_FLAGS);
-
- status = dapli_post_ext(ep, 0, 0, dat_uint32, segments, lmr_p,
- cookie, rmr_p, OP_RDMA_WRITE_IMM,
- comp_flags);
- break;
-
- case DAT_IB_CMP_AND_SWAP_OP:
- dapl_dbg_log(DAPL_DBG_TYPE_RTN,
- " CMP_AND_SWAP extension call\n");
-
- ep = dat_handle; /* ep_handle */
- dat_uint64a = va_arg(args, DAT_UINT64); /* cmp_value */
- dat_uint64b = va_arg(args, DAT_UINT64); /* swap_value */
- lmr_p = va_arg(args, DAT_LMR_TRIPLET *);
- cookie = va_arg(args, DAT_DTO_COOKIE);
- rmr_p = va_arg(args, const DAT_RMR_TRIPLET *);
- comp_flags = va_arg(args, DAT_COMPLETION_FLAGS);
-
- status = dapli_post_ext(ep, dat_uint64a, dat_uint64b,
- 0, segments, lmr_p, cookie, rmr_p,
- OP_COMP_AND_SWAP, comp_flags);
- break;
-
- case DAT_IB_FETCH_AND_ADD_OP:
- dapl_dbg_log(DAPL_DBG_TYPE_RTN,
- " FETCH_AND_ADD extension call\n");
-
- ep = dat_handle; /* ep_handle */
- dat_uint64a = va_arg(args, DAT_UINT64); /* add value */
- lmr_p = va_arg(args, DAT_LMR_TRIPLET *);
- cookie = va_arg(args, DAT_DTO_COOKIE);
- rmr_p = va_arg(args, const DAT_RMR_TRIPLET *);
- comp_flags = va_arg(args, DAT_COMPLETION_FLAGS);
-
- status = dapli_post_ext(ep, dat_uint64a, 0, 0, segments,
- lmr_p, cookie, rmr_p,
- OP_FETCH_AND_ADD, comp_flags);
-
- break;
-
-#ifdef DAPL_COUNTERS
- case DAT_QUERY_COUNTERS_OP:
- {
- int cntr, reset;
- DAT_UINT64 *p_cntr_out;
-
- dapl_dbg_log(DAPL_DBG_TYPE_RTN,
- " Query counter extension call\n");
-
- cntr = va_arg(args, int);
- p_cntr_out = va_arg(args, DAT_UINT64 *);
- reset = va_arg(args, int);
-
- status = dapl_query_counter(dat_handle, cntr,
- p_cntr_out, reset);
- break;
- }
- case DAT_PRINT_COUNTERS_OP:
- {
- int cntr, reset;
-
- dapl_dbg_log(DAPL_DBG_TYPE_RTN,
- " Print counter extension call\n");
-
- cntr = va_arg(args, int);
- reset = va_arg(args, int);
-
- dapl_print_counter(dat_handle, cntr, reset);
- status = DAT_SUCCESS;
- break;
- }
-#endif /* DAPL_COUNTERS */
-
- default:
- dapl_dbg_log(DAPL_DBG_TYPE_ERR,
- "unsupported extension(%d)\n", (int)ext_op);
- }
-
- return (status);
-}
-
-DAT_RETURN
-dapli_post_ext(IN DAT_EP_HANDLE ep_handle,
- IN DAT_UINT64 cmp_add,
- IN DAT_UINT64 swap,
- IN DAT_UINT32 immed_data,
- IN DAT_COUNT segments,
- IN DAT_LMR_TRIPLET * local_iov,
- IN DAT_DTO_COOKIE user_cookie,
- IN const DAT_RMR_TRIPLET * remote_iov,
- IN int op_type, IN DAT_COMPLETION_FLAGS flags)
-{
- DAPL_EP *ep_ptr;
- ib_qp_handle_t qp_ptr;
- DAPL_COOKIE *cookie = NULL;
- DAT_RETURN dat_status = DAT_SUCCESS;
-
- dapl_dbg_log(DAPL_DBG_TYPE_API,
- " post_ext_op: ep %p cmp_val %d "
- "swap_val %d cookie 0x%x, r_iov %p, flags 0x%x\n",
- ep_handle, (unsigned)cmp_add, (unsigned)swap,
- (unsigned)user_cookie.as_64, remote_iov, flags);
-
- if (DAPL_BAD_HANDLE(ep_handle, DAPL_MAGIC_EP))
- return (DAT_ERROR(DAT_INVALID_HANDLE, DAT_INVALID_HANDLE_EP));
-
- ep_ptr = (DAPL_EP *) ep_handle;
- qp_ptr = ep_ptr->qp_handle;
-
- /*
- * Synchronization ok since this buffer is only used for send
- * requests, which aren't allowed to race with each other.
- */
- dat_status = dapls_dto_cookie_alloc(&ep_ptr->req_buffer,
- DAPL_DTO_TYPE_EXTENSION,
- user_cookie, &cookie);
- if (dat_status != DAT_SUCCESS)
- goto bail;
-
- /*
- * Take reference before posting to avoid race conditions with
- * completions
- */
- dapl_os_atomic_inc(&ep_ptr->req_count);
-
- /*
- * Invoke provider specific routine to post DTO
- */
- dat_status = dapls_ib_post_ext_send(ep_ptr, op_type, cookie, segments, /* data segments */
- local_iov, remote_iov, immed_data, /* immed data */
- cmp_add, /* compare or add */
- swap, /* swap */
- flags);
-
- if (dat_status != DAT_SUCCESS) {
- dapl_os_atomic_dec(&ep_ptr->req_count);
- dapls_cookie_dealloc(&ep_ptr->req_buffer, cookie);
- }
-
- bail:
- return dat_status;
-
-}
-
-/*
- * New provider routine to process extended DTO events
- */
-void
-dapls_cqe_to_event_extension(IN DAPL_EP * ep_ptr,
- IN DAPL_COOKIE * cookie,
- IN ib_work_completion_t * cqe_ptr,
- IN DAT_EVENT * event_ptr)
-{
- uint32_t ibtype;
- DAT_DTO_COMPLETION_EVENT_DATA *dto =
- &event_ptr->event_data.dto_completion_event_data;
- DAT_IB_EXTENSION_EVENT_DATA *ext_data = (DAT_IB_EXTENSION_EVENT_DATA *)
- & event_ptr->event_extension_data[0];
- DAT_DTO_COMPLETION_STATUS dto_status;
-
- /* Get status from cqe */
- dto_status = dapls_ib_get_dto_status(cqe_ptr);
-
- dapl_dbg_log(DAPL_DBG_TYPE_EVD,
- " cqe_to_event_ext: dto_ptr %p ext_ptr %p status %d\n",
- dto, ext_data, dto_status);
-
- event_ptr->event_number = DAT_IB_DTO_EVENT;
- dto->ep_handle = cookie->ep;
- dto->user_cookie = cookie->val.dto.cookie;
- dto->operation = DAPL_GET_CQE_DTOS_OPTYPE(cqe_ptr); /* new for 2.0 */
- dto->status = ext_data->status = dto_status;
-
- if (dto_status != DAT_DTO_SUCCESS)
- return;
-
- /*
- * Get operation type from CQ work completion entry and
- * if extented operation then set extended event data
- */
- ibtype = DAPL_GET_CQE_OPTYPE(cqe_ptr);
-
- switch (ibtype) {
-
- case OP_RDMA_WRITE_IMM:
- dapl_dbg_log(DAPL_DBG_TYPE_EVD,
- " cqe_to_event_ext: OP_RDMA_WRITE_IMMED\n");
-
- /* type and outbound rdma write transfer size */
- dto->transfered_length = cookie->val.dto.size;
- ext_data->type = DAT_IB_RDMA_WRITE_IMMED;
- break;
- case OP_RECEIVE_IMM:
- dapl_dbg_log(DAPL_DBG_TYPE_EVD,
- " cqe_to_event_ext: OP_RECEIVE_RDMA_IMMED\n");
-
- /* immed recvd, type and inbound rdma write transfer size */
- dto->transfered_length = DAPL_GET_CQE_BYTESNUM(cqe_ptr);
- ext_data->type = DAT_IB_RDMA_WRITE_IMMED_DATA;
- ext_data->val.immed.data = DAPL_GET_CQE_IMMED_DATA(cqe_ptr);
- break;
- case OP_COMP_AND_SWAP:
- dapl_dbg_log(DAPL_DBG_TYPE_EVD,
- " cqe_to_event_ext: COMP_AND_SWAP_RESP\n");
-
- /* original data is returned in LMR provided with post */
- ext_data->type = DAT_IB_CMP_AND_SWAP;
- dto->transfered_length = DAPL_GET_CQE_BYTESNUM(cqe_ptr);
- break;
- case OP_FETCH_AND_ADD:
- dapl_dbg_log(DAPL_DBG_TYPE_EVD,
- " cqe_to_event_ext: FETCH_AND_ADD_RESP\n");
-
- /* original data is returned in LMR provided with post */
- ext_data->type = DAT_IB_FETCH_AND_ADD;
- dto->transfered_length = DAPL_GET_CQE_BYTESNUM(cqe_ptr);
- break;
- default:
- /* not extended operation */
- ext_data->status = DAT_IB_OP_ERR;
- dto->status = DAT_DTO_ERR_TRANSPORT;
- break;
- }
-}
diff --git a/dapl/openib_cma/dapl_ib_qp.c b/dapl/openib_cma/dapl_ib_qp.c
deleted file mode 100755
index c9a61c3..0000000
--- a/dapl/openib_cma/dapl_ib_qp.c
+++ /dev/null
@@ -1,331 +0,0 @@
-/*
- * Copyright (c) 2005-2007 Intel Corporation. All rights reserved.
- *
- * This Software is licensed under one of the following licenses:
- *
- * 1) under the terms of the "Common Public License 1.0" a copy of which is
- * available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/cpl.php.
- *
- * 2) under the terms of the "The BSD License" a copy of which is
- * available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/bsd-license.php.
- *
- * 3) under the terms of the "GNU General Public License (GPL) Version 2" a
- * copy of which is available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/gpl-license.php.
- *
- * Licensee has the right to choose one of the above licenses.
- *
- * Redistributions of source code must retain the above copyright
- * notice and one of the license notices.
- *
- * Redistributions in binary form must reproduce both the above copyright
- * notice, one of the license notices in the documentation
- * and/or other materials provided with the distribution.
- */
-
-/**********************************************************************
- *
- * MODULE: dapl_ib_qp.c
- *
- * PURPOSE: QP routines for access to OFED IB Verbs
- *
- * $Id: $
- *
- **********************************************************************/
-
-#include "dapl.h"
-#include "dapl_adapter_util.h"
-
-extern struct rdma_event_channel *g_cm_events;
-
-/*
- * dapl_ib_qp_alloc
- *
- * Alloc a QP
- *
- * Input:
- * *ep_ptr pointer to EP INFO
- * ib_hca_handle provider HCA handle
- * ib_pd_handle provider protection domain handle
- * cq_recv provider recv CQ handle
- * cq_send provider send CQ handle
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INSUFFICIENT_RESOURCES
- * DAT_INTERNAL_ERROR
- *
- */
-DAT_RETURN dapls_ib_qp_alloc(IN DAPL_IA * ia_ptr,
- IN DAPL_EP * ep_ptr, IN DAPL_EP * ep_ctx_ptr)
-{
- DAT_EP_ATTR *attr;
- DAPL_EVD *rcv_evd, *req_evd;
- ib_cq_handle_t rcv_cq, req_cq;
- ib_pd_handle_t ib_pd_handle;
- struct ibv_qp_init_attr qp_create;
- dp_ib_cm_handle_t conn;
- struct rdma_cm_id *cm_id;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " qp_alloc: ia_ptr %p ep_ptr %p ep_ctx_ptr %p\n",
- ia_ptr, ep_ptr, ep_ctx_ptr);
-
- attr = &ep_ptr->param.ep_attr;
- ib_pd_handle = ((DAPL_PZ *) ep_ptr->param.pz_handle)->pd_handle;
- rcv_evd = (DAPL_EVD *) ep_ptr->param.recv_evd_handle;
- req_evd = (DAPL_EVD *) ep_ptr->param.request_evd_handle;
-
- /*
- * DAT allows usage model of EP's with no EVD's but IB does not.
- * Create a CQ with zero entries under the covers to support and
- * catch any invalid posting.
- */
- if (rcv_evd != DAT_HANDLE_NULL)
- rcv_cq = rcv_evd->ib_cq_handle;
- else if (!ia_ptr->hca_ptr->ib_trans.ib_cq_empty)
- rcv_cq = ia_ptr->hca_ptr->ib_trans.ib_cq_empty;
- else {
- struct ibv_comp_channel *channel =
- ia_ptr->hca_ptr->ib_trans.ib_cq;
-#ifdef CQ_WAIT_OBJECT
- if (rcv_evd->cq_wait_obj_handle)
- channel = rcv_evd->cq_wait_obj_handle->events;
-#endif
- /* Call IB verbs to create CQ */
- rcv_cq = ibv_create_cq(ia_ptr->hca_ptr->ib_hca_handle,
- 0, NULL, channel, 0);
-
- if (rcv_cq == IB_INVALID_HANDLE)
- return (dapl_convert_errno(ENOMEM, "create_cq"));
-
- ia_ptr->hca_ptr->ib_trans.ib_cq_empty = rcv_cq;
- }
- if (req_evd != DAT_HANDLE_NULL)
- req_cq = req_evd->ib_cq_handle;
- else
- req_cq = ia_ptr->hca_ptr->ib_trans.ib_cq_empty;
-
- /*
- * IMPLEMENTATION NOTE:
- * uDAPL allows consumers to post buffers on the EP after creation
- * and before a connect request (outbound and inbound). This forces
- * a binding to a device during the hca_open call and requires the
- * consumer to predetermine which device to listen on or connect from.
- * This restriction eliminates any option of listening or connecting
- * over multiple devices. uDAPL should add API's to resolve addresses
- * and bind to the device at the approriate time (before connect
- * and after CR arrives). Discovery should happen at connection time
- * based on addressing and not on static configuration during open.
- */
-
- /* Allocate CM and initialize lock */
- if ((conn = dapl_os_alloc(sizeof(*conn))) == NULL)
- return (dapl_convert_errno(ENOMEM, "create_cq"));
-
- dapl_os_memzero(conn, sizeof(*conn));
- dapl_os_lock_init(&conn->lock);
-
- /* create CM_ID, bind to local device, create QP */
- if (rdma_create_id(g_cm_events, &cm_id, (void *)conn, RDMA_PS_TCP)) {
- dapl_os_free(conn, sizeof(*conn));
- return (dapl_convert_errno(errno, "create_qp"));
- }
-
- /* open identifies the local device; per DAT specification */
- if (rdma_bind_addr(cm_id,
- (struct sockaddr *)&ia_ptr->hca_ptr->hca_address))
- goto bail;
-
- /* Setup attributes and create qp */
- dapl_os_memzero((void *)&qp_create, sizeof(qp_create));
- qp_create.cap.max_send_wr = attr->max_request_dtos;
- qp_create.cap.max_send_sge = attr->max_request_iov;
- qp_create.cap.max_inline_data =
- ia_ptr->hca_ptr->ib_trans.max_inline_send;
- qp_create.send_cq = req_cq;
-
- /* ibv assumes rcv_cq is never NULL, set to req_cq */
- if (rcv_cq == NULL) {
- qp_create.recv_cq = req_cq;
- qp_create.cap.max_recv_wr = 0;
- qp_create.cap.max_recv_sge = 0;
- } else {
- qp_create.recv_cq = rcv_cq;
- qp_create.cap.max_recv_wr = attr->max_recv_dtos;
- qp_create.cap.max_recv_sge = attr->max_recv_iov;
- }
- qp_create.qp_type = IBV_QPT_RC;
- qp_create.qp_context = (void *)ep_ptr;
-
- /* Let uCMA transition QP states */
- if (rdma_create_qp(cm_id, ib_pd_handle, &qp_create))
- goto bail;
-
- conn->cm_id = cm_id;
- conn->ep = ep_ptr;
- conn->hca = ia_ptr->hca_ptr;
-
- /* setup timers for address and route resolution */
- conn->arp_timeout = dapl_os_get_env_val("DAPL_CM_ARP_TIMEOUT_MS",
- IB_ARP_TIMEOUT);
- conn->arp_retries = dapl_os_get_env_val("DAPL_CM_ARP_RETRY_COUNT",
- IB_ARP_RETRY_COUNT);
- conn->route_timeout = dapl_os_get_env_val("DAPL_CM_ROUTE_TIMEOUT_MS",
- IB_ROUTE_TIMEOUT);
- conn->route_retries = dapl_os_get_env_val("DAPL_CM_ROUTE_RETRY_COUNT",
- IB_ROUTE_RETRY_COUNT);
-
- /* setup up ep->param to reference the bound local address and port */
- ep_ptr->param.local_ia_address_ptr = &cm_id->route.addr.src_addr;
- ep_ptr->param.local_port_qual = rdma_get_src_port(cm_id);
-
- ep_ptr->qp_handle = conn;
- ep_ptr->qp_state = IB_QP_STATE_INIT;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " qp_alloc: qpn %p sq %d,%d rq %d,%d port=%d\n",
- ep_ptr->qp_handle->cm_id->qp->qp_num,
- qp_create.cap.max_send_wr, qp_create.cap.max_send_sge,
- qp_create.cap.max_recv_wr, qp_create.cap.max_recv_sge,
- ep_ptr->param.local_port_qual);
-
- return DAT_SUCCESS;
- bail:
- rdma_destroy_id(cm_id);
- dapl_os_free(conn, sizeof(*conn));
- return (dapl_convert_errno(errno, "create_qp"));
-}
-
-/*
- * dapl_ib_qp_free
- *
- * Free a QP
- *
- * Input:
- * ia_handle IA handle
- * *ep_ptr pointer to EP INFO
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * dapl_convert_errno
- *
- */
-DAT_RETURN dapls_ib_qp_free(IN DAPL_IA * ia_ptr, IN DAPL_EP * ep_ptr)
-{
- dapl_dbg_log(DAPL_DBG_TYPE_EP, " qp_free: ep_ptr %p qp %p\n",
- ep_ptr, ep_ptr->qp_handle);
-
- if (ep_ptr->qp_handle != IB_INVALID_HANDLE) {
- /* qp_handle is conn object with reference to cm_id and qp */
- dapli_destroy_conn(ep_ptr->qp_handle);
- ep_ptr->qp_handle = IB_INVALID_HANDLE;
- ep_ptr->qp_state = IB_QP_STATE_ERROR;
- }
- return DAT_SUCCESS;
-}
-
-/*
- * dapl_ib_qp_modify
- *
- * Set the QP to the parameters specified in an EP_PARAM
- *
- * The EP_PARAM structure that is provided has been
- * sanitized such that only non-zero values are valid.
- *
- * Input:
- * ib_hca_handle HCA handle
- * qp_handle QP handle
- * ep_attr Sanitized EP Params
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INSUFFICIENT_RESOURCES
- * DAT_INVALID_PARAMETER
- *
- */
-DAT_RETURN dapls_ib_qp_modify(IN DAPL_IA * ia_ptr,
- IN DAPL_EP * ep_ptr, IN DAT_EP_ATTR * attr)
-{
- struct ibv_qp_attr qp_attr;
-
- if (ep_ptr->qp_handle == IB_INVALID_HANDLE)
- return DAT_INVALID_PARAMETER;
-
- /*
- * Check if we have the right qp_state to modify attributes
- */
- if ((ep_ptr->qp_handle->cm_id->qp->state != IBV_QPS_RTR) &&
- (ep_ptr->qp_handle->cm_id->qp->state != IBV_QPS_RTS))
- return DAT_INVALID_STATE;
-
- /* Adjust to current EP attributes */
- dapl_os_memzero((void *)&qp_attr, sizeof(qp_attr));
- qp_attr.cap.max_send_wr = attr->max_request_dtos;
- qp_attr.cap.max_recv_wr = attr->max_recv_dtos;
- qp_attr.cap.max_send_sge = attr->max_request_iov;
- qp_attr.cap.max_recv_sge = attr->max_recv_iov;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- "modify_qp: qp %p sq %d,%d, rq %d,%d\n",
- ep_ptr->qp_handle->cm_id->qp,
- qp_attr.cap.max_send_wr, qp_attr.cap.max_send_sge,
- qp_attr.cap.max_recv_wr, qp_attr.cap.max_recv_sge);
-
- if (ibv_modify_qp(ep_ptr->qp_handle->cm_id->qp, &qp_attr, IBV_QP_CAP)) {
- dapl_dbg_log(DAPL_DBG_TYPE_ERR,
- "modify_qp: modify ep %p qp %p failed\n",
- ep_ptr, ep_ptr->qp_handle->cm_id->qp);
- return (dapl_convert_errno(errno, "modify_qp_state"));
- }
-
- return DAT_SUCCESS;
-}
-
-/*
- * dapls_ib_reinit_ep
- *
- * Move the QP to INIT state again.
- *
- * Input:
- * ep_ptr DAPL_EP
- *
- * Output:
- * none
- *
- * Returns:
- * void
- *
- */
-void dapls_ib_reinit_ep(IN DAPL_EP * ep_ptr)
-{
- /* uCMA does not allow reuse of CM_ID, destroy and create new one */
- if (ep_ptr->qp_handle != IB_INVALID_HANDLE) {
-
- /* destroy */
- dapli_destroy_conn(ep_ptr->qp_handle);
-
- /* create new CM_ID and QP */
- ep_ptr->qp_handle = IB_INVALID_HANDLE;
- dapls_ib_qp_alloc(ep_ptr->header.owner_ia, ep_ptr, ep_ptr);
- }
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * tab-width: 8
- * End:
- */
diff --git a/dapl/openib_cma/dapl_ib_util.c b/dapl/openib_cma/dapl_ib_util.c
deleted file mode 100755
index 3b83ab8..0000000
--- a/dapl/openib_cma/dapl_ib_util.c
+++ /dev/null
@@ -1,1094 +0,0 @@
-/*
- * Copyright (c) 2005-2008 Intel Corporation. All rights reserved.
- *
- * This Software is licensed under one of the following licenses:
- *
- * 1) under the terms of the "Common Public License 1.0" a copy of which is
- * available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/cpl.php.
- *
- * 2) under the terms of the "The BSD License" a copy of which is
- * available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/bsd-license.php.
- *
- * 3) under the terms of the "GNU General Public License (GPL) Version 2" a
- * copy of which is available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/gpl-license.php.
- *
- * Licensee has the right to choose one of the above licenses.
- *
- * Redistributions of source code must retain the above copyright
- * notice and one of the license notices.
- *
- * Redistributions in binary form must reproduce both the above copyright
- * notice, one of the license notices in the documentation
- * and/or other materials provided with the distribution.
- */
-
-/**********************************************************************
- *
- * MODULE: dapl_ib_util.c
- *
- * PURPOSE: OFED provider - init, open, close, utilities, work thread
- *
- * $Id:$
- *
- **********************************************************************/
-
-#ifdef RCSID
-static const char rcsid[] = "$Id: $";
-#endif
-
-#include "openib_osd.h"
-#include "dapl.h"
-#include "dapl_adapter_util.h"
-#include "dapl_ib_util.h"
-#include "dapl_osd.h"
-
-#include <stdlib.h>
-
-int g_dapl_loopback_connection = 0;
-struct rdma_event_channel *g_cm_events = NULL;
-ib_thread_state_t g_ib_thread_state = 0;
-DAPL_OS_THREAD g_ib_thread;
-DAPL_OS_LOCK g_hca_lock;
-struct dapl_llist_entry *g_hca_list;
-
-#if defined(_WIN64) || defined(_WIN32)
-#include "..\..\..\..\..\etc\user\comp_channel.cpp"
-#include "..\..\..\..\..\etc\user\dlist.c"
-
-#define getipaddr_netdev(x,y,z) -1
-struct ibvw_windata windata;
-
-static int dapls_os_init(void)
-{
- return ibvw_get_windata(&windata, IBVW_WINDATA_VERSION);
-}
-
-static void dapls_os_release(void)
-{
- if (windata.comp_mgr)
- ibvw_release_windata(&windata, IBVW_WINDATA_VERSION);
- windata.comp_mgr = NULL;
-}
-
-static int dapls_config_comp_channel(struct ibv_comp_channel *channel)
-{
- channel->comp_channel.Milliseconds = 0;
- return 0;
-}
-
-static int dapls_config_cm_channel(struct rdma_event_channel *channel)
-{
- channel->channel.Milliseconds = 0;
- return 0;
-}
-
-static int dapls_config_verbs(struct ibv_context *verbs)
-{
- verbs->channel.Milliseconds = 0;
- return 0;
-}
-
-static int dapls_thread_signal(void)
-{
- CompManagerCancel(windata.comp_mgr);
- return 0;
-}
-#else // _WIN64 || WIN32
-int g_ib_pipe[2];
-
-static int dapls_os_init(void)
-{
- /* create pipe for waking up work thread */
- return pipe(g_ib_pipe);
-}
-
-static void dapls_os_release(void)
-{
- /* close pipe? */
-}
-
-/* Get IP address using network device name */
-static int getipaddr_netdev(char *name, char *addr, int addr_len)
-{
- struct ifreq ifr;
- int skfd, ret, len;
-
- /* Fill in the structure */
- snprintf(ifr.ifr_name, IFNAMSIZ, "%s", name);
- ifr.ifr_hwaddr.sa_family = ARPHRD_INFINIBAND;
-
- /* Create a socket fd */
- skfd = socket(PF_INET, SOCK_STREAM, 0);
- ret = ioctl(skfd, SIOCGIFADDR, &ifr);
- if (ret)
- goto bail;
-
- switch (ifr.ifr_addr.sa_family) {
-#ifdef AF_INET6
- case AF_INET6:
- len = sizeof(struct sockaddr_in6);
- break;
-#endif
- case AF_INET:
- default:
- len = sizeof(struct sockaddr);
- break;
- }
-
- if (len <= addr_len)
- memcpy(addr, &ifr.ifr_addr, len);
- else
- ret = EINVAL;
-
- bail:
- close(skfd);
- return ret;
-}
-
-static int dapls_config_fd(int fd)
-{
- int opts;
-
- opts = fcntl(fd, F_GETFL);
- if (opts < 0 || fcntl(fd, F_SETFL, opts | O_NONBLOCK) < 0) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " dapls_config_fd: fcntl on fd %d ERR %d %s\n",
- fd, opts, strerror(errno));
- return errno;
- }
-
- return 0;
-}
-
-static int dapls_config_comp_channel(struct ibv_comp_channel *channel)
-{
- return dapls_config_fd(channel->fd);
-}
-
-static int dapls_config_cm_channel(struct rdma_event_channel *channel)
-{
- return dapls_config_fd(channel->fd);
-}
-
-static int dapls_config_verbs(struct ibv_context *verbs)
-{
- return dapls_config_fd(verbs->async_fd);
-}
-
-static int dapls_thread_signal(void)
-{
- return write(g_ib_pipe[1], "w", sizeof "w");
-}
-#endif
-
-/* Get IP address using network name, address, or device name */
-static int getipaddr(char *name, char *addr, int len)
-{
- struct addrinfo *res;
-
- /* assume netdev for first attempt, then network and address type */
- if (getipaddr_netdev(name, addr, len)) {
- if (getaddrinfo(name, NULL, NULL, &res)) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " open_hca: getaddr_netdev ERROR:"
- " %s. Is %s configured?\n",
- strerror(errno), name);
- return 1;
- } else {
- if (len >= res->ai_addrlen)
- memcpy(addr, res->ai_addr, res->ai_addrlen);
- else {
- freeaddrinfo(res);
- return 1;
- }
- freeaddrinfo(res);
- }
- }
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " getipaddr: family %d port %d addr %d.%d.%d.%d\n",
- ((struct sockaddr_in *)addr)->sin_family,
- ((struct sockaddr_in *)addr)->sin_port,
- ((struct sockaddr_in *)addr)->sin_addr.s_addr >> 0 & 0xff,
- ((struct sockaddr_in *)addr)->sin_addr.s_addr >> 8 & 0xff,
- ((struct sockaddr_in *)addr)->sin_addr.s_addr >> 16 & 0xff,
- ((struct sockaddr_in *)addr)->sin_addr.
- s_addr >> 24 & 0xff);
-
- return 0;
-}
-
-/*
- * dapls_ib_init, dapls_ib_release
- *
- * Initialize Verb related items for device open
- *
- * Input:
- * none
- *
- * Output:
- * none
- *
- * Returns:
- * 0 success, -1 error
- *
- */
-int32_t dapls_ib_init(void)
-{
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " dapl_ib_init: \n");
-
- /* initialize hca_list lock */
- dapl_os_lock_init(&g_hca_lock);
-
- /* initialize hca list for CQ events */
- dapl_llist_init_head(&g_hca_list);
-
- if (dapls_os_init())
- return 1;
-
- return 0;
-}
-
-int32_t dapls_ib_release(void)
-{
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " dapl_ib_release: \n");
- dapli_ib_thread_destroy();
- if (g_cm_events != NULL)
- rdma_destroy_event_channel(g_cm_events);
- dapls_os_release();
- return 0;
-}
-
-/*
- * dapls_ib_open_hca
- *
- * Open HCA
- *
- * Input:
- * *hca_name pointer to provider device name
- * *ib_hca_handle_p pointer to provide HCA handle
- *
- * Output:
- * none
- *
- * Return:
- * DAT_SUCCESS
- * dapl_convert_errno
- *
- */
-DAT_RETURN dapls_ib_open_hca(IN IB_HCA_NAME hca_name, IN DAPL_HCA * hca_ptr)
-{
- struct rdma_cm_id *cm_id = NULL;
- union ibv_gid *gid;
- int ret;
- DAT_RETURN dat_status;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " open_hca: %s - %p\n", hca_name, hca_ptr);
-
- /* Setup the global cm event channel */
- dapl_os_lock(&g_hca_lock);
- if (g_cm_events == NULL) {
- g_cm_events = rdma_create_event_channel();
- if (g_cm_events == NULL) {
- dapl_dbg_log(DAPL_DBG_TYPE_ERR,
- " open_hca: ERR - RDMA channel %s\n",
- strerror(errno));
- return DAT_INTERNAL_ERROR;
- }
- }
- dapl_os_unlock(&g_hca_lock);
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " open_hca: RDMA channel created (%p)\n", g_cm_events);
-
- dat_status = dapli_ib_thread_init();
- if (dat_status != DAT_SUCCESS)
- return dat_status;
-
- /* HCA name will be hostname or IP address */
- if (getipaddr((char *)hca_name,
- (char *)&hca_ptr->hca_address, sizeof(DAT_SOCK_ADDR6)))
- return DAT_INVALID_ADDRESS;
-
- /* cm_id will bind local device/GID based on IP address */
- if (rdma_create_id(g_cm_events, &cm_id, (void *)hca_ptr, RDMA_PS_TCP)) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " open_hca: rdma_create_id ERR %s\n", strerror(errno));
- return DAT_INTERNAL_ERROR;
- }
- ret = rdma_bind_addr(cm_id, (struct sockaddr *)&hca_ptr->hca_address);
- if ((ret) || (cm_id->verbs == NULL)) {
- rdma_destroy_id(cm_id);
- dapl_log(DAPL_DBG_TYPE_ERR,
- " open_hca: rdma_bind ERR %s."
- " Is %s configured?\n", strerror(errno), hca_name);
- return DAT_INVALID_ADDRESS;
- }
-
- /* keep reference to IB device and cm_id */
- hca_ptr->ib_trans.cm_id = cm_id;
- hca_ptr->ib_hca_handle = cm_id->verbs;
- dapls_config_verbs(cm_id->verbs);
- hca_ptr->port_num = cm_id->port_num;
- gid = &cm_id->route.addr.addr.ibaddr.sgid;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " open_hca: ctx=%p port=%d GID subnet %016llx id %016llx\n",
- cm_id->verbs, cm_id->port_num,
- (unsigned long long)ntohll(gid->global.subnet_prefix),
- (unsigned long long)ntohll(gid->global.interface_id));
-
- /* set inline max with env or default, get local lid and gid 0 */
- if (hca_ptr->ib_hca_handle->device->transport_type
- == IBV_TRANSPORT_IWARP)
- hca_ptr->ib_trans.max_inline_send =
- dapl_os_get_env_val("DAPL_MAX_INLINE",
- INLINE_SEND_IWARP_DEFAULT);
- else
- hca_ptr->ib_trans.max_inline_send =
- dapl_os_get_env_val("DAPL_MAX_INLINE",
- INLINE_SEND_IB_DEFAULT);
-
- /* set CM timer defaults */
- hca_ptr->ib_trans.max_cm_timeout =
- dapl_os_get_env_val("DAPL_MAX_CM_RESPONSE_TIME",
- IB_CM_RESPONSE_TIMEOUT);
- hca_ptr->ib_trans.max_cm_retries =
- dapl_os_get_env_val("DAPL_MAX_CM_RETRIES", IB_CM_RETRIES);
-
- /* EVD events without direct CQ channels, non-blocking */
- hca_ptr->ib_trans.ib_cq =
- ibv_create_comp_channel(hca_ptr->ib_hca_handle);
- if (hca_ptr->ib_trans.ib_cq == NULL) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " open_hca: ibv_create_comp_channel ERR %s\n",
- strerror(errno));
- goto bail;
- }
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " open_hca: CQ channel created\n");
-
- if (dapls_config_comp_channel(hca_ptr->ib_trans.ib_cq)) {
- goto bail;
- }
-
- /*
- * Put new hca_transport on list for async and CQ event processing
- * Wakeup work thread to add to polling list
- */
- dapl_llist_init_entry((DAPL_LLIST_ENTRY *) & hca_ptr->ib_trans.entry);
- dapl_os_lock(&g_hca_lock);
- dapl_llist_add_tail(&g_hca_list,
- (DAPL_LLIST_ENTRY *) & hca_ptr->ib_trans.entry,
- &hca_ptr->ib_trans.entry);
- if (dapls_thread_signal() == -1)
- dapl_log(DAPL_DBG_TYPE_UTIL,
- " open_hca: thread wakeup error = %s\n",
- strerror(errno));
- dapl_os_unlock(&g_hca_lock);
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " open_hca: %s, %s %d.%d.%d.%d INLINE_MAX=%d\n", hca_name,
- ((struct sockaddr_in *)
- &hca_ptr->hca_address)->sin_family == AF_INET ?
- "AF_INET" : "AF_INET6", ((struct sockaddr_in *)
- &hca_ptr->hca_address)->sin_addr.
- s_addr >> 0 & 0xff, ((struct sockaddr_in *)
- &hca_ptr->hca_address)->sin_addr.
- s_addr >> 8 & 0xff, ((struct sockaddr_in *)
- &hca_ptr->hca_address)->sin_addr.
- s_addr >> 16 & 0xff, ((struct sockaddr_in *)
- &hca_ptr->hca_address)->sin_addr.
- s_addr >> 24 & 0xff, hca_ptr->ib_trans.max_inline_send);
-
- hca_ptr->ib_trans.d_hca = hca_ptr;
- return DAT_SUCCESS;
- bail:
- rdma_destroy_id(hca_ptr->ib_trans.cm_id);
- hca_ptr->ib_hca_handle = IB_INVALID_HANDLE;
- return DAT_INTERNAL_ERROR;
-}
-
-/*
- * dapls_ib_close_hca
- *
- * Open HCA
- *
- * Input:
- * DAPL_HCA provide CA handle
- *
- * Output:
- * none
- *
- * Return:
- * DAT_SUCCESS
- * dapl_convert_errno
- *
- */
-DAT_RETURN dapls_ib_close_hca(IN DAPL_HCA * hca_ptr)
-{
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " close_hca: %p->%p\n",
- hca_ptr, hca_ptr->ib_hca_handle);
-
- if (hca_ptr->ib_hca_handle != IB_INVALID_HANDLE) {
- if (rdma_destroy_id(hca_ptr->ib_trans.cm_id))
- return (dapl_convert_errno(errno, "ib_close_device"));
- hca_ptr->ib_hca_handle = IB_INVALID_HANDLE;
- }
-
- dapl_os_lock(&g_hca_lock);
- if (g_ib_thread_state != IB_THREAD_RUN) {
- dapl_os_unlock(&g_hca_lock);
- goto bail;
- }
- dapl_os_unlock(&g_hca_lock);
-
- /*
- * Remove hca from async and CQ event processing list
- * Wakeup work thread to remove from polling list
- */
- hca_ptr->ib_trans.destroy = 1;
- if (dapls_thread_signal() == -1)
- dapl_log(DAPL_DBG_TYPE_UTIL,
- " destroy: thread wakeup error = %s\n",
- strerror(errno));
-
- /* wait for thread to remove HCA references */
- while (hca_ptr->ib_trans.destroy != 2) {
- if (dapls_thread_signal() == -1)
- dapl_log(DAPL_DBG_TYPE_UTIL,
- " destroy: thread wakeup error = %s\n",
- strerror(errno));
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " ib_thread_destroy: wait on hca %p destroy\n");
- dapl_os_sleep_usec(10000);
- }
- bail:
- return (DAT_SUCCESS);
-}
-
-/*
- * dapls_ib_query_hca
- *
- * Query the hca attribute
- *
- * Input:
- * hca_handl hca handle
- * ia_attr attribute of the ia
- * ep_attr attribute of the ep
- * ip_addr ip address of DET NIC
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INVALID_HANDLE
- */
-
-DAT_RETURN dapls_ib_query_hca(IN DAPL_HCA * hca_ptr,
- OUT DAT_IA_ATTR * ia_attr,
- OUT DAT_EP_ATTR * ep_attr,
- OUT DAT_SOCK_ADDR6 * ip_addr)
-{
- struct ibv_device_attr dev_attr;
- struct ibv_port_attr port_attr;
-
- if (hca_ptr->ib_hca_handle == NULL) {
- dapl_dbg_log(DAPL_DBG_TYPE_ERR, " query_hca: BAD handle\n");
- return (DAT_INVALID_HANDLE);
- }
-
- /* local IP address of device, set during ia_open */
- if (ip_addr != NULL)
- memcpy(ip_addr, &hca_ptr->hca_address, sizeof(DAT_SOCK_ADDR6));
-
- if (ia_attr == NULL && ep_attr == NULL)
- return DAT_SUCCESS;
-
- /* query verbs for this device and port attributes */
- if (ibv_query_device(hca_ptr->ib_hca_handle, &dev_attr) ||
- ibv_query_port(hca_ptr->ib_hca_handle,
- hca_ptr->port_num, &port_attr))
- return (dapl_convert_errno(errno, "ib_query_hca"));
-
- /*
- * There is no query for inline data so there is no way to
- * calculate the impact on sge nor the max inline send. Most
- * implementions consume 1 or none so just reduce by 1 until
- * we are provided with a query mechanism from verbs.
- */
- if (hca_ptr->ib_trans.max_inline_send)
- dev_attr.max_sge--;
-
- if (ia_attr != NULL) {
- (void)dapl_os_memzero(ia_attr, sizeof(*ia_attr));
- ia_attr->adapter_name[DAT_NAME_MAX_LENGTH - 1] = '\0';
- ia_attr->vendor_name[DAT_NAME_MAX_LENGTH - 1] = '\0';
- ia_attr->ia_address_ptr =
- (DAT_IA_ADDRESS_PTR) & hca_ptr->hca_address;
-
- dapl_log(DAPL_DBG_TYPE_UTIL,
- "dapl_query_hca: %s %s %s\n", hca_ptr->name,
- ((struct sockaddr_in *)
- ia_attr->ia_address_ptr)->sin_family == AF_INET ?
- "AF_INET" : "AF_INET6",
- inet_ntoa(((struct sockaddr_in *)
- ia_attr->ia_address_ptr)->sin_addr));
-
- ia_attr->hardware_version_major = dev_attr.hw_ver;
- ia_attr->max_eps = dev_attr.max_qp;
- ia_attr->max_dto_per_ep = dev_attr.max_qp_wr;
- ia_attr->max_rdma_read_in = dev_attr.max_res_rd_atom;
- ia_attr->max_rdma_read_out = dev_attr.max_qp_init_rd_atom;
- ia_attr->max_rdma_read_per_ep_in = dev_attr.max_qp_rd_atom;
- ia_attr->max_rdma_read_per_ep_out =
- dev_attr.max_qp_init_rd_atom;
- ia_attr->max_rdma_read_per_ep_in_guaranteed = DAT_TRUE;
- ia_attr->max_rdma_read_per_ep_out_guaranteed = DAT_TRUE;
- ia_attr->max_evds = dev_attr.max_cq;
- ia_attr->max_evd_qlen = dev_attr.max_cqe;
- ia_attr->max_iov_segments_per_dto = dev_attr.max_sge;
- ia_attr->max_lmrs = dev_attr.max_mr;
- /* 32bit attribute from 64bit, 4G-1 limit, DAT v2 needs fix */
- ia_attr->max_lmr_block_size =
- (dev_attr.max_mr_size >> 32) ? ~0 : dev_attr.max_mr_size;
- ia_attr->max_rmrs = dev_attr.max_mw;
- ia_attr->max_lmr_virtual_address = dev_attr.max_mr_size;
- ia_attr->max_rmr_target_address = dev_attr.max_mr_size;
- ia_attr->max_pzs = dev_attr.max_pd;
- ia_attr->max_mtu_size = port_attr.max_msg_sz;
- ia_attr->max_rdma_size = port_attr.max_msg_sz;
- ia_attr->num_transport_attr = 0;
- ia_attr->transport_attr = NULL;
- ia_attr->num_vendor_attr = 0;
- ia_attr->vendor_attr = NULL;
- /* iWARP spec. - 1 sge for RDMA reads */
- if (hca_ptr->ib_hca_handle->device->transport_type
- == IBV_TRANSPORT_IWARP)
- ia_attr->max_iov_segments_per_rdma_read = 1;
- else
- ia_attr->max_iov_segments_per_rdma_read =
- dev_attr.max_sge;
-
- ia_attr->max_iov_segments_per_rdma_write = dev_attr.max_sge;
- /* save rd_atom for peer validation during connect requests */
- hca_ptr->ib_trans.max_rdma_rd_in = dev_attr.max_qp_rd_atom;
- hca_ptr->ib_trans.max_rdma_rd_out =
- dev_attr.max_qp_init_rd_atom;
-#ifdef DAT_EXTENSIONS
- ia_attr->extension_supported = DAT_EXTENSION_IB;
- ia_attr->extension_version = DAT_IB_EXTENSION_VERSION;
-#endif
- dapl_log(DAPL_DBG_TYPE_UTIL,
- "dapl_query_hca: (ver=%x) ep's %d ep_q %d"
- " evd's %d evd_q %d mr %u\n",
- ia_attr->hardware_version_major,
- ia_attr->max_eps, ia_attr->max_dto_per_ep,
- ia_attr->max_evds, ia_attr->max_evd_qlen,
- ia_attr->max_lmr_block_size);
- dapl_log(DAPL_DBG_TYPE_UTIL,
- "dapl_query_hca: msg %llu rdma %llu iov's %d"
- " lmr %d rmr %d rd_in,out %d,%d inline=%d\n",
- ia_attr->max_mtu_size, ia_attr->max_rdma_size,
- ia_attr->max_iov_segments_per_dto, ia_attr->max_lmrs,
- ia_attr->max_rmrs, ia_attr->max_rdma_read_per_ep_in,
- ia_attr->max_rdma_read_per_ep_out,
- hca_ptr->ib_trans.max_inline_send);
- }
-
- if (ep_attr != NULL) {
- (void)dapl_os_memzero(ep_attr, sizeof(*ep_attr));
- ep_attr->max_mtu_size = port_attr.max_msg_sz;
- ep_attr->max_rdma_size = port_attr.max_msg_sz;
- ep_attr->max_recv_dtos = dev_attr.max_qp_wr;
- ep_attr->max_request_dtos = dev_attr.max_qp_wr;
- ep_attr->max_recv_iov = dev_attr.max_sge;
- ep_attr->max_request_iov = dev_attr.max_sge;
- ep_attr->max_rdma_read_in = dev_attr.max_qp_rd_atom;
- ep_attr->max_rdma_read_out = dev_attr.max_qp_init_rd_atom;
- /* iWARP spec. - 1 sge for RDMA reads */
- if (hca_ptr->ib_hca_handle->device->transport_type
- == IBV_TRANSPORT_IWARP)
- ep_attr->max_rdma_read_iov = 1;
- else
- ep_attr->max_rdma_read_iov = dev_attr.max_sge;
-
- ep_attr->max_rdma_write_iov = dev_attr.max_sge;
- dapl_log(DAPL_DBG_TYPE_UTIL,
- "dapl_query_hca: MAX msg %llu dto %d iov %d"
- " rdma i%d,o%d\n",
- ep_attr->max_mtu_size,
- ep_attr->max_recv_dtos, ep_attr->max_recv_iov,
- ep_attr->max_rdma_read_in, ep_attr->max_rdma_read_out);
- }
- return DAT_SUCCESS;
-}
-
-/*
- * dapls_ib_setup_async_callback
- *
- * Set up an asynchronous callbacks of various kinds
- *
- * Input:
- * ia_handle IA handle
- * handler_type type of handler to set up
- * callback_handle handle param for completion callbacks
- * callback callback routine pointer
- * context argument for callback routine
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INSUFFICIENT_RESOURCES
- * DAT_INVALID_PARAMETER
- *
- */
-DAT_RETURN dapls_ib_setup_async_callback(IN DAPL_IA * ia_ptr,
- IN DAPL_ASYNC_HANDLER_TYPE type,
- IN DAPL_EVD * evd_ptr,
- IN ib_async_handler_t callback,
- IN void *context)
-{
- ib_hca_transport_t *hca_ptr;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " setup_async_cb: ia %p type %d hdl %p cb %p ctx %p\n",
- ia_ptr, type, evd_ptr, callback, context);
-
- hca_ptr = &ia_ptr->hca_ptr->ib_trans;
- switch (type) {
- case DAPL_ASYNC_UNAFILIATED:
- hca_ptr->async_unafiliated = (ib_async_handler_t) callback;
- hca_ptr->async_un_ctx = context;
- break;
- case DAPL_ASYNC_CQ_ERROR:
- hca_ptr->async_cq_error = (ib_async_cq_handler_t) callback;
- break;
- case DAPL_ASYNC_CQ_COMPLETION:
- hca_ptr->async_cq = (ib_async_dto_handler_t) callback;
- break;
- case DAPL_ASYNC_QP_ERROR:
- hca_ptr->async_qp_error = (ib_async_qp_handler_t) callback;
- break;
- default:
- break;
- }
- return DAT_SUCCESS;
-}
-
-DAT_RETURN dapli_ib_thread_init(void)
-{
- DAT_RETURN dat_status;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " ib_thread_init(%d)\n", dapl_os_getpid());
-
- dapl_os_lock(&g_hca_lock);
- if (g_ib_thread_state != IB_THREAD_INIT) {
- dapl_os_unlock(&g_hca_lock);
- return DAT_SUCCESS;
- }
-
- /* uCMA events non-blocking */
- if (dapls_config_cm_channel(g_cm_events)) {
- dapl_os_unlock(&g_hca_lock);
- return (dapl_convert_errno(errno, "create_thread ERR: cm_fd"));
- }
-
- g_ib_thread_state = IB_THREAD_CREATE;
- dapl_os_unlock(&g_hca_lock);
-
- /* create thread to process inbound connect request */
- dat_status = dapl_os_thread_create(dapli_thread, NULL, &g_ib_thread);
- if (dat_status != DAT_SUCCESS)
- return (dapl_convert_errno(errno,
- "create_thread ERR:"
- " check resource limits"));
-
- /* wait for thread to start */
- dapl_os_lock(&g_hca_lock);
- while (g_ib_thread_state != IB_THREAD_RUN) {
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " ib_thread_init: waiting for ib_thread\n");
- dapl_os_unlock(&g_hca_lock);
- dapl_os_sleep_usec(2000);
- dapl_os_lock(&g_hca_lock);
- }
- dapl_os_unlock(&g_hca_lock);
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " ib_thread_init(%d) exit\n", dapl_os_getpid());
-
- return DAT_SUCCESS;
-}
-
-void dapli_ib_thread_destroy(void)
-{
- int retries = 10;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " ib_thread_destroy(%d)\n", dapl_os_getpid());
- /*
- * wait for async thread to terminate.
- * pthread_join would be the correct method
- * but some applications have some issues
- */
-
- /* destroy ib_thread, wait for termination, if not already */
- dapl_os_lock(&g_hca_lock);
- if (g_ib_thread_state != IB_THREAD_RUN)
- goto bail;
-
- g_ib_thread_state = IB_THREAD_CANCEL;
- if (dapls_thread_signal() == -1)
- dapl_log(DAPL_DBG_TYPE_UTIL,
- " destroy: thread wakeup error = %s\n",
- strerror(errno));
- while ((g_ib_thread_state != IB_THREAD_EXIT) && (retries--)) {
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " ib_thread_destroy: waiting for ib_thread\n");
- if (dapls_thread_signal() == -1)
- dapl_log(DAPL_DBG_TYPE_UTIL,
- " destroy: thread wakeup error = %s\n",
- strerror(errno));
- dapl_os_unlock(&g_hca_lock);
- dapl_os_sleep_usec(2000);
- dapl_os_lock(&g_hca_lock);
- }
-
- bail:
- dapl_os_unlock(&g_hca_lock);
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " ib_thread_destroy(%d) exit\n", dapl_os_getpid());
-}
-
-void dapli_async_event_cb(struct _ib_hca_transport *hca)
-{
- struct ibv_async_event event;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " async_event(%p)\n", hca);
-
- if (hca->destroy)
- return;
-
- if (!ibv_get_async_event(hca->cm_id->verbs, &event)) {
-
- switch (event.event_type) {
- case IBV_EVENT_CQ_ERR:
- {
- struct dapl_ep *evd_ptr =
- event.element.cq->cq_context;
-
- dapl_log(DAPL_DBG_TYPE_ERR,
- "dapl async_event CQ (%p) ERR %d\n",
- evd_ptr, event.event_type);
-
- /* report up if async callback still setup */
- if (hca->async_cq_error)
- hca->async_cq_error(hca->cm_id->verbs,
- event.element.cq,
- &event,
- (void *)evd_ptr);
- break;
- }
- case IBV_EVENT_COMM_EST:
- {
- /* Received msgs on connected QP before RTU */
- dapl_log(DAPL_DBG_TYPE_UTIL,
- " async_event COMM_EST(%p) rdata beat RTU\n",
- event.element.qp);
-
- break;
- }
- case IBV_EVENT_QP_FATAL:
- case IBV_EVENT_QP_REQ_ERR:
- case IBV_EVENT_QP_ACCESS_ERR:
- case IBV_EVENT_QP_LAST_WQE_REACHED:
- case IBV_EVENT_SRQ_ERR:
- case IBV_EVENT_SRQ_LIMIT_REACHED:
- case IBV_EVENT_SQ_DRAINED:
- {
- struct dapl_ep *ep_ptr =
- event.element.qp->qp_context;
-
- dapl_log(DAPL_DBG_TYPE_ERR,
- "dapl async_event QP (%p) ERR %d\n",
- ep_ptr, event.event_type);
-
- /* report up if async callback still setup */
- if (hca->async_qp_error)
- hca->async_qp_error(hca->cm_id->verbs,
- ep_ptr->qp_handle,
- &event,
- (void *)ep_ptr);
- break;
- }
- case IBV_EVENT_PATH_MIG:
- case IBV_EVENT_PATH_MIG_ERR:
- case IBV_EVENT_DEVICE_FATAL:
- case IBV_EVENT_PORT_ACTIVE:
- case IBV_EVENT_PORT_ERR:
- case IBV_EVENT_LID_CHANGE:
- case IBV_EVENT_PKEY_CHANGE:
- case IBV_EVENT_SM_CHANGE:
- {
- dapl_log(DAPL_DBG_TYPE_WARN,
- "dapl async_event: DEV ERR %d\n",
- event.event_type);
-
- /* report up if async callback still setup */
- if (hca->async_unafiliated)
- hca->async_unafiliated(hca->cm_id->
- verbs, &event,
- hca->
- async_un_ctx);
- break;
- }
- case IBV_EVENT_CLIENT_REREGISTER:
- /* no need to report this event this time */
- dapl_log(DAPL_DBG_TYPE_UTIL,
- " async_event: IBV_EVENT_CLIENT_REREGISTER\n");
- break;
-
- default:
- dapl_log(DAPL_DBG_TYPE_WARN,
- "dapl async_event: %d UNKNOWN\n",
- event.event_type);
- break;
-
- }
- ibv_ack_async_event(&event);
- }
-}
-
-#if defined(_WIN64) || defined(_WIN32)
-/* work thread for uAT, uCM, CQ, and async events */
-void dapli_thread(void *arg)
-{
- struct _ib_hca_transport *hca;
- struct _ib_hca_transport *uhca[8];
- COMP_CHANNEL *channel;
- int ret, idx, cnt;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " ib_thread(%d,0x%x): ENTER: \n",
- dapl_os_getpid(), g_ib_thread);
-
- dapl_os_lock(&g_hca_lock);
- for (g_ib_thread_state = IB_THREAD_RUN;
- g_ib_thread_state == IB_THREAD_RUN; dapl_os_lock(&g_hca_lock)) {
-
- idx = 0;
- hca = dapl_llist_is_empty(&g_hca_list) ? NULL :
- dapl_llist_peek_head(&g_hca_list);
-
- while (hca) {
- uhca[idx++] = hca;
- hca = dapl_llist_next_entry(&g_hca_list,
- (DAPL_LLIST_ENTRY *) & hca->
- entry);
- }
- cnt = idx;
-
- dapl_os_unlock(&g_hca_lock);
- ret = CompManagerPoll(windata.comp_mgr, INFINITE, &channel);
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " ib_thread(%d) poll_event 0x%x\n",
- dapl_os_getpid(), ret);
-
- dapli_cma_event_cb();
-
- /* check and process CQ and ASYNC events, per device */
- for (idx = 0; idx < cnt; idx++) {
- if (uhca[idx]->destroy == 1) {
- dapl_os_lock(&g_hca_lock);
- dapl_llist_remove_entry(&g_hca_list,
- (DAPL_LLIST_ENTRY *) &
- uhca[idx]->entry);
- dapl_os_unlock(&g_hca_lock);
- uhca[idx]->destroy = 2;
- } else {
- dapli_cq_event_cb(uhca[idx]);
- dapli_async_event_cb(uhca[idx]);
- }
- }
- }
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " ib_thread(%d) EXIT\n",
- dapl_os_getpid());
- g_ib_thread_state = IB_THREAD_EXIT;
- dapl_os_unlock(&g_hca_lock);
-}
-#else // _WIN64 || WIN32
-/* work thread for uAT, uCM, CQ, and async events */
-void dapli_thread(void *arg)
-{
- struct pollfd ufds[__FD_SETSIZE];
- struct _ib_hca_transport *uhca[__FD_SETSIZE] = { NULL };
- struct _ib_hca_transport *hca;
- int ret, idx, fds;
- char rbuf[2];
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " ib_thread(%d,0x%x): ENTER: pipe %d ucma %d\n",
- dapl_os_getpid(), g_ib_thread, g_ib_pipe[0],
- g_cm_events->fd);
-
- /* Poll across pipe, CM, AT never changes */
- dapl_os_lock(&g_hca_lock);
- g_ib_thread_state = IB_THREAD_RUN;
-
- ufds[0].fd = g_ib_pipe[0]; /* pipe */
- ufds[0].events = POLLIN;
- ufds[1].fd = g_cm_events->fd; /* uCMA */
- ufds[1].events = POLLIN;
-
- while (g_ib_thread_state == IB_THREAD_RUN) {
-
- /* build ufds after pipe and uCMA events */
- ufds[0].revents = 0;
- ufds[1].revents = 0;
- idx = 1;
-
- /* Walk HCA list and setup async and CQ events */
- if (!dapl_llist_is_empty(&g_hca_list))
- hca = dapl_llist_peek_head(&g_hca_list);
- else
- hca = NULL;
-
- while (hca) {
-
- /* uASYNC events */
- ufds[++idx].fd = hca->cm_id->verbs->async_fd;
- ufds[idx].events = POLLIN;
- ufds[idx].revents = 0;
- uhca[idx] = hca;
-
- /* uCQ, non-direct events */
- ufds[++idx].fd = hca->ib_cq->fd;
- ufds[idx].events = POLLIN;
- ufds[idx].revents = 0;
- uhca[idx] = hca;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " ib_thread(%d) poll_fd: hca[%d]=%p, async=%d"
- " pipe=%d cm=%d cq=d\n",
- dapl_os_getpid(), hca, ufds[idx - 1].fd,
- ufds[0].fd, ufds[1].fd, ufds[idx].fd);
-
- hca = dapl_llist_next_entry(&g_hca_list,
- (DAPL_LLIST_ENTRY *) & hca->
- entry);
- }
-
- /* unlock, and setup poll */
- fds = idx + 1;
- dapl_os_unlock(&g_hca_lock);
- ret = poll(ufds, fds, -1);
- if (ret <= 0) {
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " ib_thread(%d): ERR %s poll\n",
- dapl_os_getpid(), strerror(errno));
- dapl_os_lock(&g_hca_lock);
- continue;
- }
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " ib_thread(%d) poll_event: "
- " async=0x%x pipe=0x%x cm=0x%x cq=0x%x\n",
- dapl_os_getpid(), ufds[idx - 1].revents,
- ufds[0].revents, ufds[1].revents,
- ufds[idx].revents);
-
- /* uCMA events */
- if (ufds[1].revents == POLLIN)
- dapli_cma_event_cb();
-
- /* check and process CQ and ASYNC events, per device */
- for (idx = 2; idx < fds; idx++) {
- if (ufds[idx].revents == POLLIN) {
- dapli_cq_event_cb(uhca[idx]);
- dapli_async_event_cb(uhca[idx]);
- }
- }
-
- /* check and process user events, PIPE */
- if (ufds[0].revents == POLLIN) {
- if (read(g_ib_pipe[0], rbuf, 2) == -1)
- dapl_log(DAPL_DBG_TYPE_UTIL,
- " cr_thread: pipe rd err= %s\n",
- strerror(errno));
-
- /* cleanup any device on list marked for destroy */
- for (idx = 3; idx < fds; idx++) {
- if (uhca[idx] && uhca[idx]->destroy == 1) {
- dapl_os_lock(&g_hca_lock);
- dapl_llist_remove_entry(&g_hca_list,
- (DAPL_LLIST_ENTRY
- *)
- & uhca[idx]->
- entry);
- dapl_os_unlock(&g_hca_lock);
- uhca[idx]->destroy = 2;
- }
- }
- }
- dapl_os_lock(&g_hca_lock);
- }
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " ib_thread(%d) EXIT\n",
- dapl_os_getpid());
- g_ib_thread_state = IB_THREAD_EXIT;
- dapl_os_unlock(&g_hca_lock);
-}
-#endif
-
-/*
- * dapls_set_provider_specific_attr
- *
- * Input:
- * attr_ptr Pointer provider specific attributes
- *
- * Output:
- * none
- *
- * Returns:
- * void
- */
-DAT_NAMED_ATTR ib_attrs[] = {
-#ifdef DAT_EXTENSIONS
- {
- "DAT_EXTENSION_INTERFACE", "TRUE"}
- ,
- {
- DAT_IB_ATTR_FETCH_AND_ADD, "TRUE"}
- ,
- {
- DAT_IB_ATTR_CMP_AND_SWAP, "TRUE"}
- ,
- {
- DAT_IB_ATTR_IMMED_DATA, "TRUE"}
- ,
-#ifdef DAPL_COUNTERS
- {
- DAT_ATTR_COUNTERS, "TRUE"}
- ,
-#endif /* DAPL_COUNTERS */
-#endif
-};
-
-#define SPEC_ATTR_SIZE( x ) (sizeof( x ) / sizeof( DAT_NAMED_ATTR))
-
-void dapls_query_provider_specific_attr(IN DAPL_IA * ia_ptr,
- IN DAT_PROVIDER_ATTR * attr_ptr)
-{
- attr_ptr->num_provider_specific_attr = SPEC_ATTR_SIZE(ib_attrs);
- attr_ptr->provider_specific_attr = ib_attrs;
-}
diff --git a/dapl/openib_cma/dapl_ib_util.h b/dapl/openib_cma/dapl_ib_util.h
index 46c9b35..de95485 100755
--- a/dapl/openib_cma/dapl_ib_util.h
+++ b/dapl/openib_cma/dapl_ib_util.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005-2008 Intel Corporation. All rights reserved.
+ * Copyright (c) 2005-2009 Intel Corporation. All rights reserved.
*
* This Software is licensed under one of the following licenses:
*
@@ -24,35 +24,17 @@
* notice, one of the license notices in the documentation
* and/or other materials provided with the distribution.
*/
-
-/**********************************************************************
- *
- * MODULE: dapl_ib_util.h
- *
- * PURPOSE: The OFED provider - definitions, prototypes,
- *
- * $Id: $
- *
- **********************************************************************/
-
+/*
+ * Definitions specific to OpenIB CMA provider.
+ * Connection manager - rdma_cma, provided in separate library.
+ */
#ifndef _DAPL_IB_UTIL_H_
#define _DAPL_IB_UTIL_H_
+#define _OPENIB_CMA_
-#include "openib_osd.h"
#include <infiniband/verbs.h>
-#include <rdma/rdma_cma.h>
-
-/* Typedefs to map common DAPL provider types to IB verbs */
-typedef struct dapl_cm_id *ib_qp_handle_t;
-typedef struct ibv_cq *ib_cq_handle_t;
-typedef struct ibv_pd *ib_pd_handle_t;
-typedef struct ibv_mr *ib_mr_handle_t;
-typedef struct ibv_mw *ib_mw_handle_t;
-typedef struct ibv_wc ib_work_completion_t;
-
-/* HCA context type maps to IB verbs */
-typedef struct ibv_context *ib_hca_handle_t;
-typedef ib_hca_handle_t dapl_ibal_ca_t;
+#include "openib_osd.h"
+#include "dapl_ib_common.h"
#define IB_RC_RETRY_COUNT 7
#define IB_RNR_RETRY_COUNT 7
@@ -64,105 +46,34 @@ typedef ib_hca_handle_t dapl_ibal_ca_t;
#define IB_ROUTE_RETRY_COUNT 15 /* 60 sec total */
#define IB_MAX_AT_RETRY 3
-typedef enum {
- IB_CME_CONNECTED,
- IB_CME_DISCONNECTED,
- IB_CME_DISCONNECTED_ON_LINK_DOWN,
- IB_CME_CONNECTION_REQUEST_PENDING,
- IB_CME_CONNECTION_REQUEST_PENDING_PRIVATE_DATA,
- IB_CME_CONNECTION_REQUEST_ACKED,
- IB_CME_DESTINATION_REJECT,
- IB_CME_DESTINATION_REJECT_PRIVATE_DATA,
- IB_CME_DESTINATION_UNREACHABLE,
- IB_CME_TOO_MANY_CONNECTION_REQUESTS,
- IB_CME_LOCAL_FAILURE,
- IB_CME_BROKEN,
- IB_CME_TIMEOUT
-} ib_cm_events_t;
-
-/* CQ notifications */
-typedef enum
-{
- IB_NOTIFY_ON_NEXT_COMP,
- IB_NOTIFY_ON_SOLIC_COMP
-
-} ib_notification_type_t;
-
-/* other mappings */
-typedef int ib_bool_t;
-typedef union ibv_gid GID;
-typedef char *IB_HCA_NAME;
-typedef uint16_t ib_hca_port_t;
-typedef uint32_t ib_comp_handle_t;
-
-#ifdef CQ_WAIT_OBJECT
-
-/* CQ event channel, plus pipe to enable consumer wakeup */
-typedef struct _ib_wait_obj_handle
-{
- struct ibv_comp_channel *events;
- int pipe[2];
-
-} *ib_wait_obj_handle_t;
-
+/* CMA private data areas, use CMA max with known transport definitions */
+#ifndef RDMA_MAX_PRIVATE_DATA
+#if defined(_WIN64) || defined(_WIN32)
+#define RDMA_MAX_PRIVATE_DATA 64
+#else
+#define RDMA_MAX_PRIVATE_DATA 256
+#endif
#endif
-/* Definitions */
-#define IB_INVALID_HANDLE NULL
-
-/* inline send rdma threshold */
-#define INLINE_SEND_IWARP_DEFAULT 64
-#define INLINE_SEND_IB_DEFAULT 200
-
-/* CMA private data areas */
#define CMA_PDATA_HDR 36
-#define IB_MAX_REQ_PDATA_SIZE (92-CMA_PDATA_HDR)
-#define IB_MAX_REP_PDATA_SIZE (196-CMA_PDATA_HDR)
-#define IB_MAX_REJ_PDATA_SIZE (148-CMA_PDATA_HDR)
-#define IB_MAX_DREQ_PDATA_SIZE (220-CMA_PDATA_HDR)
-#define IB_MAX_DREP_PDATA_SIZE (224-CMA_PDATA_HDR)
-#define IWARP_MAX_PDATA_SIZE (512-CMA_PDATA_HDR)
-
-/* DTO OPs, ordered for DAPL ENUM definitions */
-#define OP_RDMA_WRITE IBV_WR_RDMA_WRITE
-#define OP_RDMA_WRITE_IMM IBV_WR_RDMA_WRITE_WITH_IMM
-#define OP_SEND IBV_WR_SEND
-#define OP_SEND_IMM IBV_WR_SEND_WITH_IMM
-#define OP_RDMA_READ IBV_WR_RDMA_READ
-#define OP_COMP_AND_SWAP IBV_WR_ATOMIC_CMP_AND_SWP
-#define OP_FETCH_AND_ADD IBV_WR_ATOMIC_FETCH_AND_ADD
-#define OP_RECEIVE 7 /* internal op */
-#define OP_RECEIVE_IMM 8 /* internel op */
-#define OP_BIND_MW 9 /* internal op */
-#define OP_INVALID 0xff
-
-/* Definitions to map QP state */
-#define IB_QP_STATE_RESET IBV_QPS_RESET
-#define IB_QP_STATE_INIT IBV_QPS_INIT
-#define IB_QP_STATE_RTR IBV_QPS_RTR
-#define IB_QP_STATE_RTS IBV_QPS_RTS
-#define IB_QP_STATE_SQD IBV_QPS_SQD
-#define IB_QP_STATE_SQE IBV_QPS_SQE
-#define IB_QP_STATE_ERROR IBV_QPS_ERR
-
-typedef enum
-{
- IB_THREAD_INIT,
- IB_THREAD_CREATE,
- IB_THREAD_RUN,
- IB_THREAD_CANCEL,
- IB_THREAD_EXIT
-
-} ib_thread_state_t;
-
+#define IB_MAX_REQ_PDATA_SIZE DAPL_MIN((92-CMA_PDATA_HDR),RDMA_MAX_PRIVATE_DATA)
+#define IB_MAX_REP_PDATA_SIZE DAPL_MIN((196-CMA_PDATA_HDR),RDMA_MAX_PRIVATE_DATA)
+#define IB_MAX_REJ_PDATA_SIZE DAPL_MIN((148-CMA_PDATA_HDR),RDMA_MAX_PRIVATE_DATA)
+#define IB_MAX_DREQ_PDATA_SIZE DAPL_MIN((220-CMA_PDATA_HDR),RDMA_MAX_PRIVATE_DATA)
+#define IB_MAX_DREP_PDATA_SIZE DAPL_MIN((224-CMA_PDATA_HDR),RDMA_MAX_PRIVATE_DATA)
+#define IWARP_MAX_PDATA_SIZE DAPL_MIN((512-CMA_PDATA_HDR),RDMA_MAX_PRIVATE_DATA)
+
+/* DAPL CM objects MUST include list_entry, ref_count, event for EP linking */
struct dapl_cm_id {
+ struct dapl_llist_entry list_entry;
+ struct dapl_llist_entry local_entry;
+ DAPL_OS_WAIT_OBJECT event;
DAPL_OS_LOCK lock;
- int destroy;
+ int ref_count;
int arp_retries;
int arp_timeout;
int route_retries;
int route_timeout;
- int in_callback;
struct rdma_cm_id *cm_id;
struct dapl_hca *hca;
struct dapl_sp *sp;
@@ -171,73 +82,18 @@ struct dapl_cm_id {
DAT_SOCK_ADDR6 r_addr;
int p_len;
unsigned char p_data[256]; /* dapl max private data size */
+ ib_cm_msg_t dst;
+ struct ibv_ah *ah;
};
typedef struct dapl_cm_id *dp_ib_cm_handle_t;
typedef struct dapl_cm_id *ib_cm_srvc_handle_t;
-/* Operation and state mappings */
-typedef int ib_send_op_type_t;
-typedef struct ibv_sge ib_data_segment_t;
-typedef enum ibv_qp_state ib_qp_state_t;
-typedef enum ibv_event_type ib_async_event_type;
-typedef struct ibv_async_event ib_error_record_t;
-
-/* Definitions for ibverbs/mthca return codes, should be defined in verbs.h */
-/* some are errno and some are -n values */
-
-/**
- * ibv_get_device_name - Return kernel device name
- * ibv_get_device_guid - Return device's node GUID
- * ibv_open_device - Return ibv_context or NULL
- * ibv_close_device - Return 0, (errno?)
- * ibv_get_async_event - Return 0, -1
- * ibv_alloc_pd - Return ibv_pd, NULL
- * ibv_dealloc_pd - Return 0, errno
- * ibv_reg_mr - Return ibv_mr, NULL
- * ibv_dereg_mr - Return 0, errno
- * ibv_create_cq - Return ibv_cq, NULL
- * ibv_destroy_cq - Return 0, errno
- * ibv_get_cq_event - Return 0 & ibv_cq/context, int
- * ibv_poll_cq - Return n & ibv_wc, 0 ok, -1 empty, -2 error
- * ibv_req_notify_cq - Return 0 (void?)
- * ibv_create_qp - Return ibv_qp, NULL
- * ibv_modify_qp - Return 0, errno
- * ibv_destroy_qp - Return 0, errno
- * ibv_post_send - Return 0, -1 & bad_wr
- * ibv_post_recv - Return 0, -1 & bad_wr
- */
-
-/* async handlers for DTO, CQ, QP, and unafiliated */
-typedef void (*ib_async_dto_handler_t)(
- IN ib_hca_handle_t ib_hca_handle,
- IN ib_error_record_t *err_code,
- IN void *context);
-
-typedef void (*ib_async_cq_handler_t)(
- IN ib_hca_handle_t ib_hca_handle,
- IN ib_cq_handle_t ib_cq_handle,
- IN ib_error_record_t *err_code,
- IN void *context);
-
-typedef void (*ib_async_qp_handler_t)(
- IN ib_hca_handle_t ib_hca_handle,
- IN ib_qp_handle_t ib_qp_handle,
- IN ib_error_record_t *err_code,
- IN void *context);
-
-typedef void (*ib_async_handler_t)(
- IN ib_hca_handle_t ib_hca_handle,
- IN ib_error_record_t *err_code,
- IN void *context);
-
-
/* ib_hca_transport_t, specific to this implementation */
typedef struct _ib_hca_transport
{
struct dapl_llist_entry entry;
int destroy;
- struct dapl_hca *d_hca;
struct rdma_cm_id *cm_id;
struct ibv_comp_channel *ib_cq;
ib_cq_handle_t ib_cq_empty;
@@ -250,74 +106,62 @@ typedef struct _ib_hca_transport
uint8_t max_cm_timeout;
uint8_t max_cm_retries;
/* device attributes */
- int max_rdma_rd_in;
- int max_rdma_rd_out;
-
+ int rd_atom_in;
+ int rd_atom_out;
+ struct ibv_context *ib_ctx;
+ struct ibv_device *ib_dev;
+ /* dapls_modify_qp_state */
+ uint16_t lid;
+ uint8_t ack_timer;
+ uint8_t ack_retry;
+ uint8_t rnr_timer;
+ uint8_t rnr_retry;
+ uint8_t global;
+ uint8_t hop_limit;
+ uint8_t tclass;
+ uint8_t mtu;
+ uint8_t sl;
+ uint16_t pkey;
+ int pkey_idx;
+ uint64_t guid;
+ char guid_str[32];
+ ib_named_attr_t na;
+#ifdef DAT_IB_COLLECTIVES
+ /* Collective member device and address information */
+ ib_thread_state_t coll_thread_state;
+ DAPL_OS_THREAD coll_thread;
+ DAPL_OS_LOCK coll_lock;
+ DAPL_OS_WAIT_OBJECT coll_event;
+ struct dapl_llist_entry *grp_list;
+ user_progress_func_t *user_func;
+ int l_sock;
+ struct sockaddr_in m_addr;
+ void *m_ctx;
+ void *m_info;
+ void *f_info;
+ int m_size;
+ int f_size;
+ int t_id;
+#endif
} ib_hca_transport_t;
-/* provider specfic fields for shared memory support */
-typedef uint32_t ib_shm_transport_t;
-
/* prototypes */
-int32_t dapls_ib_init (void);
-int32_t dapls_ib_release (void);
void dapli_thread(void *arg);
DAT_RETURN dapli_ib_thread_init(void);
void dapli_ib_thread_destroy(void);
void dapli_cma_event_cb(void);
-void dapli_cq_event_cb(struct _ib_hca_transport *hca);
-void dapli_async_event_cb(struct _ib_hca_transport *hca);
-void dapli_destroy_conn(struct dapl_cm_id *conn);
-
-DAT_RETURN
-dapls_modify_qp_state ( IN ib_qp_handle_t qp_handle,
- IN ib_qp_state_t qp_state,
- IN struct dapl_cm_id *conn );
-
-/* inline functions */
-STATIC _INLINE_ IB_HCA_NAME dapl_ib_convert_name (IN char *name)
-{
- /* use ascii; name of local device */
- return dapl_os_strdup(name);
-}
-
-STATIC _INLINE_ void dapl_ib_release_name (IN IB_HCA_NAME name)
+void dapli_async_event_cb(struct _ib_hca_transport *tp);
+void dapli_cq_event_cb(struct _ib_hca_transport *tp);
+dp_ib_cm_handle_t dapls_ib_cm_create(DAPL_EP *ep);
+void dapls_cm_acquire(dp_ib_cm_handle_t cm);
+void dapls_cm_release(dp_ib_cm_handle_t cm);
+void dapls_cm_free(dp_ib_cm_handle_t cm_ptr);
+
+#ifdef DAPL_COUNTERS
+STATIC _INLINE_ void dapls_print_cm_list(IN DAPL_IA * ia_ptr)
{
return;
}
-
-/*
- * Convert errno to DAT_RETURN values
- */
-STATIC _INLINE_ DAT_RETURN
-dapl_convert_errno( IN int err, IN const char *str )
-{
- if (!err) return DAT_SUCCESS;
-
-#if DAPL_DBG
- if ((err != EAGAIN) && (err != ETIMEDOUT))
- dapl_dbg_log (DAPL_DBG_TYPE_ERR," %s %s\n", str, strerror(err));
-#endif
-
- switch( err )
- {
- case EOVERFLOW : return DAT_LENGTH_ERROR;
- case EACCES : return DAT_PRIVILEGES_VIOLATION;
- case EPERM : return DAT_PROTECTION_VIOLATION;
- case EINVAL : return DAT_INVALID_HANDLE;
- case EISCONN : return DAT_INVALID_STATE | DAT_INVALID_STATE_EP_CONNECTED;
- case ECONNREFUSED : return DAT_INVALID_STATE | DAT_INVALID_STATE_EP_NOTREADY;
- case ETIMEDOUT : return DAT_TIMEOUT_EXPIRED;
- case ENETUNREACH: return DAT_INVALID_ADDRESS | DAT_INVALID_ADDRESS_UNREACHABLE;
- case EADDRINUSE : return DAT_CONN_QUAL_IN_USE;
- case EALREADY : return DAT_INVALID_STATE | DAT_INVALID_STATE_EP_ACTCONNPENDING;
- case ENOMEM : return DAT_INSUFFICIENT_RESOURCES;
- case EAGAIN : return DAT_QUEUE_EMPTY;
- case EINTR : return DAT_INTERRUPTED_CALL;
- case EAFNOSUPPORT : return DAT_INVALID_ADDRESS | DAT_INVALID_ADDRESS_MALFORMED;
- case EFAULT :
- default : return DAT_INTERNAL_ERROR;
- }
- }
+#endif
#endif /* _DAPL_IB_UTIL_H_ */
diff --git a/dapl/openib_cma/device.c b/dapl/openib_cma/device.c
new file mode 100644
index 0000000..d1a3ab6
--- /dev/null
+++ b/dapl/openib_cma/device.c
@@ -0,0 +1,730 @@
+/*
+ * Copyright (c) 2005-2008 Intel Corporation. All rights reserved.
+ *
+ * This Software is licensed under one of the following licenses:
+ *
+ * 1) under the terms of the "Common Public License 1.0" a copy of which is
+ * available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/cpl.php.
+ *
+ * 2) under the terms of the "The BSD License" a copy of which is
+ * available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/bsd-license.php.
+ *
+ * 3) under the terms of the "GNU General Public License (GPL) Version 2" a
+ * copy of which is available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/gpl-license.php.
+ *
+ * Licensee has the right to choose one of the above licenses.
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice and one of the license notices.
+ *
+ * Redistributions in binary form must reproduce both the above copyright
+ * notice, one of the license notices in the documentation
+ * and/or other materials provided with the distribution.
+ */
+
+/**********************************************************************
+ *
+ * MODULE: dapl_ib_util.c
+ *
+ * PURPOSE: OFED provider - init, open, close, utilities, work thread
+ *
+ * $Id:$
+ *
+ **********************************************************************/
+
+#ifdef RCSID
+static const char rcsid[] = "$Id: $";
+#endif
+
+#include "openib_osd.h"
+#include "dapl.h"
+#include "dapl_adapter_util.h"
+#include "dapl_ib_util.h"
+#include "dapl_osd.h"
+
+#include <stdlib.h>
+
+#ifdef DAT_IB_COLLECTIVES
+#include <collectives/ib_collectives.h>
+#endif
+
+struct rdma_event_channel *g_cm_events = NULL;
+ib_thread_state_t g_ib_thread_state = 0;
+DAPL_OS_THREAD g_ib_thread;
+DAPL_OS_LOCK g_hca_lock;
+struct dapl_llist_entry *g_hca_list;
+
+#if defined(_WIN64) || defined(_WIN32)
+#include <rdma\winverbs.h>
+
+static COMP_SET ufds;
+
+static int dapls_os_init(void)
+{
+ return CompSetInit(&ufds);
+}
+
+static void dapls_os_release(void)
+{
+ CompSetCleanup(&ufds);
+}
+
+static int dapls_config_cm_channel(struct rdma_event_channel *channel)
+{
+ channel->channel.Milliseconds = 0;
+ return 0;
+}
+
+static int dapls_config_verbs(struct ibv_context *verbs)
+{
+ verbs->channel.Milliseconds = 0;
+ return 0;
+}
+
+static int dapls_config_comp_channel(struct ibv_comp_channel *channel)
+{
+ channel->comp_channel.Milliseconds = 0;
+ return 0;
+}
+
+static int dapls_thread_signal(void)
+{
+ CompSetCancel(&ufds);
+ return 0;
+}
+#else // _WIN64 || WIN32
+
+int g_ib_pipe[2];
+
+static int dapls_os_init(void)
+{
+ /* create pipe for waking up work thread */
+ return pipe(g_ib_pipe);
+}
+
+static void dapls_os_release(void)
+{
+ /* close pipe? */
+}
+
+
+static int dapls_config_fd(int fd)
+{
+ int opts;
+
+ opts = fcntl(fd, F_GETFL);
+ if (opts < 0 || fcntl(fd, F_SETFL, opts | O_NONBLOCK) < 0) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " dapls_config_fd: fcntl on fd %d ERR %d %s\n",
+ fd, opts, strerror(errno));
+ return errno;
+ }
+
+ return 0;
+}
+
+static int dapls_config_cm_channel(struct rdma_event_channel *channel)
+{
+ return dapls_config_fd(channel->fd);
+}
+
+static int dapls_config_verbs(struct ibv_context *verbs)
+{
+ return dapls_config_fd(verbs->async_fd);
+}
+
+static int dapls_config_comp_channel(struct ibv_comp_channel *channel)
+{
+ return dapls_config_fd(channel->fd);
+}
+
+static int dapls_thread_signal(void)
+{
+ return write(g_ib_pipe[1], "w", sizeof "w");
+}
+#endif
+
+/* Get IP address using network name, address, or device name */
+static int getipaddr(char *name, char *addr, int len)
+{
+ struct addrinfo *res;
+
+ /* assume netdev for first attempt, then network and address type */
+ if (getipaddr_netdev(name, addr, len)) {
+ if (getaddrinfo(name, NULL, NULL, &res)) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: getaddr_netdev ERROR:"
+ " %s. Is %s configured?\n",
+ strerror(errno), name);
+ return 1;
+ } else {
+ if (len >= res->ai_addrlen)
+ memcpy(addr, res->ai_addr, res->ai_addrlen);
+ else {
+ freeaddrinfo(res);
+ return 1;
+ }
+ freeaddrinfo(res);
+ }
+ }
+
+ dapl_dbg_log(
+ DAPL_DBG_TYPE_UTIL,
+ " getipaddr: family %d port %d addr %d.%d.%d.%d\n",
+ ((struct sockaddr_in *)addr)->sin_family,
+ ((struct sockaddr_in *)addr)->sin_port,
+ ((struct sockaddr_in *)addr)->sin_addr.s_addr >> 0 & 0xff,
+ ((struct sockaddr_in *)addr)->sin_addr.s_addr >> 8 & 0xff,
+ ((struct sockaddr_in *)addr)->sin_addr.s_addr >> 16 & 0xff,
+ ((struct sockaddr_in *)addr)->sin_addr.
+ s_addr >> 24 & 0xff);
+
+ return 0;
+}
+
+/*
+ * dapls_ib_init, dapls_ib_release
+ *
+ * Initialize Verb related items for device open
+ *
+ * Input:
+ * none
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * 0 success, -1 error
+ *
+ */
+DAT_UINT32 g_parent = 0;
+int32_t dapls_ib_init(void)
+{
+ g_parent = dapl_os_getpid();
+
+ /* initialize hca_list lock */
+ dapl_os_lock_init(&g_hca_lock);
+
+ /* initialize hca list for CQ events */
+ dapl_llist_init_head(&g_hca_list);
+
+ if (dapls_os_init())
+ return 1;
+
+ return 0;
+}
+
+int32_t dapls_ib_release(void)
+{
+ /* only parent will cleanup */
+ if (dapl_os_getpid() != g_parent)
+ return 0;
+
+ dapli_ib_thread_destroy();
+ if (g_cm_events != NULL)
+ rdma_destroy_event_channel(g_cm_events);
+ dapls_os_release();
+ return 0;
+}
+
+/*
+ * dapls_ib_open_hca
+ *
+ * Open HCA
+ *
+ * Input:
+ * *hca_name pointer to provider device name
+ * *ib_hca_handle_p pointer to provide HCA handle
+ *
+ * Output:
+ * none
+ *
+ * Return:
+ * DAT_SUCCESS
+ * dapl_convert_errno
+ *
+ */
+DAT_RETURN dapls_ib_open_hca(IN IB_HCA_NAME hca_name, IN DAPL_HCA * hca_ptr)
+{
+ struct rdma_cm_id *cm_id = NULL;
+ union ibv_gid *gid;
+ int ret;
+ DAT_RETURN dat_status;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " open_hca: %s - %p\n", hca_name, hca_ptr);
+
+ /* Setup the global cm event channel */
+ dapl_os_lock(&g_hca_lock);
+ if (g_cm_events == NULL) {
+ g_cm_events = rdma_create_event_channel();
+ if (g_cm_events == NULL) {
+ dapl_dbg_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: ERR - RDMA channel %s\n",
+ strerror(errno));
+ dapl_os_unlock(&g_hca_lock);
+ return DAT_INTERNAL_ERROR;
+ }
+ }
+ dapl_os_unlock(&g_hca_lock);
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " open_hca: RDMA channel created (%p)\n", g_cm_events);
+
+ /* HCA name will be hostname or IP address */
+ if (getipaddr((char *)hca_name,
+ (char *)&hca_ptr->hca_address,
+ sizeof(DAT_SOCK_ADDR6)))
+ return DAT_INVALID_ADDRESS;
+
+ /* cm_id will bind local device/GID based on IP address */
+ if (rdma_create_id(g_cm_events, &cm_id,
+ (void *)hca_ptr, RDMA_PS_TCP)) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: rdma_create ERR %s\n", strerror(errno));
+ return DAT_INTERNAL_ERROR;
+ }
+ ret = rdma_bind_addr(cm_id, (struct sockaddr *)&hca_ptr->hca_address);
+ if ((ret) || (cm_id->verbs == NULL)) {
+ rdma_destroy_id(cm_id);
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: rdma_bind ERR %s."
+ " Is %s configured?\n", strerror(errno), hca_name);
+ return DAT_INVALID_ADDRESS;
+ }
+
+ /* keep reference to IB device and cm_id */
+ hca_ptr->ib_trans.cm_id = cm_id;
+ hca_ptr->ib_hca_handle = cm_id->verbs;
+ dapls_config_verbs(cm_id->verbs);
+ hca_ptr->port_num = cm_id->port_num;
+ hca_ptr->ib_trans.ib_dev = cm_id->verbs->device;
+ hca_ptr->ib_trans.ib_ctx = cm_id->verbs;
+ gid = &cm_id->route.addr.addr.ibaddr.sgid;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " open_hca: ctx=%p port=%d GID subnet %016llx"
+ " id %016llx\n", cm_id->verbs, cm_id->port_num,
+ (unsigned long long)ntohll(gid->global.subnet_prefix),
+ (unsigned long long)ntohll(gid->global.interface_id));
+
+ /* support for EVD's with CNO's: one channel via thread */
+ hca_ptr->ib_trans.ib_cq =
+ ibv_create_comp_channel(hca_ptr->ib_hca_handle);
+ if (hca_ptr->ib_trans.ib_cq == NULL) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: ibv_create_comp_channel ERR %s\n",
+ strerror(errno));
+ rdma_destroy_id(cm_id);
+ return DAT_INTERNAL_ERROR;
+ }
+ if (dapls_config_comp_channel(hca_ptr->ib_trans.ib_cq)) {
+ rdma_destroy_id(cm_id);
+ return DAT_INTERNAL_ERROR;
+ }
+
+ /* set inline max with env or default, get local lid and gid 0 */
+ if (hca_ptr->ib_hca_handle->device->transport_type
+ == IBV_TRANSPORT_IWARP)
+ hca_ptr->ib_trans.max_inline_send =
+ dapl_os_get_env_val("DAPL_MAX_INLINE",
+ INLINE_SEND_IWARP_DEFAULT);
+ else
+ hca_ptr->ib_trans.max_inline_send =
+ dapl_os_get_env_val("DAPL_MAX_INLINE",
+ INLINE_SEND_IB_DEFAULT);
+
+ /* set CM timer defaults */
+ hca_ptr->ib_trans.max_cm_timeout =
+ dapl_os_get_env_val("DAPL_MAX_CM_RESPONSE_TIME",
+ IB_CM_RESPONSE_TIMEOUT);
+ hca_ptr->ib_trans.max_cm_retries =
+ dapl_os_get_env_val("DAPL_MAX_CM_RETRIES", IB_CM_RETRIES);
+
+ /* set default IB MTU */
+ hca_ptr->ib_trans.mtu = dapl_ib_mtu(2048);
+
+ dat_status = dapli_ib_thread_init();
+ if (dat_status != DAT_SUCCESS)
+ return dat_status;
+ /*
+ * Put new hca_transport on list for async and CQ event processing
+ * Wakeup work thread to add to polling list
+ */
+ dapl_llist_init_entry((DAPL_LLIST_ENTRY *) &hca_ptr->ib_trans.entry);
+ dapl_os_lock(&g_hca_lock);
+ dapl_llist_add_tail(&g_hca_list,
+ (DAPL_LLIST_ENTRY *) &hca_ptr->ib_trans.entry,
+ &hca_ptr->ib_trans.entry);
+ if (dapls_thread_signal() == -1)
+ dapl_log(DAPL_DBG_TYPE_UTIL,
+ " open_hca: thread wakeup error = %s\n",
+ strerror(errno));
+ dapl_os_unlock(&g_hca_lock);
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " open_hca: %s, %s %d.%d.%d.%d INLINE_MAX=%d\n", hca_name,
+ ((struct sockaddr_in *)
+ &hca_ptr->hca_address)->sin_family == AF_INET ?
+ "AF_INET" : "AF_INET6",
+ ((struct sockaddr_in *)
+ &hca_ptr->hca_address)->sin_addr.s_addr >> 0 & 0xff,
+ ((struct sockaddr_in *)
+ &hca_ptr->hca_address)->sin_addr.s_addr >> 8 & 0xff,
+ ((struct sockaddr_in *)
+ &hca_ptr->hca_address)->sin_addr.s_addr >> 16 & 0xff,
+ ((struct sockaddr_in *)
+ &hca_ptr->hca_address)->sin_addr.s_addr >> 24 & 0xff,
+ hca_ptr->ib_trans.max_inline_send);
+
+#ifdef DAT_IB_COLLECTIVES
+ if (dapli_create_collective_service(hca_ptr))
+ return DAT_INTERNAL_ERROR;
+#endif
+
+ return DAT_SUCCESS;
+}
+
+/*
+ * dapls_ib_close_hca
+ *
+ * Open HCA
+ *
+ * Input:
+ * DAPL_HCA provide CA handle
+ *
+ * Output:
+ * none
+ *
+ * Return:
+ * DAT_SUCCESS
+ * dapl_convert_errno
+ *
+ */
+DAT_RETURN dapls_ib_close_hca(IN DAPL_HCA * hca_ptr)
+{
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " close_hca: %p->%p\n",
+ hca_ptr, hca_ptr->ib_hca_handle);
+
+#ifdef DAT_IB_COLLECTIVES
+ dapli_free_collective_service(hca_ptr);
+#endif
+
+ dapl_os_lock(&g_hca_lock);
+ if (g_ib_thread_state != IB_THREAD_RUN) {
+ dapl_os_unlock(&g_hca_lock);
+ goto bail;
+ }
+ dapl_os_unlock(&g_hca_lock);
+
+ /*
+ * Remove hca from async event processing list
+ * Wakeup work thread to remove from polling list
+ */
+ hca_ptr->ib_trans.destroy = 1;
+ if (dapls_thread_signal() == -1)
+ dapl_log(DAPL_DBG_TYPE_UTIL,
+ " destroy: thread wakeup error = %s\n",
+ strerror(errno));
+
+ /* wait for thread to remove HCA references */
+ while (hca_ptr->ib_trans.destroy != 2) {
+ if (dapls_thread_signal() == -1)
+ dapl_log(DAPL_DBG_TYPE_UTIL,
+ " destroy: thread wakeup error = %s\n",
+ strerror(errno));
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " ib_thread_destroy: wait on hca %p destroy\n");
+ dapl_os_sleep_usec(1000);
+ }
+bail:
+
+ if (hca_ptr->ib_trans.ib_cq)
+ ibv_destroy_comp_channel(hca_ptr->ib_trans.ib_cq);
+
+ if (hca_ptr->ib_trans.ib_cq_empty) {
+ struct ibv_comp_channel *channel;
+ channel = hca_ptr->ib_trans.ib_cq_empty->channel;
+ ibv_destroy_cq(hca_ptr->ib_trans.ib_cq_empty);
+ ibv_destroy_comp_channel(channel);
+ }
+
+ if (hca_ptr->ib_hca_handle != IB_INVALID_HANDLE) {
+ if (rdma_destroy_id(hca_ptr->ib_trans.cm_id))
+ return (dapl_convert_errno(errno, "ib_close_device"));
+ hca_ptr->ib_hca_handle = IB_INVALID_HANDLE;
+ }
+
+ return (DAT_SUCCESS);
+}
+
+
+DAT_RETURN dapli_ib_thread_init(void)
+{
+ DAT_RETURN dat_status;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " ib_thread_init(%d)\n", dapl_os_getpid());
+
+ dapl_os_lock(&g_hca_lock);
+ if (g_ib_thread_state != IB_THREAD_INIT) {
+ dapl_os_unlock(&g_hca_lock);
+ return DAT_SUCCESS;
+ }
+
+ /* uCMA events non-blocking */
+ if (dapls_config_cm_channel(g_cm_events)) {
+ dapl_os_unlock(&g_hca_lock);
+ return (dapl_convert_errno(errno, "create_thread ERR: cm_fd"));
+ }
+
+ g_ib_thread_state = IB_THREAD_CREATE;
+ dapl_os_unlock(&g_hca_lock);
+
+ /* create thread to process inbound connect request */
+ dat_status = dapl_os_thread_create(dapli_thread, NULL, &g_ib_thread);
+ if (dat_status != DAT_SUCCESS)
+ return (dapl_convert_errno(errno,
+ "create_thread ERR:"
+ " check resource limits"));
+
+ /* wait for thread to start */
+ dapl_os_lock(&g_hca_lock);
+ while (g_ib_thread_state != IB_THREAD_RUN) {
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " ib_thread_init: waiting for ib_thread\n");
+ dapl_os_unlock(&g_hca_lock);
+ dapl_os_sleep_usec(1000);
+ dapl_os_lock(&g_hca_lock);
+ }
+ dapl_os_unlock(&g_hca_lock);
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " ib_thread_init(%d) exit\n", dapl_os_getpid());
+
+ return DAT_SUCCESS;
+}
+
+void dapli_ib_thread_destroy(void)
+{
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " ib_thread_destroy(%d)\n", dapl_os_getpid());
+ /*
+ * wait for async thread to terminate.
+ * pthread_join would be the correct method
+ * but some applications have some issues
+ */
+
+ /* destroy ib_thread, wait for termination, if not already */
+ dapl_os_lock(&g_hca_lock);
+ if (g_ib_thread_state != IB_THREAD_RUN)
+ goto bail;
+
+ g_ib_thread_state = IB_THREAD_CANCEL;
+ while ((g_ib_thread_state != IB_THREAD_EXIT)) {
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " ib_thread_destroy: waiting for ib_thread\n");
+ if (dapls_thread_signal() == -1)
+ dapl_log(DAPL_DBG_TYPE_UTIL,
+ " destroy: thread wakeup error = %s\n",
+ strerror(errno));
+ dapl_os_unlock(&g_hca_lock);
+ dapl_os_sleep_usec(2000);
+ dapl_os_lock(&g_hca_lock);
+ }
+bail:
+ dapl_os_unlock(&g_hca_lock);
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " ib_thread_destroy(%d) exit\n", dapl_os_getpid());
+}
+
+#if defined(_WIN64) || defined(_WIN32)
+/* work thread for uAT, uCM, CQ, and async events */
+void dapli_thread(void *arg)
+{
+ struct _ib_hca_transport *hca;
+ struct _ib_hca_transport *uhca[8];
+ COMP_CHANNEL *channel;
+ int ret, idx, cnt;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " ib_thread(%d,0x%x): ENTER: \n",
+ dapl_os_getpid(), g_ib_thread);
+
+ dapl_os_lock(&g_hca_lock);
+ for (g_ib_thread_state = IB_THREAD_RUN;
+ g_ib_thread_state == IB_THREAD_RUN;
+ dapl_os_lock(&g_hca_lock)) {
+
+ CompSetZero(&ufds);
+ CompSetAdd(&g_cm_events->channel, &ufds);
+
+ idx = 0;
+ hca = dapl_llist_is_empty(&g_hca_list) ? NULL :
+ dapl_llist_peek_head(&g_hca_list);
+
+ while (hca) {
+ CompSetAdd(&hca->ib_ctx->channel, &ufds);
+ CompSetAdd(&hca->ib_cq->comp_channel, &ufds);
+ uhca[idx++] = hca;
+ hca = dapl_llist_next_entry(&g_hca_list,
+ (DAPL_LLIST_ENTRY *)
+ &hca->entry);
+ }
+ cnt = idx;
+
+ dapl_os_unlock(&g_hca_lock);
+ ret = CompSetPoll(&ufds, INFINITE);
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " ib_thread(%d) poll_event 0x%x\n",
+ dapl_os_getpid(), ret);
+
+ dapli_cma_event_cb();
+
+ /* check and process ASYNC events, per device */
+ for (idx = 0; idx < cnt; idx++) {
+ if (uhca[idx]->destroy == 1) {
+ dapl_os_lock(&g_hca_lock);
+ dapl_llist_remove_entry(&g_hca_list,
+ (DAPL_LLIST_ENTRY *)
+ &uhca[idx]->entry);
+ dapl_os_unlock(&g_hca_lock);
+ uhca[idx]->destroy = 2;
+ } else {
+ dapli_cq_event_cb(uhca[idx]);
+ dapli_async_event_cb(uhca[idx]);
+ }
+ }
+ }
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " ib_thread(%d) EXIT\n",
+ dapl_os_getpid());
+ g_ib_thread_state = IB_THREAD_EXIT;
+ dapl_os_unlock(&g_hca_lock);
+}
+#else // _WIN64 || WIN32
+
+/* work thread for uAT, uCM, CQ, and async events */
+void dapli_thread(void *arg)
+{
+ struct pollfd ufds[__FD_SETSIZE];
+ struct _ib_hca_transport *uhca[__FD_SETSIZE] = { NULL };
+ struct _ib_hca_transport *hca;
+ int ret, idx, fds;
+ char rbuf[2];
+
+ dapl_dbg_log(DAPL_DBG_TYPE_THREAD,
+ " ib_thread(%d,0x%x): ENTER: pipe %d ucma %d\n",
+ dapl_os_getpid(), g_ib_thread, g_ib_pipe[0],
+ g_cm_events->fd);
+
+ /* Poll across pipe, CM, AT never changes */
+ dapl_os_lock(&g_hca_lock);
+ g_ib_thread_state = IB_THREAD_RUN;
+
+ ufds[0].fd = g_ib_pipe[0]; /* pipe */
+ ufds[0].events = POLLIN;
+ ufds[1].fd = g_cm_events->fd; /* uCMA */
+ ufds[1].events = POLLIN;
+
+ while (g_ib_thread_state == IB_THREAD_RUN) {
+
+ /* build ufds after pipe and uCMA events */
+ ufds[0].revents = 0;
+ ufds[1].revents = 0;
+ idx = 1;
+
+ /* Walk HCA list and setup async and CQ events */
+ if (!dapl_llist_is_empty(&g_hca_list))
+ hca = dapl_llist_peek_head(&g_hca_list);
+ else
+ hca = NULL;
+
+ while (hca) {
+
+ /* uASYNC events */
+ ufds[++idx].fd = hca->ib_ctx->async_fd;
+ ufds[idx].events = POLLIN;
+ ufds[idx].revents = 0;
+ uhca[idx] = hca;
+
+ /* CQ events are non-direct with CNO's */
+ ufds[++idx].fd = hca->ib_cq->fd;
+ ufds[idx].events = POLLIN;
+ ufds[idx].revents = 0;
+ uhca[idx] = hca;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_THREAD,
+ " ib_thread(%d) poll_fd: hca[%d]=%p,"
+ " async=%d pipe=%d cm=%d \n",
+ dapl_os_getpid(), hca, ufds[idx - 1].fd,
+ ufds[0].fd, ufds[1].fd);
+
+ hca = dapl_llist_next_entry(&g_hca_list,
+ (DAPL_LLIST_ENTRY *)
+ &hca->entry);
+ }
+
+ /* unlock, and setup poll */
+ fds = idx + 1;
+ dapl_os_unlock(&g_hca_lock);
+ ret = poll(ufds, fds, -1);
+ if (ret <= 0) {
+ dapl_dbg_log(DAPL_DBG_TYPE_THREAD,
+ " ib_thread(%d): ERR %s poll\n",
+ dapl_os_getpid(), strerror(errno));
+ dapl_os_lock(&g_hca_lock);
+ continue;
+ }
+
+ dapl_dbg_log(DAPL_DBG_TYPE_THREAD,
+ " ib_thread(%d) poll_event: "
+ " async=0x%x pipe=0x%x cm=0x%x \n",
+ dapl_os_getpid(), ufds[idx].revents,
+ ufds[0].revents, ufds[1].revents);
+
+ /* uCMA events */
+ if (ufds[1].revents == POLLIN)
+ dapli_cma_event_cb();
+
+ /* check and process CQ and ASYNC events, per device */
+ for (idx = 2; idx < fds; idx++) {
+ if (ufds[idx].revents == POLLIN) {
+ dapli_cq_event_cb(uhca[idx]);
+ dapli_async_event_cb(uhca[idx]);
+ }
+ }
+
+ /* check and process user events, PIPE */
+ if (ufds[0].revents == POLLIN) {
+ if (read(g_ib_pipe[0], rbuf, 2) == -1)
+ dapl_log(DAPL_DBG_TYPE_THREAD,
+ " cr_thread: pipe rd err= %s\n",
+ strerror(errno));
+
+ /* cleanup any device on list marked for destroy */
+ for (idx = 3; idx < fds; idx++) {
+ if (uhca[idx] && uhca[idx]->destroy == 1) {
+ dapl_os_lock(&g_hca_lock);
+ dapl_llist_remove_entry(
+ &g_hca_list,
+ (DAPL_LLIST_ENTRY*)
+ &uhca[idx]->entry);
+ dapl_os_unlock(&g_hca_lock);
+ uhca[idx]->destroy = 2;
+ }
+ }
+ }
+ dapl_os_lock(&g_hca_lock);
+ }
+
+ dapl_dbg_log(DAPL_DBG_TYPE_THREAD, " ib_thread(%d) EXIT\n",
+ dapl_os_getpid());
+ g_ib_thread_state = IB_THREAD_EXIT;
+ dapl_os_unlock(&g_hca_lock);
+}
+#endif
diff --git a/dapl/openib_cma/linux/openib_osd.h b/dapl/openib_cma/linux/openib_osd.h
index 309972f..a67018b 100644
--- a/dapl/openib_cma/linux/openib_osd.h
+++ b/dapl/openib_cma/linux/openib_osd.h
@@ -1,6 +1,7 @@
#ifndef OPENIB_OSD_H
#define OPENIB_OSD_H
+#include <rdma/rdma_cma.h>
#include <byteswap.h>
#include <sys/poll.h>
diff --git a/dapl/openib_common/collectives/fca_provider.c b/dapl/openib_common/collectives/fca_provider.c
new file mode 100644
index 0000000..8d504bb
--- /dev/null
+++ b/dapl/openib_common/collectives/fca_provider.c
@@ -0,0 +1,1400 @@
+/*
+ * Copyright (c) 2011 Intel Corporation. All rights reserved.
+ *
+ * This Software is licensed under one of the following licenses:
+ *
+ * 1) under the terms of the "Common Public License 1.0" a copy of which is
+ * in the file LICENSE.txt in the root directory. The license is also
+ * available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/cpl.php.
+ *
+ * 2) under the terms of the "The BSD License" a copy of which is in the file
+ * LICENSE2.txt in the root directory. The license is also available from
+ * the Open Source Initiative, see
+ * http://www.opensource.org/licenses/bsd-license.php.
+ *
+ * 3) under the terms of the "GNU General Public License (GPL) Version 2" a
+ * copy of which is in the file LICENSE3.txt in the root directory. The
+ * license is also available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/gpl-license.php.
+ *
+ * Licensee has the right to choose one of the above licenses.
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice and one of the license notices.
+ *
+ * Redistributions in binary form must reproduce both the above copyright
+ * notice, one of the license notices in the documentation
+ * and/or other materials provided with the distribution.
+ */
+
+/*
+ * Mellanox ConnectX-2 MPI collective offload support - FCA (Fabric Collective Agent)
+ */
+
+#include <dlfcn.h>
+#include "openib_osd.h"
+#include "dapl.h"
+#include "dapl_adapter_util.h"
+#include "dapl_evd_util.h"
+#include "dapl_ib_util.h"
+#include "dapl_ep_util.h"
+#include "dapl_evd_util.h"
+#include "dapl_cookie.h"
+
+#ifdef DAT_IB_COLLECTIVES
+#ifdef DAT_FCA_PROVIDER
+
+#include <dat2/dat_ib_extensions.h>
+#include <collectives/ib_collectives.h>
+
+#define DAT_COLL_SID 0x2234
+
+static char *fca_specfile = "/tmp/fca_spec.ini";
+void *fca_lhandle = NULL;
+
+static struct grp_req {
+ int id;
+ int sockfd;
+ struct grp_req *next;
+} *qhead = NULL, *qtail=NULL;
+
+static int grp_req_queue(int id, int sockfd)
+{
+ struct grp_req *p;
+
+ p = malloc(sizeof *p);
+ if (p==NULL)
+ return -ENOMEM;
+
+ p->id = id;
+ p->sockfd = sockfd;
+ p->next = NULL;
+ if (qtail) {
+ qtail->next = p;
+ qtail = p;
+ }
+ else
+ qhead = qtail = p;
+
+ return 0;
+}
+
+static int grp_req_dequeue(int id)
+{
+ struct grp_req *p, *q;
+ int sockfd = -1;
+
+ p = qhead;
+ q = NULL;
+
+ while (p) {
+ if (p->id == id) {
+ sockfd = p->sockfd;
+ if (q)
+ q->next = p->next;
+ else
+ qhead = p->next;
+
+ if (p == qtail)
+ qtail = q;
+
+ free(p);
+ break;
+ }
+ q = p;
+ p = p->next;
+ }
+ return sockfd;
+}
+
+static int fca_dtype( enum dat_ib_collective_data_type type )
+{
+ int fca_type;
+
+ switch (type) {
+ case DAT_IB_COLLECTIVE_TYPE_INT8:
+ fca_type = FCA_DTYPE_CHAR;
+ break;
+ case DAT_IB_COLLECTIVE_TYPE_UINT8:
+ fca_type = FCA_DTYPE_UNSIGNED_CHAR;
+ break;
+ case DAT_IB_COLLECTIVE_TYPE_INT16:
+ fca_type = FCA_DTYPE_SHORT;
+ break;
+ case DAT_IB_COLLECTIVE_TYPE_UINT16:
+ fca_type = FCA_DTYPE_UNSIGNED_SHORT;
+ break;
+ case DAT_IB_COLLECTIVE_TYPE_INT32:
+ fca_type = FCA_DTYPE_INT;
+ break;
+ case DAT_IB_COLLECTIVE_TYPE_UINT32:
+ fca_type = FCA_DTYPE_UNSIGNED;
+ break;
+ case DAT_IB_COLLECTIVE_TYPE_INT64:
+ fca_type = FCA_DTYPE_LONG;
+ break;
+ case DAT_IB_COLLECTIVE_TYPE_UINT64:
+ fca_type = FCA_DTYPE_UNSIGNED_LONG;
+ break;
+ case DAT_IB_COLLECTIVE_TYPE_FLOAT:
+ fca_type = FCA_DTYPE_FLOAT;
+ break;
+ case DAT_IB_COLLECTIVE_TYPE_DOUBLE:
+ fca_type = FCA_DTYPE_DOUBLE;
+ break;
+ case DAT_IB_COLLECTIVE_TYPE_LONG_DOUBLE:
+ /* no mapping to 128-bit quadruple precision */
+ default:
+ fca_type = FCA_DTYPE_LAST+1; /* unsupported */
+ break;
+ }
+ return fca_type;
+}
+
+static int fca_dsize( enum dat_ib_collective_data_type type )
+{
+ int type_size;
+
+ switch (type) {
+ case DAT_IB_COLLECTIVE_TYPE_INT8:
+ case DAT_IB_COLLECTIVE_TYPE_UINT8:
+ type_size = sizeof(uint8_t);
+ break;
+ case DAT_IB_COLLECTIVE_TYPE_INT16:
+ case DAT_IB_COLLECTIVE_TYPE_UINT16:
+ type_size = sizeof(uint16_t);
+ break;
+ case DAT_IB_COLLECTIVE_TYPE_INT32:
+ case DAT_IB_COLLECTIVE_TYPE_UINT32:
+ type_size = sizeof(uint32_t);
+ break;
+ case DAT_IB_COLLECTIVE_TYPE_INT64:
+ case DAT_IB_COLLECTIVE_TYPE_UINT64:
+ type_size = sizeof(uint64_t);
+ break;
+ case DAT_IB_COLLECTIVE_TYPE_FLOAT:
+ type_size = sizeof(float);
+ break;
+ case DAT_IB_COLLECTIVE_TYPE_DOUBLE:
+ type_size = sizeof(double);
+ break;
+ case DAT_IB_COLLECTIVE_TYPE_LONG_DOUBLE:
+ type_size = sizeof(long double);
+ break;
+ default:
+ type_size = 0;
+ break;
+ }
+
+ return type_size;
+}
+static int fca_op( enum dat_ib_collective_reduce_data_op op )
+{
+ int fop = 0;
+
+ switch (op) {
+ case DAT_IB_COLLECTIVE_REDUCE_OP_MAX: fop = FCA_OP_MAX; break;
+ case DAT_IB_COLLECTIVE_REDUCE_OP_MIN: fop = FCA_OP_MIN; break;
+ case DAT_IB_COLLECTIVE_REDUCE_OP_SUM: fop = FCA_OP_SUM; break;
+ case DAT_IB_COLLECTIVE_REDUCE_OP_PROD: fop = FCA_OP_PROD; break;
+ case DAT_IB_COLLECTIVE_REDUCE_OP_LAND: fop = FCA_OP_LAND; break;
+ case DAT_IB_COLLECTIVE_REDUCE_OP_BAND: fop = FCA_OP_BAND; break;
+ case DAT_IB_COLLECTIVE_REDUCE_OP_LOR: fop = FCA_OP_LOR; break;
+ case DAT_IB_COLLECTIVE_REDUCE_OP_BOR: fop = FCA_OP_BOR; break;
+ case DAT_IB_COLLECTIVE_REDUCE_OP_LXOR: fop = FCA_OP_LXOR; break;
+ case DAT_IB_COLLECTIVE_REDUCE_OP_BXOR: fop = FCA_OP_BXOR; break;
+ case DAT_IB_COLLECTIVE_REDUCE_OP_MAXLOC:fop = FCA_OP_MAXLOC; break;
+ case DAT_IB_COLLECTIVE_REDUCE_OP_MINLOC:fop = FCA_OP_MINLOC; break;
+ }
+ return fop;
+}
+
+/* Progress function for consumer
+ * Will be called from FCA collective operation context
+ * periodically if FCA blocks there for too long.
+ * Don't call with scheduled non-blocking operations
+ */
+void my_progress(void *arg)
+{
+ ib_hca_transport_t *tp = (ib_hca_transport_t *) arg;
+
+ if ((tp->user_func) && (tp->t_id != dapl_os_gettid()) ) {
+ dapl_log(DAPL_DBG_TYPE_THREAD, "calling progress_func(%p)\n",tp);
+ (*tp->user_func)();
+ }
+}
+
+/* forward prototypes */
+DAT_RETURN dapli_free_collective_member(IN DAT_IA_HANDLE ia,
+ IN DAT_IB_COLLECTIVE_MEMBER member);
+
+/******************* Internal Collective Calls **************************/
+
+static int create_service(struct dapl_hca *hca)
+{
+ ib_hca_transport_t *tp = &hca->ib_trans;
+ struct fca_init_spec *fca_spec;
+ struct fca_context *ctx;
+ FILE *fp;
+ int ret;
+
+ /* create an empty spec file if it does not exist */
+ fp = fopen(fca_specfile, "r");
+ if (fp==NULL)
+ fp = fopen(fca_specfile, "w");
+ if (fp)
+ fclose(fp);
+
+ dapl_log(DAPL_DBG_TYPE_EXTENSION, "create_service: enter(%p)\n", tp);
+
+ /* Read INI file into global structures before setting any spec */
+ fca_spec = fca_parse_spec_file(fca_specfile);
+ if (fca_spec == NULL)
+ return 1;
+
+ dapl_log(DAPL_DBG_TYPE_EXTENSION, " fca_init_spec\n");
+ fca_spec->element_type = FCA_ELEMENT_RANK;
+ fca_spec->job_id = 0;
+ fca_spec->rank_id = 0;
+ fca_spec->progress.func = my_progress;
+ fca_spec->progress.arg = tp;
+ if ((ret = fca_init(fca_spec, &ctx)))
+ return 1;
+
+ fca_free_init_spec(fca_spec);
+ tp->m_ctx = ctx;
+
+ return 0;
+}
+
+static int create_member(struct dapl_hca *hca)
+{
+ ib_hca_transport_t *tp = &hca->ib_trans;
+ int size, ret = EFAULT;
+ unsigned short lport = DAT_COLL_SID;
+
+ dapl_log(DAPL_DBG_TYPE_EXTENSION,
+ " create_member: tp=%p, ctx=%p\n", tp, tp->m_ctx);
+
+ if (!tp->m_ctx)
+ goto bail;
+
+ /* FCA address information */
+ tp->f_info = fca_get_rank_info(tp->m_ctx, &size);
+ if (!tp->f_info) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ "create_member: fca_get_rank_info() ERR ret=%s ctx=%p\n",
+ strerror(errno), tp->m_ctx);
+ ret = errno;
+ goto err;
+ }
+
+ tp->m_info = malloc(sizeof(DAT_SOCK_ADDR) + size);
+ if (!tp->m_info) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ "create_member: malloc() ERR ret=%s ctx=%p\n",
+ strerror(errno), tp->m_ctx);
+ fca_free_rank_info(tp->f_info);
+ goto err;
+ }
+ dapl_os_memzero(tp->m_info, sizeof(DAT_SOCK_ADDR) + size);
+
+ if ((tp->l_sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ "create_member: socket() ERR ret=%s \n",
+ strerror(errno));
+ ret = errno;
+ goto err;
+ }
+
+ dapl_log(DAPL_DBG_TYPE_EXTENSION, " create_member listen socket\n");
+
+ /*
+ * only rank0 needs listen, but we don't know who is rank0 yet.
+ * Everyone listen, start on seed port until find one unused
+ */
+ memcpy((void*)&tp->m_addr, (void*)&hca->hca_address, sizeof(DAT_SOCK_ADDR));
+
+ do {
+ tp->m_addr.sin_port = htons(lport++);
+ ret = bind(tp->l_sock,
+ (struct sockaddr *)&tp->m_addr,
+ sizeof(DAT_SOCK_ADDR));
+
+ } while (ret == -1 && errno == EADDRINUSE);
+
+ if (ret == -1)
+ goto err;
+
+ if ((ret = listen(tp->l_sock, 1024)) < 0)
+ goto err;
+
+ dapl_log(DAPL_DBG_TYPE_EXTENSION,
+ "create_member: listen port 0x%x,%d \n",
+ ntohs(tp->m_addr.sin_port),
+ ntohs(tp->m_addr.sin_port));
+
+ /* local fca_info and sock_addr to member buffer for MPI exchange */
+ tp->f_size = size;
+ tp->m_size = size + sizeof(DAT_SOCK_ADDR);
+ memcpy(tp->m_info, tp->f_info, size);
+ memcpy( ((char*)tp->m_info + size), &tp->m_addr, sizeof(DAT_SOCK_ADDR));
+
+ /* free rank info after getting */
+ fca_free_rank_info(tp->f_info);
+ tp->f_info = NULL;
+
+ dapl_log(DAPL_DBG_TYPE_EXTENSION,
+ "create_member: m_ptr=%p, sz=%d exit SUCCESS\n",
+ tp->m_info, tp->m_size);
+
+ return 0;
+err:
+ /* cleanup */
+ if (tp->f_info) {
+ fca_free_rank_info(tp->f_info);
+ tp->f_info = NULL;
+ }
+
+ if (tp->m_info) {
+ free(tp->m_info);
+ tp->m_info = NULL;
+ }
+ if (tp->l_sock > 0)
+ close(tp->l_sock);
+bail:
+ return 1;
+}
+
+static void create_group(struct coll_group *group)
+{
+ int *conn = group->conn;
+ int i, g_id, ret = 0;
+ DAT_IB_EXTENSION_EVENT_DATA eventx;
+
+ dapl_log(DAPL_DBG_TYPE_EXTENSION,
+ " create_grp[%d]: group=%p, id=%d\n",
+ group->self, group, group->id);
+
+ /* group creation event */
+ eventx.status = DAT_IB_COLL_COMP_ERR;
+ eventx.type = DAT_IB_COLLECTIVE_CREATE_DATA;
+ eventx.coll.handle = NULL;
+ eventx.coll.context = group->user_context;
+
+ /* Create and distribute group info and close connections*/
+ if (group->self == 0) {
+
+ /* accept and send all ranks comm_desc info */
+ for (i = 1; i < group->ranks; ) {
+ /* check for queue'd group id request */
+ conn[i] = grp_req_dequeue(group->id);
+ if (conn[i] < 0) {
+ conn[i] = accept(group->tp->l_sock, NULL, NULL);
+ if (conn[i] < 0)
+ goto error;
+
+ /* Validate ID from ranks, all ranks have comm_desc */
+ ret = recv(conn[i], &g_id, sizeof(g_id), 0);
+ if ((ret < 0) || (ret != sizeof(g_id))) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " create_grp[0]: rcv g_id ERR:\n");
+ goto error;
+ }
+ /* no match, queue it for other response */
+ if (g_id != group->id) {
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ " create_grp[0]:"
+ " rcv g_id %d != g_id %d\n",
+ g_id, group->id);
+ grp_req_queue(g_id, conn[i]);
+ continue; /* try conn[i] again */
+ }
+ dapl_log(DAPL_DBG_TYPE_EXTENSION,
+ " create_grp[0]: rcv g_id %d == g_id %d\n",
+ g_id, group->id);
+ }
+
+ /* Group match, send back FCA comm_desc information */
+ ret = send(conn[i], &group->comm_desc, sizeof(group->comm_desc), 0);
+ if (ret < 0) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " create_grp[0]: snd %d comm: ERR:\n", i);
+ goto error;
+ }
+ i++; /* next rank */
+ }
+
+ /* all have comm_desc, close all sockets */
+ for (i = 1; i < group->ranks; ++i)
+ close(conn[i]);
+
+ } else {
+
+ /* first group addr_info entry is rank 0 */
+ dapl_log(DAPL_DBG_TYPE_EXTENSION,
+ " create_grp[%d]: connect -> %s 0x%x \n",
+ group->self, inet_ntoa(group->addr_info->sin_addr),
+ ntohs(group->addr_info->sin_port));
+
+ group->sock = socket(AF_INET, SOCK_STREAM, 0);
+ if (group->sock < 0) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " create_grp: socket() ERR: %s\n",
+ strerror(errno));
+ goto error;
+ }
+ ret = connect(group->sock,
+ (struct sockaddr *)group->addr_info,
+ sizeof(*group->addr_info));
+ if (ret < 0) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " create_grp: connect() ERR: %s\n",
+ strerror(errno));
+ goto error;
+ }
+ /* send group ID to identify with multiple groups */
+ ret = send(group->sock, &group->id, sizeof(group->id), 0);
+ if (ret < 0) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " create_grp: snd() ERR: %s g_id=\n",
+ strerror(errno), group->id);
+ goto error;
+ }
+
+ /* recv FCA comm_desc for this group ID */
+ ret = recv(group->sock, &group->comm_desc, sizeof(group->comm_desc), 0);
+ if ((ret < 0) || (ret != sizeof(group->comm_desc))) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " create_grp: recv() ERR: %s \n",
+ strerror(errno));
+ goto error;
+ }
+
+ /* cleanup socket resources */
+ close(group->sock);
+ group->sock = 0;
+ }
+
+ dapl_log(DAPL_DBG_TYPE_EXTENSION,
+ " create_grp[%d]: fca_comm_init_spec() ranks=%d comm_id=0x%04x"
+ " job_id=0x%lx m_type %d grp_id=%d\n",
+ group->self, group->ranks, group->comm_desc.comm_id,
+ group->comm_desc.job_id, group->comm_desc.comm_maddr.type,
+ group->id);
+
+ dapl_log(DAPL_DBG_TYPE_EXTENSION,
+ " create_grp[%d]: fca_comm_init_spec() m_addr -> "
+ "%02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x "
+ "%02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x\n",
+ group->self,group->comm_desc.comm_maddr.data[0],
+ group->comm_desc.comm_maddr.data[1],
+ group->comm_desc.comm_maddr.data[2],group->comm_desc.comm_maddr.data[3],
+ group->comm_desc.comm_maddr.data[4],group->comm_desc.comm_maddr.data[5],
+ group->comm_desc.comm_maddr.data[6],group->comm_desc.comm_maddr.data[7],
+ group->comm_desc.comm_maddr.data[8],group->comm_desc.comm_maddr.data[9],
+ group->comm_desc.comm_maddr.data[10],group->comm_desc.comm_maddr.data[11],
+ group->comm_desc.comm_maddr.data[12],group->comm_desc.comm_maddr.data[13],
+ group->comm_desc.comm_maddr.data[14],group->comm_desc.comm_maddr.data[15],
+ group->comm_desc.comm_maddr.data[16],group->comm_desc.comm_maddr.data[17],
+ group->comm_desc.comm_maddr.data[18],group->comm_desc.comm_maddr.data[19],
+ group->comm_desc.comm_maddr.data[20],group->comm_desc.comm_maddr.data[21],
+ group->comm_desc.comm_maddr.data[22],group->comm_desc.comm_maddr.data[23],
+ group->comm_desc.comm_maddr.data[24],group->comm_desc.comm_maddr.data[25],
+ group->comm_desc.comm_maddr.data[26],group->comm_desc.comm_maddr.data[27],
+ group->comm_desc.comm_maddr.data[28],group->comm_desc.comm_maddr.data[29],
+ group->comm_desc.comm_maddr.data[30],group->comm_desc.comm_maddr.data[31]);
+
+ /* init communicator, node p_idx and procs, total ranks, all ranks */
+ group->comm_init.desc = group->comm_desc;
+ group->comm_init.rank = group->self;
+ group->comm_init.size = group->ranks;
+ group->comm_init.proc_idx = group->g_info.local_rank;
+ group->comm_init.num_procs = group->g_info.local_size;
+
+ dapl_log(DAPL_DBG_TYPE_EXTENSION,
+ " create_grp[%d]: fca_comm_init() ranks=%d local_rank=%d, local_size%d\n",
+ group->self, group->ranks, group->g_info.local_rank, group->g_info.local_size);
+
+ if (fca_comm_init(group->ctx, &group->comm_init, &group->comm)) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " create_grp: fca_comm_init() ERR: %s",
+ strerror(errno));
+ goto error;
+ }
+ fca_comm_get_caps(group->comm, &group->comm_caps);
+
+ eventx.status = DAT_OP_SUCCESS;
+ eventx.coll.handle = group;
+
+error:
+ dapls_evd_post_event_ext(group->evd, DAT_IB_COLLECTIVE_EVENT, 0, (DAT_UINT64*)&eventx);
+ if (eventx.status != DAT_OP_SUCCESS)
+ dapli_free_collective_group((DAT_IB_COLLECTIVE_HANDLE)group);
+
+ return;
+}
+
+/* worker thread to support non-blocking group creations and operations */
+static void coll_thread(void *arg)
+{
+ struct coll_group *grp, *next;
+ struct dapl_hca *hca = (struct dapl_hca*)arg;
+ ib_hca_transport_t *tp = &hca->ib_trans;
+
+ dapl_os_lock(&tp->coll_lock);
+ tp->coll_thread_state = IB_THREAD_RUN;
+ tp->t_id = dapl_os_gettid();
+
+ if (create_service(hca))
+ goto err;
+
+ if (create_member(hca))
+ goto err;
+
+ while (tp->coll_thread_state == IB_THREAD_RUN) {
+
+ dapl_os_unlock(&tp->coll_lock);
+ dapl_os_wait_object_wait(&tp->coll_event,
+ DAT_TIMEOUT_INFINITE);
+
+ if (!dapl_llist_is_empty(&tp->grp_list))
+ next = dapl_llist_peek_head(&tp->grp_list);
+ else
+ next = NULL;
+
+ while (next) {
+ grp = next;
+ create_group(grp);
+
+ next = dapl_llist_next_entry(&tp->grp_list,
+ (DAPL_LLIST_ENTRY *)
+ &grp->list_entry);
+ dapl_llist_remove_entry(&tp->grp_list,
+ (DAPL_LLIST_ENTRY *)
+ &grp->list_entry);
+ }
+ dapl_os_lock(&tp->coll_lock);
+ }
+err:
+ tp->coll_thread_state = IB_THREAD_EXIT;
+ dapl_os_unlock(&tp->coll_lock);
+}
+
+static DAT_RETURN coll_thread_init(struct dapl_hca *hca)
+{
+ DAT_RETURN dat_status;
+ ib_hca_transport_t *tp = &hca->ib_trans;
+
+ dapl_os_lock(&tp->coll_lock);
+ if (tp->coll_thread_state != IB_THREAD_INIT) {
+ dapl_os_unlock(&tp->coll_lock);
+ return DAT_SUCCESS;
+ }
+ tp->coll_thread_state = IB_THREAD_CREATE;
+ dapl_os_unlock(&tp->coll_lock);
+
+ /* thread to process group comm creation */
+ dat_status = dapl_os_thread_create(coll_thread, (void*)hca, &tp->coll_thread);
+ if (dat_status != DAT_SUCCESS)
+ return (dapl_convert_errno(errno,
+ "create_coll_thread ERR:"
+ " check resource limits"));
+ /* wait for thread to start */
+ dapl_os_lock(&tp->coll_lock);
+ while (tp->coll_thread_state != IB_THREAD_RUN) {
+ dapl_os_unlock(&tp->coll_lock);
+ dapl_os_sleep_usec(2000);
+ dapl_os_lock(&tp->coll_lock);
+ }
+ dapl_os_unlock(&tp->coll_lock);
+
+ return DAT_SUCCESS;
+}
+
+static void coll_thread_destroy(struct dapl_hca *hca)
+{
+ ib_hca_transport_t *tp = &hca->ib_trans;
+
+ dapl_os_lock(&tp->coll_lock);
+ if (tp->coll_thread_state != IB_THREAD_RUN)
+ goto bail;
+
+ tp->coll_thread_state = IB_THREAD_CANCEL;
+ while (tp->coll_thread_state != IB_THREAD_EXIT) {
+ dapl_os_wait_object_wakeup(&tp->coll_event);
+ dapl_os_unlock(&tp->coll_lock);
+ dapl_os_sleep_usec(2000);
+ dapl_os_lock(&tp->coll_lock);
+ }
+bail:
+ dapl_os_unlock(&tp->coll_lock);
+}
+
+/******************* External Collective Calls **************************/
+
+/* Create context for FCA, get adapter and port from hca_ptr */
+int dapli_create_collective_service(IN struct dapl_hca *hca)
+{
+ ib_hca_transport_t *tp = &hca->ib_trans;
+
+ dapl_os_lock_init(&tp->coll_lock);
+ dapl_llist_init_head(&tp->grp_list);
+ dapl_os_wait_object_init(&tp->coll_event);
+
+ /* non-blocking, FCA calls in work thread */
+ if (coll_thread_init(hca))
+ return 1;
+
+ return 0;
+}
+
+void dapli_free_collective_service(IN struct dapl_hca *hca)
+{
+ ib_hca_transport_t *tp = &hca->ib_trans;
+
+ if (tp->m_ctx) {
+ fca_cleanup(tp->m_ctx);
+ tp->m_ctx = NULL;
+ }
+
+ coll_thread_destroy(hca);
+ dapl_os_wait_object_destroy(&tp->coll_event);
+}
+
+DAT_RETURN
+dapli_create_collective_member( IN DAT_IA_HANDLE ia,
+ IN void *progress_func,
+ OUT DAT_COUNT *member_size,
+ OUT DAT_IB_COLLECTIVE_MEMBER *member )
+{
+ struct dapl_hca *hca = ((DAPL_IA*)ia)->hca_ptr;
+ ib_hca_transport_t *tp = &hca->ib_trans;
+
+ dapl_log(DAPL_DBG_TYPE_EXTENSION,
+ "create_member: hca=%p, psz=%p pmem=%p tp=%p, ctx=%p\n",
+ hca, member_size, member, tp, tp->m_ctx);
+
+ if (!tp->m_ctx)
+ return DAT_INVALID_PARAMETER;
+
+ /* copy out member info, initialized in create_service */
+ *member_size = tp->m_size;
+ *member = tp->m_info;
+
+ /* set the progress function, called during long offload delays */
+ tp->user_func = progress_func;
+
+ return DAT_SUCCESS;
+}
+
+DAT_RETURN
+dapli_free_collective_member( IN DAT_IA_HANDLE ia,
+ IN DAT_IB_COLLECTIVE_MEMBER member )
+{
+ struct dapl_hca *hca = ((DAPL_IA*)ia)->hca_ptr;
+ ib_hca_transport_t *tp = &hca->ib_trans;
+
+ dapl_log(DAPL_DBG_TYPE_EXTENSION,
+ "free_member: enter hca=%p, member=%p \n",
+ hca, member);
+
+ if ((member == NULL) || (member != tp->m_info))
+ return DAT_INVALID_PARAMETER;
+
+ /* release FCA info */
+ if (tp->f_info) {
+ fca_free_rank_info(tp->f_info);
+ tp->f_info = NULL;
+ }
+
+ /* free member buffer */
+ if (tp->m_info) {
+ free(tp->m_info);
+ tp->m_info = NULL;
+ }
+
+ if (tp->l_sock > 0)
+ close(tp->l_sock);
+
+ return DAT_SUCCESS;
+}
+
+/*
+ * This asynchronous call initiates the process of creating a collective
+ * group and must be called by all group members. The collective_group
+ * argument points to an array of address/connection qualifier pairs that
+ * identify the members of the group in rank order. The group_size argument
+ * specifies the size of the group and therefore the size of the coll_group
+ * array. The self argument identifies the rank of the caller.
+ * The group_id argument specifies a network-unique identifier for this
+ * instance of the collective group. All members of the group must specify
+ * the same group_id value for the same collective instance. The evd_handle
+ * argument specifies the EVD used for all asynchronous collective completions
+ * including this call. The user_context argument will be returned in the
+ * DAT_EXT_COLLECTIVE_CREATE_DATA event.
+ *
+ * On a successful completion, each group member will receive a
+ * DAT_EXT_COLLECTIVE_CREATE_DATA event on the EVD specified by evd_handle.
+ * The event contains the collective handle, the rank of the receiving
+ * endpoint within the collective group, the size of the group, and the
+ * caller specified user_context. The returned collective handle can be used
+ * in network clock, multicast, and other collective operations.
+ *
+ * Multiple collective groups can be defined and an endpoint may belong
+ * to more than one collective group.
+ */
+DAT_RETURN
+dapli_create_collective_group(
+ IN DAT_EVD_HANDLE evd_handle,
+ IN DAT_PZ_HANDLE pz,
+ IN DAT_IB_COLLECTIVE_MEMBER *members,
+ IN DAT_COUNT ranks,
+ IN DAT_IB_COLLECTIVE_RANK self,
+ IN DAT_IB_COLLECTIVE_ID id,
+ IN DAT_IB_COLLECTIVE_GROUP *g_info,
+ IN DAT_CONTEXT user_ctx)
+{
+ DAPL_EVD *evd = (DAPL_EVD*)evd_handle;
+ DAPL_IA *ia;
+ ib_hca_transport_t *tp;
+ struct coll_group *group;
+ DAT_RETURN dat_status;
+ int i;
+
+ dapl_log(DAPL_DBG_TYPE_EXTENSION,
+ " create_grp[%d]: enter evd=%p cq=%p pz=%p "
+ "m=%p *m=%p t_ranks=%d g_id=%d l_idx=%d l_ranks=%d\n",
+ self, evd, evd->ib_cq_handle, pz,
+ members, *members, ranks, id, g_info->local_rank,
+ g_info->local_size);
+
+ /* Validate EVD handle, extended flag MUST be set */
+ if (DAPL_BAD_HANDLE(evd, DAPL_MAGIC_EVD) ||
+ DAPL_BAD_HANDLE(pz, DAPL_MAGIC_PZ))
+ return(dapl_convert_errno(EINVAL, " coll_grp"));
+
+ ia = (DAPL_IA*)evd->header.owner_ia;
+ tp = &ia->hca_ptr->ib_trans;
+
+ /* Allocate group object */
+ group = (struct coll_group *)dapl_os_alloc(sizeof(*group));
+ if (!group)
+ return(dapl_convert_errno(ENOMEM," create_grp"));
+ dapl_os_memzero(group, sizeof(*group));
+
+ /* Initialize the header and save group info, COLLECTIVE handle */
+ group->header.provider = ia->header.provider;
+ group->header.handle_type = DAT_IB_HANDLE_TYPE_COLLECTIVE;
+ group->header.magic = DAPL_MAGIC_COLL;
+ group->header.owner_ia = ia;
+ group->user_context = user_ctx;
+ group->evd = (DAPL_EVD*)evd;
+ group->pz = (DAPL_PZ*)pz;
+ group->ranks = ranks;
+ group->id = id;
+ group->self = self;
+ group->ctx = tp->m_ctx;
+ group->tp = tp;
+
+ /* Rank0 connected sockets for group, to exchange information */
+ if (self == 0) {
+ group->conn = (int *)dapl_os_alloc(ranks * sizeof(*group->conn));
+ if (group->conn == NULL)
+ return(dapl_convert_errno(ENOMEM," create_grp connections"));
+ dapl_os_memzero(group->conn, ranks * sizeof(*group->conn));
+ }
+
+ /* need FCA information in array for new comm group call */
+ group->fca_info = dapl_os_alloc(ranks * tp->f_size);
+ if (!group->fca_info ) {
+ dapl_os_free(group, sizeof(struct coll_group));
+ return(dapl_convert_errno(ENOMEM," create_grp fca_info"));
+ }
+ dapl_os_memzero(group->fca_info, ranks * tp->f_size);
+
+ /* need FCA information in array for new comm group call */
+ group->addr_info = (struct sockaddr_in*)dapl_os_alloc(ranks * sizeof(struct sockaddr_in));
+ if (!group->addr_info) {
+ dapl_os_free(group->fca_info, ranks * tp->f_size);
+ dapl_os_free(group, sizeof(struct coll_group));
+ return(dapl_convert_errno(ENOMEM," create_grp fca_info"));
+ }
+ dapl_os_memzero(group->addr_info, ranks * sizeof(struct sockaddr_in));
+
+ /* Separate group member info into Address and FCA arrays */
+ for (i=0; i<ranks; i++) {
+ memcpy((void*) ((char*)group->fca_info + (i * tp->f_size)),
+ (void*) *(members + i),
+ tp->f_size);
+ memcpy((void*) ((char*)group->addr_info + (i * sizeof(struct sockaddr_in))),
+ (void*) ((char*)(*(members + i)) + tp->f_size),
+ sizeof(struct sockaddr_in));
+ }
+
+ /* Intranode and Internode process layout info */
+ group->g_info = *g_info;
+
+ if (group->self == 0) {
+ /* rank 0 - create new communicator */
+ group->comm_new.rank_info = group->fca_info;
+ group->comm_new.rank_count = group->ranks;
+ group->comm_new.is_comm_world = 0; /* FIX */
+
+ dapl_log(DAPL_DBG_TYPE_EXTENSION,
+ " create_grp[%d]: calling comm_new..\n", group->self);
+
+ if (fca_comm_new(group->ctx, &group->comm_new, &group->comm_desc)) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " create_grp: fca_comm_new() ERR: %s",
+ strerror(errno));
+ dat_status = dapl_convert_errno(errno, " fca_comm_new");
+ goto error;
+ }
+ }
+
+ /* initialize all lists, events, etc */
+ dapl_llist_init_entry((DAPL_LLIST_ENTRY *)&group->list_entry);
+ dapl_llist_init_head(&group->op_free);
+ dapl_llist_init_head(&group->op_pend);
+ dapl_os_wait_object_init(&group->op_event);
+
+ /* allocate object pool for non-blocking collective operations */
+ group->op_pool = (struct coll_op *)dapl_os_alloc(sizeof(struct coll_op) * COLL_OP_CNT);
+ if (!group->op_pool)
+ return(dapl_convert_errno(ENOMEM," create_grp"));
+ dapl_os_memzero(group->op_pool, sizeof(*group));
+
+ /* non-blocking, schedule on work thread */
+ dapl_os_lock(&tp->coll_lock);
+ dapl_llist_add_tail(&tp->grp_list, (DAPL_LLIST_ENTRY *)&group->list_entry, group);
+ dapl_os_unlock(&tp->coll_lock);
+ dapl_os_wait_object_wakeup(&tp->coll_event);
+
+ return DAT_SUCCESS;
+error:
+ /* clean up partial group */
+ dapli_free_collective_group((DAT_IB_COLLECTIVE_HANDLE)group);
+ return(dat_status);
+};
+
+
+/*
+ * This synchronous call destroys a previously created collective group
+ * associated with the collective_handle argument. Any pending or
+ * in-process requests associated with the collective group will be
+ * terminated and be posted to the appropriate EVD.
+ */
+DAT_RETURN
+dapli_free_collective_group(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle)
+{
+ struct coll_group *group = (struct coll_group *)coll_handle;
+
+ if (DAPL_BAD_HANDLE(coll_handle, DAPL_MAGIC_COLL))
+ return(dapl_convert_errno(EINVAL, " free_grp"));
+
+ dapl_log(DAPL_DBG_TYPE_EXTENSION,
+ " free_coll_group[%d]: pz=%p gp=%p complete!\n",
+ group->self, group->pz, group );
+
+ /* reset magic and free memory */
+ group->header.magic = DAPL_MAGIC_INVALID;
+
+ /* free client socket resources */
+ if (group->sock)
+ close(group->sock);
+
+ if (group->conn)
+ dapl_os_free(group->conn,
+ group->ranks *
+ sizeof(*group->conn));
+
+ /* FCA and address info arrays */
+ if (group->fca_info)
+ dapl_os_free(group->fca_info,
+ group->ranks *
+ group->tp->m_size);
+ if (group->addr_info)
+ dapl_os_free(group->addr_info,
+ group->ranks *
+ group->tp->m_size);
+
+ fca_comm_destroy(group->comm);
+
+ if (group->self == 0)
+ fca_comm_end(group->ctx, group->comm_desc.comm_id);
+
+ dapl_os_free(group, sizeof(struct coll_group));
+
+ return DAT_SUCCESS;
+};
+
+/*
+ * This call will synchronize all endpoints of the collective
+ * group specified by coll_handle. This is an asynchronous call that
+ * will post a completion to the collective EVD when all endpoints
+ * have synchronized.
+ */
+DAT_RETURN
+dapli_collective_barrier(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_DTO_COOKIE user_context,
+ IN DAT_COMPLETION_FLAGS comp_flags)
+{
+ DAT_IB_EXTENSION_EVENT_DATA eventx;
+ struct coll_group *group = (struct coll_group *)coll_handle;
+ int ret;
+
+ if (DAPL_BAD_HANDLE(coll_handle, DAPL_MAGIC_COLL))
+ return(dapl_convert_errno(EINVAL, " barrier"));
+
+ dapl_log(DAPL_DBG_TYPE_EXTENSION,
+ " coll_barrer: grp_hndl=%p u_ctx=%llx flgs=%d\n",
+ coll_handle, user_context, comp_flags);
+
+ ret = fca_do_barrier(group->comm);
+ if (ret < 0)
+ return(dapl_convert_errno(-ret, " fca_barrier"));
+
+ /* setup and post successful barrier, make sync for now */
+ eventx.type = DAT_IB_COLLECTIVE_BARRIER_STATUS;
+ eventx.status = DAT_OP_SUCCESS;
+ eventx.coll.handle = group;
+ eventx.coll.context = user_context;
+ dapls_evd_post_event_ext(group->evd, DAT_IB_COLLECTIVE_EVENT, 0, (DAT_UINT64*)&eventx);
+
+ return DAT_SUCCESS;
+};
+
+/*
+ * This call performs a broadcast send operation that transfers
+ * data specified by the buffer argument of the root into the buffer argument
+ * of all other endpoints in the collective group specified by coll_handle.
+ * The operation is completed on the collective EVD unless completions are
+ * suppressed through the completion flags. All broadcasts are considered
+ * �in place� transfers. The tables below show the result of a broadcast
+ * operation.
+ */
+DAT_RETURN
+dapli_collective_broadcast(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID buffer,
+ IN DAT_COUNT byte_count,
+ IN DAT_IB_COLLECTIVE_RANK root,
+ IN DAT_CONTEXT user_context,
+ IN DAT_COMPLETION_FLAGS comp_flags)
+{
+ DAT_IB_EXTENSION_EVENT_DATA eventx;
+ struct coll_group *group = (struct coll_group *)coll_handle;
+ struct fca_bcast_spec bcast;
+ int ret;
+
+ if (DAPL_BAD_HANDLE(coll_handle, DAPL_MAGIC_COLL))
+ return(dapl_convert_errno(EINVAL, " fca_bcast"));
+
+ dapl_log(DAPL_DBG_TYPE_EXTENSION,
+ " coll_bcast[%d]: group=%p buf=%p size=%d root=%d"
+ " ctxt=%llx flgs=%d\n",
+ group->self, coll_handle, buffer, byte_count, root,
+ user_context, comp_flags );
+
+ /* Run FCA BCAST, if */
+ bcast.root = root;
+ bcast.buf = buffer;
+ bcast.size = byte_count;
+
+ ret = fca_do_bcast(group->comm, &bcast);
+ if (ret < 0)
+ return(dapl_convert_errno(-ret, " fca_bcast"));
+
+ /* setup and post successful bcast, make sync for now */
+ eventx.type = DAT_IB_COLLECTIVE_BROADCAST_STATUS;
+ eventx.status = DAT_OP_SUCCESS;
+ eventx.coll.handle = group;
+ eventx.coll.context = user_context;
+ dapls_evd_post_event_ext(group->evd, DAT_IB_COLLECTIVE_EVENT, 0, (DAT_UINT64*)&eventx);
+
+ return DAT_SUCCESS;
+};
+
+
+DAT_RETURN
+dapli_collective_reduce(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID snd_buf,
+ IN DAT_COUNT snd_len,
+ IN DAT_PVOID rcv_buf,
+ IN DAT_COUNT rcv_len,
+ IN DAT_IB_COLLECTIVE_REDUCE_DATA_OP op,
+ IN DAT_IB_COLLECTIVE_DATA_TYPE type,
+ IN DAT_IB_COLLECTIVE_RANK root,
+ IN DAT_CONTEXT user_context,
+ IN DAT_COMPLETION_FLAGS comp_flags)
+{
+ DAT_IB_EXTENSION_EVENT_DATA eventx;
+ struct coll_group *group = (struct coll_group *)coll_handle;
+ fca_reduce_spec_t reduce;
+ int ret;
+
+ dapl_log(DAPL_DBG_TYPE_EXTENSION,
+ " coll_reduce[%d]: group=%p sbuf=%p slen=%d rbuf=%p rlen=%d"
+ " root=%d op=%d type=%d ctxt=%llx cflgs=%d\n",
+ group->self, coll_handle, snd_buf, snd_len,
+ rcv_buf, rcv_len, root, op, type,
+ user_context, comp_flags );
+
+ if (DAPL_BAD_HANDLE(coll_handle, DAPL_MAGIC_COLL))
+ return(dapl_convert_errno(EINVAL, " reduce"));
+
+ reduce.root = root;
+ reduce.sbuf = snd_buf;
+ reduce.rbuf = rcv_buf;
+ reduce.buf_size = snd_len; /* bytes */
+ reduce.dtype = fca_dtype(type);
+ reduce.length = snd_len/fca_dsize(type); /* bytes to elements */
+ reduce.op = fca_op(op);
+
+ if (group->self == root && snd_buf == NULL) /* MPI_IN_PLACE */
+ reduce.sbuf = rcv_buf;
+
+ ret = fca_do_reduce(group->comm, &reduce);
+ if (ret < 0)
+ return(dapl_convert_errno(-ret, " fca_reduce"));
+
+ /* setup and post successful reduce, make sync for now */
+ eventx.type = DAT_IB_COLLECTIVE_REDUCE_STATUS;
+ eventx.status = DAT_OP_SUCCESS;
+ eventx.coll.handle = group;
+ eventx.coll.context = user_context;
+ dapls_evd_post_event_ext(group->evd, DAT_IB_COLLECTIVE_EVENT, 0, (DAT_UINT64*)&eventx);
+
+ return DAT_SUCCESS;
+}
+
+DAT_RETURN
+dapli_collective_allreduce(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID snd_buf,
+ IN DAT_COUNT snd_len,
+ IN DAT_PVOID rcv_buf,
+ IN DAT_COUNT rcv_len,
+ IN DAT_IB_COLLECTIVE_REDUCE_DATA_OP op,
+ IN DAT_IB_COLLECTIVE_DATA_TYPE type,
+ IN DAT_CONTEXT user_context,
+ IN DAT_COMPLETION_FLAGS comp_flags)
+{
+ DAT_IB_EXTENSION_EVENT_DATA eventx;
+ struct coll_group *group = (struct coll_group *)coll_handle;
+ fca_reduce_spec_t reduce;
+ int ret;
+
+ dapl_log(DAPL_DBG_TYPE_EXTENSION,
+ " coll_allreduce[%d]: group=%p sbuf=%p slen=%d,%d rbuf=%p rlen=%d"
+ " op=%d type=%d ctxt=%llx cflgs=%d\n",
+ group->self, coll_handle, snd_buf, snd_len,
+ snd_len/fca_dsize(type),
+ rcv_buf, rcv_len, op, type,
+ user_context, comp_flags );
+
+ reduce.root = 0; /* ignored for allreduce */
+ reduce.sbuf = snd_buf;
+ reduce.rbuf = rcv_buf;
+ reduce.buf_size = snd_len; /* bytes */
+ reduce.dtype = fca_dtype(type);
+ reduce.length = snd_len/fca_dsize(type); /* bytes to elements */
+ reduce.op = fca_op(op);
+
+ if (snd_buf == NULL) /* MPI_IN_PLACE */
+ reduce.sbuf = rcv_buf;
+
+ ret = fca_do_all_reduce(group->comm, &reduce);
+ if (ret < 0)
+ return(dapl_convert_errno(-ret, " fca_allreduce"));
+
+ /* setup and post successful reduce, make sync for now */
+ eventx.type = DAT_IB_COLLECTIVE_ALLREDUCE_STATUS;
+ eventx.status = DAT_OP_SUCCESS;
+ eventx.coll.handle = group;
+ eventx.coll.context = user_context;
+ dapls_evd_post_event_ext(group->evd, DAT_IB_COLLECTIVE_EVENT, 0, (DAT_UINT64*)&eventx);
+
+ return DAT_SUCCESS;
+}
+
+/*
+ * This call performs a scatter of the data specified by the
+ * send_buffer argument to the collective group specified by coll_handle.
+ * Data is received in the buffer specified by the recv_buffer argument.
+ * The recv_byte_count argument specifies the size of the receive buffer.
+ * Data from the root send_buffer will be divided by the number of members
+ * in the collective group to form equal and contiguous memory partitions.
+ * Each member of the collective group will receive its rank relative
+ * partition. An error is returned if the send_byte_count does not describe
+ * memory that can be evenly divided by the size of the collective group.
+ * An �in place� transfer for the root rank can be indicated by passing NULL
+ * as the recv_buffer argument. The send_buffer and send_byte_count
+ * arguments are ignored on non-root members. The operation is completed on
+ * the collective EVD unless completions are suppressed through the
+ * completion flags.
+ */
+DAT_RETURN
+dapli_collective_scatter(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID snd_buf,
+ IN DAT_COUNT snd_len,
+ IN DAT_PVOID rcv_buf,
+ IN DAT_COUNT rcv_len,
+ IN DAT_IB_COLLECTIVE_RANK root,
+ IN DAT_CONTEXT context,
+ IN DAT_COMPLETION_FLAGS comp_flags)
+{
+ return DAT_NOT_IMPLEMENTED;
+}
+
+/*
+ * This call performs a non-uniform scatter of the data
+ * specified by the send_buffers array argument to the collective group
+ * specified by coll_handle. The send_buffers array contains one buffer
+ * pointer for each member of the collective group, in rank order.
+ * The send_byte_counts array contains a byte count for each corresponding
+ * send buffer pointer. The recv_buffer and recev_byte_count arguments
+ * specify where received portions of the scatter are to be received.
+ * An �in place� transfer for the root rank can be indicated by passing
+ * NULL as the recv_buffer argument. The send_buffers and send_byte_counts
+ * arguments are ignored on non-root members. The operation is completed
+ * on the collective EVD unless completions are suppressed through the
+ * completion flags.
+ */
+DAT_RETURN
+dapli_collective_scatterv(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID *snd_bufs,
+ IN DAT_COUNT *snd_lens,
+ IN DAT_COUNT *displs,
+ IN DAT_PVOID rcv_buf,
+ IN DAT_COUNT rcv_len,
+ IN DAT_IB_COLLECTIVE_RANK root,
+ IN DAT_CONTEXT context,
+ IN DAT_COMPLETION_FLAGS comp_flags)
+{
+ return DAT_NOT_IMPLEMENTED;
+}
+
+/*
+ * This call performs a gather of the data sent by all
+ * members of the collective specified by the collective_handle argument.
+ * The data to be sent is specified by the send_buffer and send_byte_count
+ * arguments. Data is received by the collective member specified by the
+ * root argument in the buffer specified by the recv_buffer and
+ * recv_byte_count arguments. Data is placed into the receive buffer in
+ * collective rank order. An �in place� transfer for the root rank can
+ * be indicated by passing NULL as the send_buffer argument.
+ * The recv_buffer and recv_byte_count arguments are ignored on non-root
+ * members. The operation is completed on the collective EVD unless
+ * completions are suppressed through the completion flags.
+ */
+DAT_RETURN
+dapli_collective_gather(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID snd_buf,
+ IN DAT_COUNT snd_len,
+ IN DAT_PVOID rcv_buf,
+ IN DAT_COUNT rcv_len,
+ IN DAT_IB_COLLECTIVE_RANK root,
+ IN DAT_CONTEXT context,
+ IN DAT_COMPLETION_FLAGS comp_flags)
+{
+ return DAT_NOT_IMPLEMENTED;
+}
+
+/*
+ * This call performs a non-uniform gather of the data sent by
+ * all members of the collective specified by the collective_handle argument.
+ * The data to be sent is specified by the send_buffer and send_byte_count
+ * arguments. Data is received by the collective member specified by the
+ * root argument into the buffers specified by the recv_buffers and
+ * recv_byte_counts array arguments. Data is placed into the receive buffer
+ * associated with the rank that sent it. An �in place� transfer for the root
+ * rank can be indicated by passing NULL as the send_buffer argument.
+ * The recv_buffers and recv_byte_counts arguments are ignored on non-root
+ * members. The operation is completed on the collective EVD unless
+ * completions are suppressed through the completion flags.
+ */
+
+DAT_RETURN
+dapli_collective_gatherv(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID snd_buf,
+ IN DAT_COUNT snd_len,
+ IN DAT_PVOID *rcv_bufs,
+ IN DAT_COUNT *rcv_lens,
+ IN DAT_COUNT *displs,
+ IN DAT_IB_COLLECTIVE_RANK root,
+ IN DAT_CONTEXT context,
+ IN DAT_COMPLETION_FLAGS comp_flags)
+{
+ return DAT_NOT_IMPLEMENTED;
+}
+
+/*
+ * This call is equivalent to having all members of a collective
+ * group perform a dat_collective_gather() as the root. This results in all
+ * members of the collective having identical contents in their receive buffer
+ */
+DAT_RETURN
+dapli_collective_allgather(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID snd_buf,
+ IN DAT_COUNT snd_len,
+ IN DAT_PVOID rcv_buf,
+ IN DAT_COUNT rcv_len,
+ IN DAT_CONTEXT user_context,
+ IN DAT_COMPLETION_FLAGS comp_flags)
+{
+ DAT_IB_EXTENSION_EVENT_DATA eventx;
+ struct coll_group *group = (struct coll_group *)coll_handle;
+ fca_gather_spec_t gather;
+ int ret;
+
+ dapl_log(DAPL_DBG_TYPE_EXTENSION,
+ " coll_allgather[%d]: group=%p sbuf=%p slen=%d rbuf=%p rlen=%d"
+ " ctxt=%llx cflgs=%d\n",
+ group->self, coll_handle, snd_buf, snd_len,
+ rcv_buf, rcv_len, user_context, comp_flags );
+
+ gather.sbuf = snd_buf;
+ gather.size = snd_len;
+ gather.rbuf = rcv_buf;
+
+ if (snd_buf == NULL) /* MPI_IN_PLACE */
+ gather.sbuf = rcv_buf + rcv_len * group->self;
+
+ ret = fca_do_allgather(group->comm, &gather);
+ if (ret < 0)
+ return(dapl_convert_errno(-ret, " fca_allreduce"));
+
+ /* setup and post successful reduce, make sync for now */
+ eventx.type = DAT_IB_COLLECTIVE_ALLGATHER_STATUS;
+ eventx.status = DAT_OP_SUCCESS;
+ eventx.coll.handle = group;
+ eventx.coll.context = user_context;
+ dapls_evd_post_event_ext(group->evd, DAT_IB_COLLECTIVE_EVENT, 0, (DAT_UINT64*)&eventx);
+
+ return DAT_SUCCESS;
+}
+
+/*
+ * This call performs a non-uniform dat_collective_allgather()
+ * operation. It is equivalent to having all members of a collective group
+ * perform a dat_collective_gatherv() as the root. This results in all
+ * members of the collective having identical contents in their receive
+ * buffer.
+ */
+DAT_RETURN
+dapli_collective_allgatherv(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID snd_buf,
+ IN DAT_COUNT snd_len,
+ IN DAT_PVOID *rcv_bufs,
+ IN DAT_COUNT *rcv_lens,
+ IN DAT_COUNT *displs,
+ IN DAT_CONTEXT user_context,
+ IN DAT_COMPLETION_FLAGS comp_flags)
+{
+ DAT_IB_EXTENSION_EVENT_DATA eventx;
+ struct coll_group *group = (struct coll_group *)coll_handle;
+ fca_gatherv_spec_t gatherv;
+ int ret;
+
+ dapl_log(DAPL_DBG_TYPE_EXTENSION,
+ " coll_gather[%d]: group=%p sbuf=%p slen=%d rbufs=%p rlens=%p"
+ " displs=%p ctxt=%llx cflgs=%d\n",
+ group->self, coll_handle, snd_buf, snd_len,
+ rcv_bufs, rcv_lens, displs, user_context, comp_flags );
+
+ gatherv.sbuf = snd_buf;
+ gatherv.sendsize = snd_len;
+ gatherv.rbuf = rcv_bufs;
+ gatherv.recvsizes = rcv_lens;
+ gatherv.displs = displs;
+
+ if (snd_buf == NULL) /* MPI_IN_PLACE */
+ gatherv.sbuf = rcv_bufs + displs[group->self];
+
+ ret = fca_do_allgatherv(group->comm, &gatherv);
+ if (ret < 0)
+ return(dapl_convert_errno(-ret, " fca_allreduce"));
+
+ /* setup and post successful reduce, make sync for now */
+ eventx.type = DAT_IB_COLLECTIVE_ALLGATHER_STATUS;
+ eventx.status = DAT_OP_SUCCESS;
+ eventx.coll.handle = group;
+ eventx.coll.context = user_context;
+ dapls_evd_post_event_ext(group->evd, DAT_IB_COLLECTIVE_EVENT, 0, (DAT_UINT64*)&eventx);
+
+ return DAT_SUCCESS;
+}
+
+DAT_RETURN
+dapli_collective_alltoall(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID snd_buf,
+ IN DAT_COUNT snd_len,
+ IN DAT_PVOID rcv_buf,
+ IN DAT_COUNT rcv_len,
+ IN DAT_CONTEXT context,
+ IN DAT_COMPLETION_FLAGS comp_flags)
+{
+ return DAT_NOT_IMPLEMENTED;
+}
+
+DAT_RETURN
+dapli_collective_alltoallv(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID *snd_bufs,
+ IN DAT_COUNT *snd_lens,
+ IN DAT_COUNT *snd_displs,
+ IN DAT_PVOID *rcv_bufs,
+ IN DAT_COUNT *rcv_lens,
+ IN DAT_COUNT *rcv_displs,
+ IN DAT_CONTEXT context,
+ IN DAT_COMPLETION_FLAGS comp_flags)
+{
+ return DAT_NOT_IMPLEMENTED;
+}
+
+DAT_RETURN
+dapli_collective_reduce_scatter(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID snd_buf,
+ IN DAT_COUNT snd_len,
+ IN DAT_PVOID rcv_buf,
+ IN DAT_COUNT *rcv_lens,
+ IN DAT_IB_COLLECTIVE_REDUCE_DATA_OP op,
+ IN DAT_IB_COLLECTIVE_DATA_TYPE type,
+ IN DAT_CONTEXT user_context,
+ IN DAT_COMPLETION_FLAGS comp_flags)
+{
+ return DAT_NOT_IMPLEMENTED;
+}
+
+DAT_RETURN
+dapli_collective_scan(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID snd_buf,
+ IN DAT_COUNT snd_len,
+ IN DAT_PVOID rcv_buf,
+ IN DAT_COUNT rcv_len,
+ IN DAT_IB_COLLECTIVE_REDUCE_DATA_OP op,
+ IN DAT_IB_COLLECTIVE_DATA_TYPE type,
+ IN DAT_CONTEXT user_context,
+ IN DAT_COMPLETION_FLAGS comp_flags)
+{
+ return DAT_NOT_IMPLEMENTED;
+}
+
+#endif /* DAT_FCA_PROVIDER */
+#endif /* DAT_IB_COLLECTIVES */
+
diff --git a/dapl/openib_common/collectives/fca_provider.h b/dapl/openib_common/collectives/fca_provider.h
new file mode 100644
index 0000000..0b819ae
--- /dev/null
+++ b/dapl/openib_common/collectives/fca_provider.h
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2011 Intel Corporation. All rights reserved.
+ *
+ * This Software is licensed under one of the following licenses:
+ *
+ * 1) under the terms of the "Common Public License 1.0" a copy of which is
+ * in the file LICENSE.txt in the root directory. The license is also
+ * available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/cpl.php.
+ *
+ * 2) under the terms of the "The BSD License" a copy of which is in the file
+ * LICENSE2.txt in the root directory. The license is also available from
+ * the Open Source Initiative, see
+ * http://www.opensource.org/licenses/bsd-license.php.
+ *
+ * 3) under the terms of the "GNU General Public License (GPL) Version 2" a
+ * copy of which is in the file LICENSE3.txt in the root directory. The
+ * license is also available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/gpl-license.php.
+ *
+ * Licensee has the right to choose one of the above licenses.
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice and one of the license notices.
+ *
+ * Redistributions in binary form must reproduce both the above copyright
+ * notice, one of the license notices in the documentation
+ * and/or other materials provided with the distribution.
+ */
+#ifndef _FCA_PROVIDER_H_
+#define _FCA_PROVIDER_H_
+
+#include <fca/fca_api.h>
+#include <fca/config/fca_parse_specfile.h>
+
+/* Collective Group Object */
+struct coll_group {
+
+ DAPL_HEADER header; /* collective type header, group lock */
+ DAT_CONTEXT user_context; /* user context for group */
+ struct dapl_llist_entry list_entry; /* group creation list for work thread */
+
+ /* Basic group information */
+ DAPL_EVD *evd; /* DAT consumer evd for group, COLL type */
+ DAPL_PZ *pz; /* DAT protection domain */
+ ib_hca_transport_t *tp; /* IA device transport object */
+ int id; /* group id */
+ int self; /* my rank index */
+ int ranks; /* nprocs in group */
+ int sock; /* socket, needed to get grp comm_desc */
+ int *conn; /* connections to exchange member info */
+ void *op_pool; /* operations queue buffer pool */
+ struct dapl_llist_entry *op_pend; /* in-process, in-order operations */
+ struct dapl_llist_entry *op_free; /* free list for operations */
+ DAPL_OS_LOCK op_lock; /* operations queue lock */
+ DAPL_OS_WAIT_OBJECT op_event; /* operations completion event */
+
+ /* provider specific information */
+ struct fca_context *ctx; /* FCA device */
+ void *fca_info; /* FCA member info, element = tp->f_size */
+ struct sockaddr_in *addr_info; /* RANK address array, element = DAT_SOCK_ADDR */
+ fca_comm_caps_t comm_caps; /* FCA comm group capabilities */
+ struct fca_rank_comm *comm; /* FCA comm group initialized */
+ struct fca_comm_new_spec comm_new; /* comm new spec */
+ int comm_id; /* FCA comm group id */
+ fca_comm_desc_t comm_desc; /* FCA comm group */
+ fca_comm_init_spec_t comm_init; /* FCA comm init parameters */
+ DAT_IB_COLLECTIVE_GROUP g_info; /* Process layout info */
+};
+
+/* Collective Operation Object, for non-blocking support */
+#define COLL_OP_CNT 32
+
+struct coll_op {
+ struct dapl_llist_entry list_entry;
+ struct coll_group *grp;
+ DAT_IA_HANDLE ia;
+ enum dat_ib_op op;
+ DAT_IB_COLLECTIVE_RANK root;
+ DAT_IB_COLLECTIVE_RANK self;
+ DAT_CONTEXT ctx;
+ DAT_COMPLETION_FLAGS cflgs;
+ DAT_PVOID sbuf;
+ DAT_COUNT ssize;
+ DAT_COUNT *ssizes;
+ DAT_COUNT *sdispls;
+ DAT_PVOID rbuf;
+ DAT_COUNT rsize;
+ DAT_COUNT *rsizes;
+ DAT_COUNT *rdispls;
+ DAT_IB_COLLECTIVE_REDUCE_DATA_OP reduce_op;
+ DAT_IB_COLLECTIVE_DATA_TYPE reduce_type;
+ DAT_UINT64 clock;
+ void *progress_func;
+ DAT_COUNT *member_size;
+ DAT_IB_COLLECTIVE_MEMBER *member;
+ DAT_RETURN status;
+};
+
+#endif /* _FCA_PROVIDER_H_ */
diff --git a/dapl/openib_common/collectives/ib_collectives.h b/dapl/openib_common/collectives/ib_collectives.h
new file mode 100644
index 0000000..af644ed
--- /dev/null
+++ b/dapl/openib_common/collectives/ib_collectives.h
@@ -0,0 +1,228 @@
+/*
+ * Copyright (c) 2011 Intel Corporation. All rights reserved.
+ *
+ * This Software is licensed under one of the following licenses:
+ *
+ * 1) under the terms of the "Common Public License 1.0" a copy of which is
+ * in the file LICENSE.txt in the root directory. The license is also
+ * available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/cpl.php.
+ *
+ * 2) under the terms of the "The BSD License" a copy of which is in the file
+ * LICENSE2.txt in the root directory. The license is also available from
+ * the Open Source Initiative, see
+ * http://www.opensource.org/licenses/bsd-license.php.
+ *
+ * 3) under the terms of the "GNU General Public License (GPL) Version 2" a
+ * copy of which is in the file LICENSE3.txt in the root directory. The
+ * license is also available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/gpl-license.php.
+ *
+ * Licensee has the right to choose one of the above licenses.
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice and one of the license notices.
+ *
+ * Redistributions in binary form must reproduce both the above copyright
+ * notice, one of the license notices in the documentation
+ * and/or other materials provided with the distribution.
+ */
+#ifndef _IB_COLLECTIVES_H_
+#define _IB_COLLECTIVES_H_
+
+#ifdef DAT_IB_COLLECTIVES
+
+/* DAPL handle magic for collective */
+#define DAPL_MAGIC_COLL 0xbabeface
+
+/* IB Collective Provider */
+#ifdef DAT_FCA_PROVIDER
+#include <collectives/fca_provider.h>
+#endif
+
+/* IB Collective Provider Prototypes */
+int dapli_create_collective_service(IN struct dapl_hca *hca);
+void dapli_free_collective_service(IN struct dapl_hca *hca);
+
+DAT_RETURN
+dapli_create_collective_member(
+ IN DAT_IA_HANDLE ia_handle,
+ IN void *progress_func,
+ OUT DAT_COUNT *member_size,
+ OUT DAT_IB_COLLECTIVE_MEMBER *member);
+
+DAT_RETURN
+dapli_free_collective_member(
+ IN DAT_IA_HANDLE ia_handle,
+ IN DAT_IB_COLLECTIVE_MEMBER member);
+
+DAT_RETURN
+dapli_create_collective_group(
+ IN DAT_EVD_HANDLE evd_handle,
+ IN DAT_PZ_HANDLE pz,
+ IN DAT_IB_COLLECTIVE_MEMBER *members,
+ IN DAT_COUNT ranks,
+ IN DAT_IB_COLLECTIVE_RANK self,
+ IN DAT_IB_COLLECTIVE_ID id,
+ IN DAT_IB_COLLECTIVE_GROUP *g_info,
+ IN DAT_DTO_COOKIE user_ctx);
+
+DAT_RETURN
+dapli_free_collective_group(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle);
+
+DAT_RETURN
+dapli_collective_barrier(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_DTO_COOKIE user_context,
+ IN DAT_COMPLETION_FLAGS comp_flags);
+
+DAT_RETURN
+dapli_collective_broadcast(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID buffer,
+ IN DAT_COUNT byte_count,
+ IN DAT_IB_COLLECTIVE_RANK root,
+ IN DAT_CONTEXT user_context,
+ IN DAT_COMPLETION_FLAGS comp_flags);
+
+DAT_RETURN
+dapli_collective_reduce(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID snd_buf,
+ IN DAT_COUNT snd_len,
+ IN DAT_PVOID rcv_buf,
+ IN DAT_COUNT rcv_len,
+ IN DAT_IB_COLLECTIVE_REDUCE_DATA_OP op,
+ IN DAT_IB_COLLECTIVE_DATA_TYPE type,
+ IN DAT_IB_COLLECTIVE_RANK root,
+ IN DAT_CONTEXT user_context,
+ IN DAT_COMPLETION_FLAGS comp_flags);
+
+DAT_RETURN
+dapli_collective_allreduce(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID snd_buf,
+ IN DAT_COUNT snd_len,
+ IN DAT_PVOID rcv_buf,
+ IN DAT_COUNT rcv_len,
+ IN DAT_IB_COLLECTIVE_REDUCE_DATA_OP op,
+ IN DAT_IB_COLLECTIVE_DATA_TYPE type,
+ IN DAT_CONTEXT context,
+ IN DAT_COMPLETION_FLAGS comp_flags);
+
+DAT_RETURN
+dapli_collective_scatter(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID snd_buf,
+ IN DAT_COUNT snd_len,
+ IN DAT_PVOID rcv_buf,
+ IN DAT_COUNT rcv_len,
+ IN DAT_IB_COLLECTIVE_RANK root,
+ IN DAT_CONTEXT context,
+ IN DAT_COMPLETION_FLAGS comp_flags);
+
+DAT_RETURN
+dapli_collective_scatterv(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID *snd_bufs,
+ IN DAT_COUNT *snd_lens,
+ IN DAT_COUNT *displs,
+ IN DAT_PVOID rcv_buf,
+ IN DAT_COUNT rcv_len,
+ IN DAT_IB_COLLECTIVE_RANK root,
+ IN DAT_CONTEXT context,
+ IN DAT_COMPLETION_FLAGS comp_flags);
+
+DAT_RETURN
+dapli_collective_gather(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID snd_buf,
+ IN DAT_COUNT snd_len,
+ IN DAT_PVOID rcv_buf,
+ IN DAT_COUNT rcv_len,
+ IN DAT_IB_COLLECTIVE_RANK root,
+ IN DAT_CONTEXT context,
+ IN DAT_COMPLETION_FLAGS comp_flags);
+
+DAT_RETURN
+dapli_collective_gatherv(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID snd_buf,
+ IN DAT_COUNT snd_len,
+ IN DAT_PVOID *rcv_bufs,
+ IN DAT_COUNT *rcv_lens,
+ IN DAT_COUNT *displs,
+ IN DAT_IB_COLLECTIVE_RANK root,
+ IN DAT_CONTEXT context,
+ IN DAT_COMPLETION_FLAGS comp_flags);
+
+DAT_RETURN
+dapli_collective_allgather(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID snd_buf,
+ IN DAT_COUNT snd_len,
+ IN DAT_PVOID rcv_buf,
+ IN DAT_COUNT rcv_len,
+ IN DAT_CONTEXT context,
+ IN DAT_COMPLETION_FLAGS comp_flags);
+
+DAT_RETURN
+dapli_collective_allgatherv(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID snd_buf,
+ IN DAT_COUNT snd_len,
+ IN DAT_PVOID *rcv_bufs,
+ IN DAT_COUNT *rcv_lens,
+ IN DAT_COUNT *displs,
+ IN DAT_CONTEXT context,
+ IN DAT_COMPLETION_FLAGS comp_flags);
+
+DAT_RETURN
+dapli_collective_alltoall(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID snd_buf,
+ IN DAT_COUNT snd_len,
+ IN DAT_PVOID rcv_buf,
+ IN DAT_COUNT rcv_len,
+ IN DAT_CONTEXT context,
+ IN DAT_COMPLETION_FLAGS comp_flags);
+
+DAT_RETURN
+dapli_collective_alltoallv(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID *snd_bufs,
+ IN DAT_COUNT *snd_lens,
+ IN DAT_COUNT *snd_displs,
+ IN DAT_PVOID *rcv_bufs,
+ IN DAT_COUNT *rcv_lens,
+ IN DAT_COUNT *rcv_displs,
+ IN DAT_CONTEXT context,
+ IN DAT_COMPLETION_FLAGS comp_flags);
+
+DAT_RETURN
+dapli_collective_reduce_scatter(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID snd_buf,
+ IN DAT_COUNT snd_len,
+ IN DAT_PVOID rcv_buf,
+ IN DAT_COUNT *rcv_lens,
+ IN DAT_IB_COLLECTIVE_REDUCE_DATA_OP op,
+ IN DAT_IB_COLLECTIVE_DATA_TYPE type,
+ IN DAT_CONTEXT user_context,
+ IN DAT_COMPLETION_FLAGS comp_flags);
+
+DAT_RETURN
+dapli_collective_scan(
+ IN DAT_IB_COLLECTIVE_HANDLE coll_handle,
+ IN DAT_PVOID snd_buf,
+ IN DAT_COUNT snd_len,
+ IN DAT_PVOID rcv_buf,
+ IN DAT_COUNT rcv_len,
+ IN DAT_IB_COLLECTIVE_REDUCE_DATA_OP op,
+ IN DAT_IB_COLLECTIVE_DATA_TYPE type,
+ IN DAT_CONTEXT user_context,
+ IN DAT_COMPLETION_FLAGS comp_flags);
+
+#endif /* DAT_IB_COLLECTIVES */
+#endif /* _IB_COLLECTIVES_H_ */
diff --git a/dapl/openib_cma/dapl_ib_cq.c b/dapl/openib_common/cq.c
old mode 100755
new mode 100644
similarity index 50%
rename from dapl/openib_cma/dapl_ib_cq.c
rename to dapl/openib_common/cq.c
index 7f67982..f03400f
--- a/dapl/openib_cma/dapl_ib_cq.c
+++ b/dapl/openib_common/cq.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005-2007 Intel Corporation. All rights reserved.
+ * Copyright (c) 2009 Intel Corporation. All rights reserved.
*
* This Software is licensed under one of the following licenses:
*
@@ -24,17 +24,6 @@
* notice, one of the license notices in the documentation
* and/or other materials provided with the distribution.
*/
-
-/**********************************************************************
- *
- * MODULE: dapl_ib_cq.c
- *
- * PURPOSE: completion queues for OFED IB Verbs
- *
- * $Id: $
- *
- **********************************************************************/
-
#include "openib_osd.h"
#include "dapl.h"
#include "dapl_adapter_util.h"
@@ -42,83 +31,38 @@
#include "dapl_evd_util.h"
#include "dapl_ring_buffer_util.h"
-/* One CQ event channel per HCA */
-void dapli_cq_event_cb(struct _ib_hca_transport *hca)
-{
- /* check all comp events on this device */
- struct dapl_evd *evd_ptr = NULL;
- struct ibv_cq *ibv_cq = NULL;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " dapli_cq_event_cb(%p)\n", hca);
-
- if (!ibv_get_cq_event(hca->ib_cq, &ibv_cq, (void *)&evd_ptr)) {
-
- if (DAPL_BAD_HANDLE(evd_ptr, DAPL_MAGIC_EVD)) {
- ibv_ack_cq_events(ibv_cq, 1);
- return;
- }
-
- /* process DTO event via callback */
- dapl_evd_dto_callback(hca->cm_id->verbs,
- evd_ptr->ib_cq_handle, (void *)evd_ptr);
-
- ibv_ack_cq_events(ibv_cq, 1);
- }
-}
-
/*
* Map all verbs DTO completion codes to the DAT equivelent.
*
- * Not returned by verbs: DAT_DTO_ERR_PARTIAL_PACKET
+ * Not returned by verbs: DAT_DTO_ERR_PARTIAL_PACKET
*/
static struct ib_status_map {
int ib_status;
DAT_DTO_COMPLETION_STATUS dat_status;
} ib_status_map[] = {
-/* 00 */ {
- IBV_WC_SUCCESS, DAT_DTO_SUCCESS},
-/* 01 */ {
- IBV_WC_LOC_LEN_ERR, DAT_DTO_ERR_LOCAL_LENGTH},
-/* 02 */ {
- IBV_WC_LOC_QP_OP_ERR, DAT_DTO_ERR_LOCAL_EP},
-/* 03 */ {
- IBV_WC_LOC_EEC_OP_ERR, DAT_DTO_ERR_TRANSPORT},
-/* 04 */ {
- IBV_WC_LOC_PROT_ERR, DAT_DTO_ERR_LOCAL_PROTECTION},
-/* 05 */ {
- IBV_WC_WR_FLUSH_ERR, DAT_DTO_ERR_FLUSHED},
-/* 06 */ {
- IBV_WC_MW_BIND_ERR, DAT_RMR_OPERATION_FAILED},
-/* 07 */ {
- IBV_WC_BAD_RESP_ERR, DAT_DTO_ERR_BAD_RESPONSE},
-/* 08 */ {
- IBV_WC_LOC_ACCESS_ERR, DAT_DTO_ERR_LOCAL_PROTECTION},
-/* 09 */ {
- IBV_WC_REM_INV_REQ_ERR, DAT_DTO_ERR_REMOTE_RESPONDER},
-/* 10 */ {
- IBV_WC_REM_ACCESS_ERR, DAT_DTO_ERR_REMOTE_ACCESS},
-/* 11 */ {
- IBV_WC_REM_OP_ERR, DAT_DTO_ERR_REMOTE_RESPONDER},
-/* 12 */ {
- IBV_WC_RETRY_EXC_ERR, DAT_DTO_ERR_TRANSPORT},
-/* 13 */ {
- IBV_WC_RNR_RETRY_EXC_ERR, DAT_DTO_ERR_RECEIVER_NOT_READY},
-/* 14 */ {
- IBV_WC_LOC_RDD_VIOL_ERR, DAT_DTO_ERR_LOCAL_PROTECTION},
-/* 15 */ {
- IBV_WC_REM_INV_RD_REQ_ERR, DAT_DTO_ERR_REMOTE_RESPONDER},
-/* 16 */ {
- IBV_WC_REM_ABORT_ERR, DAT_DTO_ERR_REMOTE_RESPONDER},
-/* 17 */ {
- IBV_WC_INV_EECN_ERR, DAT_DTO_ERR_TRANSPORT},
-/* 18 */ {
- IBV_WC_INV_EEC_STATE_ERR, DAT_DTO_ERR_TRANSPORT},
-/* 19 */ {
- IBV_WC_FATAL_ERR, DAT_DTO_ERR_TRANSPORT},
-/* 20 */ {
- IBV_WC_RESP_TIMEOUT_ERR, DAT_DTO_ERR_RECEIVER_NOT_READY},
-/* 21 */ {
-IBV_WC_GENERAL_ERR, DAT_DTO_ERR_TRANSPORT},};
+/* 00 */ {IBV_WC_SUCCESS, DAT_DTO_SUCCESS},
+/* 01 */ {IBV_WC_LOC_LEN_ERR, DAT_DTO_ERR_LOCAL_LENGTH},
+/* 02 */ {IBV_WC_LOC_QP_OP_ERR, DAT_DTO_ERR_LOCAL_EP},
+/* 03 */ {IBV_WC_LOC_EEC_OP_ERR, DAT_DTO_ERR_TRANSPORT},
+/* 04 */ {IBV_WC_LOC_PROT_ERR, DAT_DTO_ERR_LOCAL_PROTECTION},
+/* 05 */ {IBV_WC_WR_FLUSH_ERR, DAT_DTO_ERR_FLUSHED},
+/* 06 */ {IBV_WC_MW_BIND_ERR, DAT_RMR_OPERATION_FAILED},
+/* 07 */ {IBV_WC_BAD_RESP_ERR, DAT_DTO_ERR_BAD_RESPONSE},
+/* 08 */ {IBV_WC_LOC_ACCESS_ERR, DAT_DTO_ERR_LOCAL_PROTECTION},
+/* 09 */ {IBV_WC_REM_INV_REQ_ERR, DAT_DTO_ERR_REMOTE_RESPONDER},
+/* 10 */ {IBV_WC_REM_ACCESS_ERR, DAT_DTO_ERR_REMOTE_ACCESS},
+/* 11 */ {IBV_WC_REM_OP_ERR, DAT_DTO_ERR_REMOTE_RESPONDER},
+/* 12 */ {IBV_WC_RETRY_EXC_ERR, DAT_DTO_ERR_TRANSPORT},
+/* 13 */ {IBV_WC_RNR_RETRY_EXC_ERR, DAT_DTO_ERR_RECEIVER_NOT_READY},
+/* 14 */ {IBV_WC_LOC_RDD_VIOL_ERR, DAT_DTO_ERR_LOCAL_PROTECTION},
+/* 15 */ {IBV_WC_REM_INV_RD_REQ_ERR, DAT_DTO_ERR_REMOTE_RESPONDER},
+/* 16 */ {IBV_WC_REM_ABORT_ERR, DAT_DTO_ERR_REMOTE_RESPONDER},
+/* 17 */ {IBV_WC_INV_EECN_ERR, DAT_DTO_ERR_TRANSPORT},
+/* 18 */ {IBV_WC_INV_EEC_STATE_ERR, DAT_DTO_ERR_TRANSPORT},
+/* 19 */ {IBV_WC_FATAL_ERR, DAT_DTO_ERR_TRANSPORT},
+/* 20 */ {IBV_WC_RESP_TIMEOUT_ERR, DAT_DTO_ERR_RECEIVER_NOT_READY},
+/* 21 */ {IBV_WC_GENERAL_ERR, DAT_DTO_ERR_TRANSPORT},
+};
/*
* dapls_ib_get_dto_status
@@ -151,19 +95,16 @@ dapls_ib_get_dto_status(IN ib_work_completion_t * cqe_ptr)
for (i = 0; i <= IBV_WC_GENERAL_ERR; i++) {
if (ib_status == ib_status_map[i].ib_status) {
if (ib_status != IBV_WC_SUCCESS) {
- dapl_dbg_log(DAPL_DBG_TYPE_DTO_COMP_ERR,
- " DTO completion ERROR: %d: op %#x\n",
- ib_status,
- DAPL_GET_CQE_OPTYPE(cqe_ptr));
+ dapl_log(DAPL_DBG_TYPE_DTO_COMP_ERR,
+ " DTO completion ERROR: %d:"
+ " op %#x\n",
+ ib_status,
+ DAPL_GET_CQE_OPTYPE(cqe_ptr));
}
return ib_status_map[i].dat_status;
}
}
- dapl_dbg_log(DAPL_DBG_TYPE_DTO_COMP_ERR,
- " DTO completion ERROR: %d: op %#x\n",
- ib_status, DAPL_GET_CQE_OPTYPE(cqe_ptr));
-
return DAT_DTO_FAILURE;
}
@@ -193,10 +134,12 @@ DAT_RETURN dapls_ib_get_async_event(IN ib_error_record_t * err_record,
case IBV_EVENT_QP_ACCESS_ERR:
*async_event = DAT_ASYNC_ERROR_EP_BROKEN;
break;
+
/* connection completion */
case IBV_EVENT_COMM_EST:
*async_event = DAT_CONNECTION_EVENT_ESTABLISHED;
break;
+
/* TODO: process HW state changes */
case IBV_EVENT_PATH_MIG:
case IBV_EVENT_PATH_MIG_ERR:
@@ -232,22 +175,27 @@ DAT_RETURN
dapls_ib_cq_alloc(IN DAPL_IA * ia_ptr,
IN DAPL_EVD * evd_ptr, IN DAT_COUNT * cqlen)
{
- struct ibv_comp_channel *channel = ia_ptr->hca_ptr->ib_trans.ib_cq;
+ struct ibv_comp_channel *channel;
+ DAT_RETURN ret;
dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
"dapls_ib_cq_alloc: evd %p cqlen=%d \n", evd_ptr, *cqlen);
-#ifdef CQ_WAIT_OBJECT
- if (evd_ptr->cq_wait_obj_handle)
- channel = evd_ptr->cq_wait_obj_handle->events;
-#endif
+ if (!evd_ptr->cno_ptr)
+ channel = ibv_create_comp_channel(ia_ptr->hca_ptr->ib_hca_handle);
+ else
+ channel = ia_ptr->hca_ptr->ib_trans.ib_cq;
+
+ if (!channel)
+ return DAT_INSUFFICIENT_RESOURCES;
- /* Call IB verbs to create CQ */
evd_ptr->ib_cq_handle = ibv_create_cq(ia_ptr->hca_ptr->ib_hca_handle,
*cqlen, evd_ptr, channel, 0);
- if (evd_ptr->ib_cq_handle == IB_INVALID_HANDLE)
- return (dapl_convert_errno(errno, "create_cq"));
+ if (evd_ptr->ib_cq_handle == IB_INVALID_HANDLE) {
+ ret = DAT_INSUFFICIENT_RESOURCES;
+ goto err;
+ }
/* arm cq for events */
dapls_set_cq_notify(ia_ptr, evd_ptr);
@@ -260,17 +208,21 @@ dapls_ib_cq_alloc(IN DAPL_IA * ia_ptr,
evd_ptr->ib_cq_handle, *cqlen);
return DAT_SUCCESS;
+
+err:
+ if (!evd_ptr->cno_ptr)
+ ibv_destroy_comp_channel(channel);
+ return ret;
}
/*
- * dapl_ib_cq_resize
+ * dapls_ib_cq_free
*
- * Alloc a CQ
+ * destroy a CQ
*
* Input:
* ia_handle IA handle
* evd_ptr pointer to EVD struct
- * cqlen minimum QLen
*
* Output:
* none
@@ -280,54 +232,129 @@ dapls_ib_cq_alloc(IN DAPL_IA * ia_ptr,
* DAT_INVALID_PARAMETER
*
*/
+DAT_RETURN dapls_ib_cq_free(IN DAPL_IA * ia_ptr, IN DAPL_EVD * evd_ptr)
+{
+ DAT_EVENT event;
+ ib_work_completion_t wc;
+ struct ibv_comp_channel *channel;
+
+ if (evd_ptr->ib_cq_handle != IB_INVALID_HANDLE) {
+ /* pull off CQ and EVD entries and toss */
+ while (ibv_poll_cq(evd_ptr->ib_cq_handle, 1, &wc) == 1) ;
+ while (dapl_evd_dequeue(evd_ptr, &event) == DAT_SUCCESS) ;
+
+ channel = evd_ptr->ib_cq_handle->channel;
+ if (ibv_destroy_cq(evd_ptr->ib_cq_handle))
+ return (dapl_convert_errno(errno, "ibv_destroy_cq"));
+ if (!evd_ptr->cno_ptr)
+ ibv_destroy_comp_channel(channel);
+ evd_ptr->ib_cq_handle = IB_INVALID_HANDLE;
+ }
+ return DAT_SUCCESS;
+}
+
DAT_RETURN
-dapls_ib_cq_resize(IN DAPL_IA * ia_ptr,
- IN DAPL_EVD * evd_ptr, IN DAT_COUNT * cqlen)
+dapls_evd_dto_wakeup(IN DAPL_EVD * evd_ptr)
{
- ib_cq_handle_t new_cq;
- struct ibv_comp_channel *channel = ia_ptr->hca_ptr->ib_trans.ib_cq;
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " cq_object_wakeup: evd=%p\n", evd_ptr);
- /* IB verbs doe not support resize. Try to re-create CQ
- * with new size. Can only be done if QP is not attached.
- * destroy EBUSY == QP still attached.
- */
+ /* EVD with CNO; waiting on OS wait object */
+ if (evd_ptr->cno_ptr)
+ dapl_os_wait_object_wakeup(&evd_ptr->wait_object);
+
+ /* otherwise, no wake up mechanism */
+ return DAT_SUCCESS;
+}
+
+#if defined(_WIN32)
+static int
+dapls_wait_comp_channel(IN struct ibv_comp_channel *channel, IN uint32_t timeout)
+{
+ channel->comp_channel.Milliseconds =
+ (timeout == DAT_TIMEOUT_INFINITE) ? INFINITE : timeout / 1000;
+ return 0;
+}
+
+#else // WIN32
+
+static int
+dapls_wait_comp_channel(IN struct ibv_comp_channel *channel, IN uint32_t timeout)
+{
+ int status, timeout_ms;
+ struct pollfd cq_fd = {
+ .fd = channel->fd,
+ .events = POLLIN,
+ .revents = 0
+ };
-#ifdef CQ_WAIT_OBJECT
- if (evd_ptr->cq_wait_obj_handle)
- channel = evd_ptr->cq_wait_obj_handle->events;
+ /* uDAPL timeout values in usecs */
+ timeout_ms = (timeout == DAT_TIMEOUT_INFINITE) ? -1 : timeout / 1000;
+ status = poll(&cq_fd, 1, timeout_ms);
+ if (status > 0)
+ return 0;
+ else if (status == 0)
+ return ETIMEDOUT;
+ else
+ return errno;
+}
#endif
- /* Call IB verbs to create CQ */
- new_cq = ibv_create_cq(ia_ptr->hca_ptr->ib_hca_handle, *cqlen,
- evd_ptr, channel, 0);
+DAT_RETURN
+dapls_evd_dto_wait(IN DAPL_EVD * evd_ptr, IN uint32_t timeout)
+{
+ struct ibv_comp_channel *channel = evd_ptr->ib_cq_handle->channel;
+ struct ibv_cq *ibv_cq = NULL;
+ void *context;
+ int status;
- if (new_cq == IB_INVALID_HANDLE)
- return DAT_INSUFFICIENT_RESOURCES;
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " cq_object_wait: EVD %p time %d\n",
+ evd_ptr, timeout);
- /* destroy the original and replace if successful */
- if (ibv_destroy_cq(evd_ptr->ib_cq_handle)) {
- ibv_destroy_cq(new_cq);
- return (dapl_convert_errno(errno, "resize_cq"));
+ status = dapls_wait_comp_channel(channel, timeout);
+ if (!status) {
+ if (!ibv_get_cq_event(channel, &ibv_cq, &context)) {
+ ibv_ack_cq_events(ibv_cq, 1);
+ }
}
- /* update EVD with new cq handle and size */
- evd_ptr->ib_cq_handle = new_cq;
- *cqlen = new_cq->cqe;
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " cq_object_wait: RET evd %p ibv_cq %p %s\n",
+ evd_ptr, ibv_cq, strerror(status));
- /* arm cq for events */
- dapls_set_cq_notify(ia_ptr, evd_ptr);
+ return dapl_convert_errno(status, "cq_wait_object_wait");
+}
- return DAT_SUCCESS;
+void dapli_cq_event_cb(struct _ib_hca_transport *tp)
+{
+ /* check all comp events on this device */
+ struct dapl_evd *evd = NULL;
+ struct ibv_cq *ibv_cq = NULL;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL," dapli_cq_event_cb(%p)\n", tp);
+
+ while (!ibv_get_cq_event(tp->ib_cq, &ibv_cq, (void*)&evd)) {
+
+ if (!DAPL_BAD_HANDLE(evd, DAPL_MAGIC_EVD)) {
+ /* Both EVD or EVD->CNO event via callback */
+ dapl_evd_dto_callback(tp->ib_ctx,
+ evd->ib_cq_handle, (void*)evd);
+ }
+
+ ibv_ack_cq_events(ibv_cq, 1);
+ }
}
/*
- * dapls_ib_cq_free
+ * dapl_ib_cq_resize
*
- * destroy a CQ
+ * Alloc a CQ
*
* Input:
* ia_handle IA handle
* evd_ptr pointer to EVD struct
+ * cqlen minimum QLen
*
* Output:
* none
@@ -337,16 +364,27 @@ dapls_ib_cq_resize(IN DAPL_IA * ia_ptr,
* DAT_INVALID_PARAMETER
*
*/
-DAT_RETURN dapls_ib_cq_free(IN DAPL_IA * ia_ptr, IN DAPL_EVD * evd_ptr)
+DAT_RETURN
+dapls_ib_cq_resize(IN DAPL_IA * ia_ptr,
+ IN DAPL_EVD * evd_ptr, IN DAT_COUNT * cqlen)
{
- if (evd_ptr->ib_cq_handle != IB_INVALID_HANDLE) {
- /* copy all entries on CQ to EVD before destroying */
- dapls_evd_copy_cq(evd_ptr);
- if (ibv_destroy_cq(evd_ptr->ib_cq_handle))
- return (dapl_convert_errno(errno, "destroy_cq"));
- evd_ptr->ib_cq_handle = IB_INVALID_HANDLE;
- }
+ ib_cq_handle_t old_cq, new_cq;
+ DAT_RETURN ret;
+
+ old_cq = evd_ptr->ib_cq_handle;
+ ret = dapls_ib_cq_alloc(ia_ptr, evd_ptr, cqlen);
+ if (ret)
+ goto err;
+
+ new_cq = evd_ptr->ib_cq_handle;
+ evd_ptr->ib_cq_handle = old_cq;
+ dapls_ib_cq_free(ia_ptr, evd_ptr);
+ evd_ptr->ib_cq_handle = new_cq;
return DAT_SUCCESS;
+
+err:
+ evd_ptr->ib_cq_handle = old_cq;
+ return ret;
}
/*
@@ -422,134 +460,15 @@ DAT_RETURN dapls_ib_completion_poll(IN DAPL_HCA * hca_ptr,
IN DAPL_EVD * evd_ptr,
IN ib_work_completion_t * wc_ptr)
{
- if (ibv_poll_cq(evd_ptr->ib_cq_handle, 1, wc_ptr) == 1)
+ int ret;
+
+ ret = ibv_poll_cq(evd_ptr->ib_cq_handle, 1, wc_ptr);
+ if (ret == 1)
return DAT_SUCCESS;
return DAT_QUEUE_EMPTY;
}
-#ifdef CQ_WAIT_OBJECT
-
-/* NEW common wait objects for providers with direct CQ wait objects */
-DAT_RETURN
-dapls_ib_wait_object_create(IN DAPL_EVD * evd_ptr,
- IN ib_wait_obj_handle_t * p_cq_wait_obj_handle)
-{
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " cq_object_create: (%p,%p)\n",
- evd_ptr, p_cq_wait_obj_handle);
-
- *p_cq_wait_obj_handle =
- dapl_os_alloc(sizeof(struct _ib_wait_obj_handle));
-
- if (*p_cq_wait_obj_handle == NULL)
- return (dapl_convert_errno(ENOMEM, " wait_object_create"));
-
- dapl_os_memzero(*p_cq_wait_obj_handle,
- sizeof(struct _ib_wait_obj_handle));
-
- /* create pipe for waking up work thread */
- if (pipe((*p_cq_wait_obj_handle)->pipe))
- goto bail;
-
- /* set cq_wait object to evd_ptr */
- (*p_cq_wait_obj_handle)->events =
- ibv_create_comp_channel(evd_ptr->header.owner_ia->hca_ptr->
- ib_hca_handle);
-
- if ((*p_cq_wait_obj_handle)->events == NULL)
- goto bail;
-
- return DAT_SUCCESS;
- bail:
- dapl_os_free(*p_cq_wait_obj_handle, sizeof(struct _ib_wait_obj_handle));
- *p_cq_wait_obj_handle = NULL;
- return (dapl_convert_errno(errno, " wait_object_create"));
-}
-
-DAT_RETURN
-dapls_ib_wait_object_destroy(IN ib_wait_obj_handle_t p_cq_wait_obj_handle)
-{
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " cq_object_destroy: wait_obj=%p\n", p_cq_wait_obj_handle);
-
- ibv_destroy_comp_channel(p_cq_wait_obj_handle->events);
-
- dapl_os_free(p_cq_wait_obj_handle, sizeof(struct _ib_wait_obj_handle));
-
- return DAT_SUCCESS;
-}
-
-DAT_RETURN
-dapls_ib_wait_object_wakeup(IN ib_wait_obj_handle_t p_cq_wait_obj_handle)
-{
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " cq_object_wakeup: wait_obj=%p\n", p_cq_wait_obj_handle);
-
- /* write to pipe for wake up */
- if (write(p_cq_wait_obj_handle->pipe[1], "w", sizeof "w") == -1)
- dapl_log(DAPL_DBG_TYPE_UTIL,
- " wait object wakeup write error = %s\n",
- strerror(errno));
- return DAT_SUCCESS;
-}
-
-DAT_RETURN
-dapls_ib_wait_object_wait(IN ib_wait_obj_handle_t p_cq_wait_obj_handle,
- IN u_int32_t timeout)
-{
- struct dapl_evd *evd_ptr;
- struct ibv_cq *ibv_cq = NULL;
- int status = 0;
- int timeout_ms = -1;
- struct pollfd ufds[2];
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " cq_object_wait: CQ channel %p time %d\n",
- p_cq_wait_obj_handle, timeout);
-
- /* setup cq event channel and pipe fd for consumer wakeup */
- ufds[0].fd = p_cq_wait_obj_handle->events->fd;
- ufds[0].events = POLLIN;
- ufds[0].revents = 0;
- ufds[1].fd = p_cq_wait_obj_handle->pipe[0];
- ufds[1].events = POLLIN;
- ufds[1].revents = 0;
-
- /* uDAPL timeout values in usecs */
- if (timeout != DAT_TIMEOUT_INFINITE)
- timeout_ms = timeout / 1000;
-
- /* restart syscall */
- while ((status = poll(ufds, 2, timeout_ms)) == -1)
- if (errno == EINTR)
- continue;
-
- /* returned event */
- if (status > 0) {
- if (ufds[0].revents == POLLIN) {
- if (!ibv_get_cq_event(p_cq_wait_obj_handle->events,
- &ibv_cq, (void *)&evd_ptr)) {
- ibv_ack_cq_events(ibv_cq, 1);
- }
- }
- status = 0;
-
- /* timeout */
- } else if (status == 0)
- status = ETIMEDOUT;
- else
- status = errno;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " cq_object_wait: RET evd %p ibv_cq %p %s\n",
- evd_ptr, ibv_cq, strerror(errno));
-
- return (dapl_convert_errno(status, "cq_wait_object_wait"));
-
-}
-#endif
-
/*
* Local variables:
* c-indent-level: 4
diff --git a/dapl/openib_scm/dapl_ib_util.h b/dapl/openib_common/dapl_ib_common.h
similarity index 55%
copy from dapl/openib_scm/dapl_ib_util.h
copy to dapl/openib_common/dapl_ib_common.h
index 5493312..dfc80a9 100644
--- a/dapl/openib_scm/dapl_ib_util.h
+++ b/dapl/openib_common/dapl_ib_common.h
@@ -1,4 +1,6 @@
/*
+ * Copyright (c) 2009 Intel Corporation. All rights reserved.
+ *
* This Software is licensed under one of the following licenses:
*
* 1) under the terms of the "Common Public License 1.0" a copy of which is
@@ -23,33 +25,13 @@
* and/or other materials provided with the distribution.
*/
-/***************************************************************************
- *
- * Module: uDAPL
- *
- * Filename: dapl_ib_util.h
- *
- * Author: Arlin Davis
- *
- * Created: 3/10/2005
- *
- * Description:
- *
- * The uDAPL openib provider - definitions, prototypes,
- *
- ****************************************************************************
- * Source Control System Information
- *
- * $Id: $
- *
- * Copyright (c) 2005 Intel Corporation. All rights reserved.
- *
- **************************************************************************/
+/*
+ * Definitions common to all OpenIB providers, cma, scm, ucm
+ */
-#ifndef _DAPL_IB_UTIL_H_
-#define _DAPL_IB_UTIL_H_
+#ifndef _DAPL_IB_COMMON_H_
+#define _DAPL_IB_COMMON_H_
-#include "openib_osd.h"
#include <infiniband/verbs.h>
#ifdef DAT_EXTENSIONS
@@ -68,73 +50,91 @@ typedef struct ibv_pd *ib_pd_handle_t;
typedef struct ibv_mr *ib_mr_handle_t;
typedef struct ibv_mw *ib_mw_handle_t;
typedef struct ibv_wc ib_work_completion_t;
+typedef struct ibv_ah *ib_ah_handle_t;
+typedef union ibv_gid *ib_gid_handle_t;
/* HCA context type maps to IB verbs */
typedef struct ibv_context *ib_hca_handle_t;
typedef ib_hca_handle_t dapl_ibal_ca_t;
-/* destination info to exchange, define wire protocol version */
-#define DSCM_VER 4
-typedef struct _ib_qp_cm
-{
+/* QP info to exchange, wire protocol version for these CM's */
+#define DCM_VER 7
+#define DCM_VER_MIN 6 /* backward compatibility limit */
+
+/* CM private data areas, same for all operations */
+#define DCM_MAX_PDATA_SIZE 118
+
+/*
+ * UCM DAPL IB/QP address (lid, qp_num, gid) mapping to
+ * DAT_IA_ADDRESS_PTR, DAT_SOCK_ADDR2 (28 bytes)
+ * For applications, like MPI, that exchange IA_ADDRESS
+ * across the fabric before connecting, it eliminates the
+ * overhead of name and address resolution to the destination's
+ * CM services. UCM provider uses the following for
+ * DAT_IA_ADDRESS. Note: family == AF_INET6 to insure proper
+ * callee storage for address.
+ */
+union dcm_addr {
+ DAT_SOCK_ADDR6 so;
+ struct {
+ uint16_t family; /* sin6_family */
+ uint16_t lid; /* sin6_port */
+ uint32_t qpn; /* sin6_flowinfo */
+ uint8_t gid[16]; /* sin6_addr */
+ uint16_t port; /* sin6_scope_id */
+ uint8_t sl;
+ uint8_t qp_type;
+ } ib;
+};
+
+/* 256 bytes total; default max_inline_send, min IB MTU size */
+typedef struct _ib_cm_msg
+{
uint16_t ver;
- uint16_t rej;
- uint16_t lid;
- uint16_t port;
- uint32_t qpn;
- uint32_t p_size;
- union ibv_gid gid;
- DAT_SOCK_ADDR6 ia_address;
- uint16_t qp_type;
-} ib_qp_cm_t;
-
-typedef enum scm_state
+ uint16_t op;
+ uint16_t sport; /* src cm port */
+ uint16_t dport; /* dst cm port */
+ uint32_t sqpn; /* src cm qpn */
+ uint32_t dqpn; /* dst cm qpn */
+ uint16_t p_size;
+ uint32_t s_id; /* src pid */
+ uint32_t d_id; /* dst pid */
+ uint8_t rd_in; /* atomic_rd_in */
+ uint8_t resv[5];
+ union dcm_addr saddr;
+ union dcm_addr daddr;
+ union dcm_addr saddr_alt;
+ union dcm_addr daddr_alt;
+ uint8_t p_data[DCM_MAX_PDATA_SIZE];
+
+} ib_cm_msg_t;
+
+typedef struct _ib_named_attr
{
- SCM_INIT,
- SCM_LISTEN,
- SCM_CONN_PENDING,
- SCM_RTU_PENDING,
- SCM_ACCEPTING,
- SCM_ACCEPTING_DATA,
- SCM_ACCEPTED,
- SCM_REJECTED,
- SCM_CONNECTED,
- SCM_DISCONNECTED,
- SCM_DESTROY
-} SCM_STATE;
-
-struct ib_cm_handle
-{
- struct dapl_llist_entry entry;
- DAPL_OS_LOCK lock;
- SCM_STATE state;
- DAPL_SOCKET socket;
- struct dapl_hca *hca;
- struct dapl_sp *sp;
- struct dapl_ep *ep;
- ib_qp_cm_t dst;
- unsigned char p_data[256]; /* must follow ib_qp_cm_t */
- struct ibv_ah *ah;
-};
+ const char *dev;
+ const char *mode;
+ const char *read;
+ const char *guid;
+ const char *mtu;
+ const char *port;
-typedef struct ib_cm_handle *dp_ib_cm_handle_t;
-typedef dp_ib_cm_handle_t ib_cm_srvc_handle_t;
+} ib_named_attr_t;
/* CM events */
-typedef enum
-{
- IB_CME_CONNECTED,
- IB_CME_DISCONNECTED,
- IB_CME_DISCONNECTED_ON_LINK_DOWN,
- IB_CME_CONNECTION_REQUEST_PENDING,
- IB_CME_CONNECTION_REQUEST_PENDING_PRIVATE_DATA,
- IB_CME_DESTINATION_REJECT,
- IB_CME_DESTINATION_REJECT_PRIVATE_DATA,
- IB_CME_DESTINATION_UNREACHABLE,
- IB_CME_TOO_MANY_CONNECTION_REQUESTS,
- IB_CME_LOCAL_FAILURE,
- IB_CM_LOCAL_FAILURE
-
+typedef enum {
+ IB_CME_CONNECTED,
+ IB_CME_DISCONNECTED,
+ IB_CME_DISCONNECTED_ON_LINK_DOWN,
+ IB_CME_CONNECTION_REQUEST_PENDING,
+ IB_CME_CONNECTION_REQUEST_PENDING_PRIVATE_DATA,
+ IB_CME_CONNECTION_REQUEST_ACKED,
+ IB_CME_DESTINATION_REJECT,
+ IB_CME_DESTINATION_REJECT_PRIVATE_DATA,
+ IB_CME_DESTINATION_UNREACHABLE,
+ IB_CME_TOO_MANY_CONNECTION_REQUESTS,
+ IB_CME_LOCAL_FAILURE,
+ IB_CME_BROKEN,
+ IB_CME_TIMEOUT
} ib_cm_events_t;
/* Operation and state mappings */
@@ -157,40 +157,36 @@ typedef int ib_bool_t;
typedef union ibv_gid GID;
typedef char *IB_HCA_NAME;
typedef uint16_t ib_hca_port_t;
-typedef uint32_t ib_comp_handle_t;
-
-#ifdef CQ_WAIT_OBJECT
-typedef struct ibv_comp_channel *ib_wait_obj_handle_t;
-#endif
/* Definitions */
#define IB_INVALID_HANDLE NULL
/* inline send rdma threshold */
-#define INLINE_SEND_DEFAULT 200
+#define INLINE_SEND_IWARP_DEFAULT 64
+#define INLINE_SEND_IB_DEFAULT 64
/* qkey for UD QP's */
-#define SCM_UD_QKEY 0x78654321
+#define DAT_UD_QKEY 0x78654321
/* RC timer - retry count defaults */
-#define SCM_ACK_TIMER 16 /* 5 bits, 4.096us*2^ack_timer. 16== 268ms */
-#define SCM_ACK_RETRY 7 /* 3 bits, 7 * 268ms = 1.8 seconds */
-#define SCM_RNR_TIMER 12 /* 5 bits, 12 =.64ms, 28 =163ms, 31 =491ms */
-#define SCM_RNR_RETRY 7 /* 3 bits, 7 == infinite */
-#define SCM_IB_MTU 2048
+#define DCM_ACK_TIMER 20 /* 5 bits, 4.096us*2^ack_timer. 16== 268ms, 20==4.2s */
+#define DCM_ACK_RETRY 7 /* 3 bits, 7 * 4.2 == 30 seconds */
+#define DCM_RNR_TIMER 12 /* 5 bits, 12 =.64ms, 28 =163ms, 31 =491ms */
+#define DCM_RNR_RETRY 7 /* 3 bits, 7 == infinite */
+#define DCM_IB_MTU 2048
/* Global routing defaults */
-#define SCM_GLOBAL 0 /* global routing is disabled */
-#define SCM_HOP_LIMIT 0xff
-#define SCM_TCLASS 0
-
-/* CM private data areas */
-#define IB_MAX_REQ_PDATA_SIZE 92
-#define IB_MAX_REP_PDATA_SIZE 196
-#define IB_MAX_REJ_PDATA_SIZE 148
-#define IB_MAX_DREQ_PDATA_SIZE 220
-#define IB_MAX_DREP_PDATA_SIZE 224
-#define IB_MAX_RTU_PDATA_SIZE 224
+#define DCM_GLOBAL 0 /* global routing is disabled */
+#define DCM_HOP_LIMIT 0xff
+#define DCM_TCLASS 0
+
+/* DAPL uCM timers, default queue sizes */
+#define DCM_RETRY_CNT 15
+#define DCM_REP_TIME 800 /* reply timeout in m_secs */
+#define DCM_RTU_TIME 400 /* rtu timeout in m_secs */
+#define DCM_QP_SIZE 500 /* uCM tx, rx qp size */
+#define DCM_CQ_SIZE 500 /* uCM cq size */
+#define DCM_TX_BURST 50 /* uCM signal, every TX burst msgs posted */
/* DTO OPs, ordered for DAPL ENUM definitions */
#define OP_RDMA_WRITE IBV_WR_RDMA_WRITE
@@ -268,59 +264,73 @@ typedef void (*ib_async_handler_t)(
typedef enum
{
IB_THREAD_INIT,
+ IB_THREAD_CREATE,
IB_THREAD_RUN,
IB_THREAD_CANCEL,
IB_THREAD_EXIT
} ib_thread_state_t;
-/* ib_hca_transport_t, specific to this implementation */
-typedef struct _ib_hca_transport
-{
- union ibv_gid gid;
- struct ibv_device *ib_dev;
- ib_cq_handle_t ib_cq_empty;
- DAPL_OS_LOCK cq_lock;
- int max_inline_send;
- ib_thread_state_t cq_state;
- DAPL_OS_THREAD cq_thread;
- struct ibv_comp_channel *ib_cq;
- int cr_state;
- DAPL_OS_THREAD thread;
- DAPL_OS_LOCK lock;
- struct dapl_llist_entry *list;
- ib_async_handler_t async_unafiliated;
- void *async_un_ctx;
- ib_async_cq_handler_t async_cq_error;
- ib_async_dto_handler_t async_cq;
- ib_async_qp_handler_t async_qp_error;
- uint16_t lid;
- uint8_t ack_timer;
- uint8_t ack_retry;
- uint8_t rnr_timer;
- uint8_t rnr_retry;
- uint8_t global;
- uint8_t hop_limit;
- uint8_t tclass;
- uint8_t mtu;
- DAT_NAMED_ATTR named_attr;
-} ib_hca_transport_t;
+typedef enum dapl_cm_op
+{
+ DCM_REQ = 1,
+ DCM_REP,
+ DCM_REJ_USER, /* user reject */
+ DCM_REJ_CM, /* cm reject, no SID */
+ DCM_RTU,
+ DCM_DREQ,
+ DCM_DREP
+
+} DAPL_CM_OP;
+
+typedef enum dapl_cm_state
+{
+ DCM_INIT,
+ DCM_LISTEN,
+ DCM_CONN_PENDING,
+ DCM_REP_PENDING,
+ DCM_ACCEPTING,
+ DCM_ACCEPTING_DATA,
+ DCM_ACCEPTED,
+ DCM_REJECTING,
+ DCM_REJECTED,
+ DCM_CONNECTED,
+ DCM_RELEASE,
+ DCM_DISC_PENDING,
+ DCM_DISCONNECTED,
+ DCM_DESTROY,
+ DCM_RTU_PENDING,
+ DCM_DISC_RECV,
+ DCM_FREE,
+
+} DAPL_CM_STATE;
/* provider specfic fields for shared memory support */
typedef uint32_t ib_shm_transport_t;
+typedef void user_progress_func_t( void );
/* prototypes */
-int32_t dapls_ib_init (void);
-int32_t dapls_ib_release (void);
-void cr_thread(void *arg);
-int dapli_cq_thread_init(struct dapl_hca *hca_ptr);
-void dapli_cq_thread_destroy(struct dapl_hca *hca_ptr);
-
-
-DAT_RETURN
-dapls_modify_qp_state ( IN ib_qp_handle_t qp_handle,
- IN ib_qp_state_t qp_state,
- IN struct ib_cm_handle *cm_ptr );
+int32_t dapls_ib_init(void);
+int32_t dapls_ib_release(void);
+
+/* util.c */
+enum ibv_mtu dapl_ib_mtu(int mtu);
+const char *dapl_ib_mtu_str(enum ibv_mtu mtu);
+int getipaddr_netdev(char *name, char *addr, int addr_len);
+DAT_RETURN getlocalipaddr(char *addr, int addr_len);
+
+/* qp.c */
+DAT_RETURN dapls_modify_qp_ud(IN DAPL_HCA *hca, IN ib_qp_handle_t qp);
+DAT_RETURN dapls_modify_qp_state(IN ib_qp_handle_t qp_handle,
+ IN ib_qp_state_t qp_state,
+ IN uint32_t qpn,
+ IN uint16_t lid,
+ IN ib_gid_handle_t gid);
+ib_ah_handle_t dapls_create_ah( IN DAPL_HCA *hca,
+ IN ib_pd_handle_t pd,
+ IN ib_qp_handle_t qp,
+ IN uint16_t lid,
+ IN ib_gid_handle_t gid);
/* inline functions */
STATIC _INLINE_ IB_HCA_NAME dapl_ib_convert_name (IN char *name)
@@ -340,19 +350,17 @@ STATIC _INLINE_ void dapl_ib_release_name (IN IB_HCA_NAME name)
STATIC _INLINE_ DAT_RETURN
dapl_convert_errno( IN int err, IN const char *str )
{
- if (!err) return DAT_SUCCESS;
+ if (!err) return DAT_SUCCESS;
-#if DAPL_DBG
if ((err != EAGAIN) && (err != ETIMEDOUT))
- dapl_dbg_log (DAPL_DBG_TYPE_ERR," %s %s\n", str, strerror(err));
-#endif
+ dapl_log (DAPL_DBG_TYPE_ERR," DAPL ERR %s %s\n", str, strerror(err));
switch( err )
{
case EOVERFLOW : return DAT_LENGTH_ERROR;
case EACCES : return DAT_PRIVILEGES_VIOLATION;
case EPERM : return DAT_PROTECTION_VIOLATION;
- case EINVAL : return DAT_INVALID_HANDLE;
+ case EINVAL : return DAT_INVALID_PARAMETER;
case EISCONN : return DAT_INVALID_STATE | DAT_INVALID_STATE_EP_CONNECTED;
case ECONNREFUSED : return DAT_INVALID_STATE | DAT_INVALID_STATE_EP_NOTREADY;
case ETIMEDOUT : return DAT_TIMEOUT_EXPIRED;
@@ -368,14 +376,43 @@ dapl_convert_errno( IN int err, IN const char *str )
}
}
-/*
- * Definitions required only for DAT 1.1 builds
- */
-#define IB_ACCESS_LOCAL_READ IBV_ACCESS_LOCAL_WRITE
-#define IB_ACCESS_LOCAL_WRITE IBV_ACCESS_LOCAL_WRITE
-#define IB_ACCESS_REMOTE_READ IBV_ACCESS_REMOTE_READ
-#define IB_ACCESS_REMOTE_WRITE IBV_ACCESS_REMOTE_WRITE
-#define IB_ACCESS_MW_BIND IBV_ACCESS_LOCAL_WRITE
-#define IB_ACCESS_ATOMIC
-
-#endif /* _DAPL_IB_UTIL_H_ */
+STATIC _INLINE_ char * dapl_cm_state_str(IN int st)
+{
+ static char *state[] = {
+ "CM_INIT",
+ "CM_LISTEN",
+ "CM_CONN_PENDING",
+ "CM_REP_PENDING",
+ "CM_ACCEPTING",
+ "CM_ACCEPTING_DATA",
+ "CM_ACCEPTED",
+ "CM_REJECTING",
+ "CM_REJECTED",
+ "CM_CONNECTED",
+ "CM_RELEASE",
+ "CM_DISC_PENDING",
+ "CM_DISCONNECTED",
+ "CM_DESTROY",
+ "CM_RTU_PENDING",
+ "CM_DISC_RECV",
+ "CM_FREE"
+ };
+ return ((st < 0 || st > 16) ? "Invalid CM state?" : state[st]);
+}
+
+STATIC _INLINE_ char * dapl_cm_op_str(IN int op)
+{
+ static char *ops[] = {
+ "INVALID",
+ "REQ",
+ "REP",
+ "REJ_USER",
+ "REJ_CM",
+ "RTU",
+ "DREQ",
+ "DREP",
+ };
+ return ((op < 1 || op > 7) ? "Invalid OP?" : ops[op]);
+}
+
+#endif /* _DAPL_IB_COMMON_H_ */
diff --git a/dapl/openib_scm/dapl_ib_dto.h b/dapl/openib_common/dapl_ib_dto.h
similarity index 95%
rename from dapl/openib_scm/dapl_ib_dto.h
rename to dapl/openib_common/dapl_ib_dto.h
index 9118b2e..5fc22f2 100644
--- a/dapl/openib_scm/dapl_ib_dto.h
+++ b/dapl/openib_common/dapl_ib_dto.h
@@ -1,4 +1,6 @@
/*
+ * Copyright (c) 2009 Intel Corporation. All rights reserved.
+ *
* This Software is licensed under one of the following licenses:
*
* 1) under the terms of the "Common Public License 1.0" a copy of which is
@@ -22,29 +24,6 @@
* notice, one of the license notices in the documentation
* and/or other materials provided with the distribution.
*/
-
-/***************************************************************************
- *
- * Module: uDAPL
- *
- * Filename: dapl_ib_dto.h
- *
- * Author: Arlin Davis
- *
- * Created: 3/10/2005
- *
- * Description:
- *
- * The OpenIB uCMA provider - DTO operations and CQE macros
- *
- ****************************************************************************
- * Source Control System Information
- *
- * $Id: $
- *
- * Copyright (c) 2005 Intel Corporation. All rights reserved.
- *
- **************************************************************************/
#ifndef _DAPL_IB_DTO_H_
#define _DAPL_IB_DTO_H_
@@ -54,10 +33,18 @@
#include <dat2/dat_ib_extensions.h>
#endif
-#define DEFAULT_DS_ENTRIES 8
-
STATIC _INLINE_ int dapls_cqe_opcode(ib_work_completion_t *cqe_p);
+#if defined(_OPENIB_CMA_)
+#define PROVIDER_NAME "CMA"
+#elif defined(_OPENIB_UCM_)
+#define PROVIDER_NAME "UCM"
+#elif defined(_OPENIB_SCM_)
+#define PROVIDER_NAME "SCM"
+#else
+#define PROVIDER_NAME ""
+#endif
+
#define CQE_WR_TYPE_UD(id) \
(((DAPL_COOKIE *)(uintptr_t)id)->ep->qp_handle->qp_type == IBV_QPT_UD)
@@ -369,12 +356,12 @@ dapls_ib_post_ext_send (
dapl_dbg_log(DAPL_DBG_TYPE_EP,
" post_ext: OP_SEND_UD ah=%p"
" qp_num=0x%x\n",
- remote_ah, remote_ah->qpn);
+ remote_ah->ah, remote_ah->qpn);
wr.opcode = OP_SEND;
wr.wr.ud.ah = remote_ah->ah;
wr.wr.ud.remote_qpn = remote_ah->qpn;
- wr.wr.ud.remote_qkey = SCM_UD_QKEY;
+ wr.wr.ud.remote_qkey = DAT_UD_QKEY;
break;
default:
break;
@@ -509,8 +496,8 @@ STATIC _INLINE_ char * dapls_dto_op_str(int op)
"OP_RECEIVE",
"OP_RECEIVE_MSG_IMM",
"OP_RECEIVE_RDMA_IMM",
- "OP_BIND_MW"
- "OP_SEND_UD"
+ "OP_BIND_MW",
+ "OP_SEND_UD",
"OP_RECV_UD"
};
return ((op < 0 || op > 12) ? "Invalid CQE OP?" : optable[op]);
diff --git a/dapl/openib_scm/dapl_ib_extensions.c b/dapl/openib_common/ib_extensions.c
old mode 100755
new mode 100644
similarity index 58%
rename from dapl/openib_scm/dapl_ib_extensions.c
rename to dapl/openib_common/ib_extensions.c
index 98a07ec..0952bd5
--- a/dapl/openib_scm/dapl_ib_extensions.c
+++ b/dapl/openib_common/ib_extensions.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007 Intel Corporation. All rights reserved.
+ * Copyright (c) 2007-2009 Intel Corporation. All rights reserved.
*
* This Software is licensed under one of the following licenses:
*
@@ -24,17 +24,6 @@
* notice, one of the license notices in the documentation
* and/or other materials provided with the distribution.
*/
-
-/**********************************************************************
- *
- * MODULE: dapl_ib_extensions.c
- *
- * PURPOSE: Extensions routines for OpenIB uCMA provider
- *
- * $Id: $
- *
- **********************************************************************/
-
#include "dapl.h"
#include "dapl_adapter_util.h"
#include "dapl_evd_util.h"
@@ -43,6 +32,10 @@
#include "dapl_cookie.h"
#include <stdarg.h>
+#ifdef DAT_IB_COLLECTIVES
+#include "collectives/ib_collectives.h"
+#endif
+
DAT_RETURN
dapli_post_ext(IN DAT_EP_HANDLE ep_handle,
IN DAT_UINT64 cmp_add,
@@ -191,8 +184,220 @@ dapl_extensions(IN DAT_HANDLE dat_handle,
status = DAT_SUCCESS;
break;
}
+ case DAT_IB_START_COUNTERS_OP:
+ {
+ DAT_IA_COUNTER_TYPE type;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_RTN,
+ " Start counter extension call\n");
+
+ type = va_arg(args, int);
+
+ dapl_start_counters(dat_handle, type);
+ status = DAT_SUCCESS;
+ break;
+ }
+ case DAT_IB_STOP_COUNTERS_OP:
+ {
+ DAT_IA_COUNTER_TYPE type;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_RTN,
+ " Start counter extension call\n");
+
+ type = va_arg(args, int);
+
+ dapl_stop_counters(dat_handle, type);
+ status = DAT_SUCCESS;
+ break;
+ }
#endif /* DAPL_COUNTERS */
+#ifdef DAT_IB_COLLECTIVES
+ case DAT_IB_COLLECTIVE_CREATE_MEMBER_OP:
+ {
+ void *progress_func;
+ DAT_IB_COLLECTIVE_MEMBER *member_p;
+ DAT_COUNT *size_p;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EXTENSION,
+ " COLLECTIVE_CREATE_MEMBER extension call\n");
+
+ progress_func = va_arg(args, void *);
+ member_p = va_arg(args, DAT_IB_COLLECTIVE_MEMBER *);
+ size_p = va_arg(args, DAT_COUNT *);
+
+ return dapli_create_collective_member(dat_handle,
+ progress_func,
+ size_p,
+ member_p);
+ }
+ case DAT_IB_COLLECTIVE_FREE_MEMBER_OP:
+ {
+ DAT_IB_COLLECTIVE_MEMBER member;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EXTENSION,
+ " COLLECTIVE_FREE_MEMBER extension call\n");
+ member = va_arg(args, DAT_IB_COLLECTIVE_MEMBER);
+ return dapli_free_collective_member(dat_handle, member);
+ }
+ case DAT_IB_COLLECTIVE_CREATE_GROUP_OP:
+ {
+ DAT_CONTEXT context;
+ DAT_IB_COLLECTIVE_MEMBER *members;
+ DAT_IB_COLLECTIVE_GROUP *grp;
+ DAT_IB_COLLECTIVE_RANK rank;
+ DAT_IB_COLLECTIVE_ID id;
+ DAT_PZ_HANDLE pd;
+ DAT_COUNT size;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EXTENSION,
+ " DAT_IB_COLLECTIVE_CREATE_GROUP extension call\n");
+
+ members = va_arg(args, DAT_IB_COLLECTIVE_MEMBER *);/* array */
+ size = va_arg(args, DAT_COUNT);/* member count */
+ rank = va_arg(args, DAT_IB_COLLECTIVE_RANK);/* rank */
+ id = va_arg(args, DAT_IB_COLLECTIVE_ID);/* group id */
+ grp = va_arg(args, DAT_IB_COLLECTIVE_GROUP *);/* group info */
+ pd = va_arg(args, DAT_PZ_HANDLE);/* prot domain */
+ context = va_arg(args, DAT_CONTEXT);
+
+ return dapli_create_collective_group(dat_handle, pd, members,
+ size, rank, id, grp, context);
+ }
+ case DAT_IB_COLLECTIVE_FREE_GROUP_OP:
+ {
+ dapl_dbg_log(DAPL_DBG_TYPE_EXTENSION,
+ " DAT_IB_COLLECTIVE_FREE_GROUP extension call\n");
+
+ return dapli_free_collective_group(dat_handle);
+ }
+ case DAT_IB_COLLECTIVE_BARRIER_OP:
+ {
+ DAT_CONTEXT context;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EXTENSION,
+ "Got DAT_IB_COLLECTIVE_BARRIER extension call\n");
+
+ context = va_arg(args, DAT_CONTEXT);
+ comp_flags = va_arg(args, DAT_COMPLETION_FLAGS);
+
+ return dapli_collective_barrier(dat_handle, context, comp_flags);
+ }
+ case DAT_IB_COLLECTIVE_BROADCAST_OP:
+ {
+ DAT_CONTEXT context;
+ DAT_PVOID buf;
+ DAT_COUNT size;
+ DAT_IB_COLLECTIVE_RANK root;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EXTENSION,
+ "Got DAT_IB_COLLECTIVE_BROADCAST extension call\n");
+
+ buf = va_arg(args, DAT_PVOID);
+ size = va_arg(args, DAT_COUNT);
+ root = va_arg(args, DAT_IB_COLLECTIVE_RANK);
+ context = va_arg(args, DAT_CONTEXT);
+ comp_flags = va_arg(args, DAT_COMPLETION_FLAGS);
+
+ return dapli_collective_broadcast(dat_handle, buf, size,
+ root, context, comp_flags);
+
+ }
+ case DAT_IB_COLLECTIVE_REDUCE_OP:
+ {
+ DAT_CONTEXT context;
+ DAT_IB_COLLECTIVE_RANK root;
+ DAT_PVOID sbuf, rbuf;
+ DAT_COUNT slen, rlen;
+ DAT_IB_COLLECTIVE_REDUCE_DATA_OP op;
+ DAT_IB_COLLECTIVE_DATA_TYPE type;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EXTENSION,
+ "Got DAT_IB_COLLECTIVE_REDUCE extension call\n");
+
+ sbuf = va_arg(args, DAT_PVOID);
+ slen = va_arg(args, DAT_COUNT);
+ rbuf = va_arg(args, DAT_PVOID);
+ rlen = va_arg(args, DAT_COUNT);
+ op = va_arg(args, DAT_IB_COLLECTIVE_REDUCE_DATA_OP);
+ type = va_arg(args, DAT_IB_COLLECTIVE_DATA_TYPE);
+ root = va_arg(args, DAT_IB_COLLECTIVE_RANK);
+ context = va_arg(args, DAT_CONTEXT);
+ comp_flags = va_arg(args, DAT_COMPLETION_FLAGS);
+
+ return dapli_collective_reduce(dat_handle, sbuf, slen,
+ rbuf, rlen, op, type, root,
+ context, comp_flags);
+ }
+ case DAT_IB_COLLECTIVE_ALLREDUCE_OP:
+ {
+ DAT_CONTEXT context;
+ DAT_PVOID sbuf, rbuf;
+ DAT_COUNT slen, rlen;
+ DAT_IB_COLLECTIVE_REDUCE_DATA_OP op;
+ DAT_IB_COLLECTIVE_DATA_TYPE type;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EXTENSION,
+ "Got DAT_IB_COLLECTIVE_ALLREDUCE extension call\n");
+
+ sbuf = va_arg(args, DAT_PVOID);
+ slen = va_arg(args, DAT_COUNT);
+ rbuf = va_arg(args, DAT_PVOID);
+ rlen = va_arg(args, DAT_COUNT);
+ op = va_arg(args, DAT_IB_COLLECTIVE_REDUCE_DATA_OP);
+ type = va_arg(args, DAT_IB_COLLECTIVE_DATA_TYPE);
+ context = va_arg(args, DAT_CONTEXT);
+ comp_flags = va_arg(args, DAT_COMPLETION_FLAGS);
+
+ return dapli_collective_allreduce(dat_handle, sbuf, slen,
+ rbuf, rlen, op, type,
+ context, comp_flags);
+ }
+ case DAT_IB_COLLECTIVE_ALLGATHER_OP:
+ {
+ DAT_CONTEXT context;
+ DAT_PVOID sbuf, rbuf;
+ DAT_COUNT slen, rlen;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EXTENSION,
+ "Got DAT_IB_COLLECTIVE_ALLGATHER extension call\n");
+
+ sbuf = va_arg(args, DAT_PVOID);
+ slen = va_arg(args, DAT_COUNT);
+ rbuf = va_arg(args, DAT_PVOID);
+ rlen = va_arg(args, DAT_COUNT);
+ context = va_arg(args, DAT_CONTEXT);
+ comp_flags = va_arg(args, DAT_COMPLETION_FLAGS);
+
+ return dapli_collective_allgather(dat_handle, sbuf, slen,
+ rbuf, rlen, context,
+ comp_flags);
+ }
+ case DAT_IB_COLLECTIVE_ALLGATHERV_OP:
+ {
+ DAT_CONTEXT context;
+ DAT_PVOID sbuf, rbuf;
+ DAT_COUNT slen;
+ DAT_COUNT *rlens;
+ DAT_COUNT *displs;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EXTENSION,
+ "Got DAT_IB_COLLECTIVE_ALLGATHERV extension call\n");
+
+ sbuf = va_arg(args, DAT_PVOID);
+ slen = va_arg(args, DAT_COUNT);
+ rbuf = va_arg(args, DAT_PVOID);
+ rlens = va_arg(args, DAT_COUNT *);
+ displs = va_arg(args, DAT_COUNT *);
+ context = va_arg(args, DAT_CONTEXT);
+ comp_flags = va_arg(args, DAT_COMPLETION_FLAGS);
+
+ return dapli_collective_allgatherv(dat_handle, sbuf, slen,
+ rbuf, rlens, displs,
+ context, comp_flags);
+ }
+
+#endif
default:
dapl_dbg_log(DAPL_DBG_TYPE_ERR,
"unsupported extension(%d)\n", (int)ext_op);
diff --git a/dapl/openib_cma/dapl_ib_mem.c b/dapl/openib_common/mem.c
old mode 100755
new mode 100644
similarity index 91%
rename from dapl/openib_cma/dapl_ib_mem.c
rename to dapl/openib_common/mem.c
index 7e73044..ddf85a4
--- a/dapl/openib_cma/dapl_ib_mem.c
+++ b/dapl/openib_common/mem.c
@@ -2,7 +2,6 @@
* Copyright (c) 2005-2007 Intel Corporation. All rights reserved.
*
* This Software is licensed under one of the following licenses:
- *
* 1) under the terms of the "Common Public License 1.0" a copy of which is
* available from the Open Source Initiative, see
* http://www.opensource.org/licenses/cpl.php.
@@ -24,17 +23,6 @@
* notice, one of the license notices in the documentation
* and/or other materials provided with the distribution.
*/
-
-/**********************************************************************
- *
- * MODULE: dapl_ib_mem.c
- *
- * PURPOSE: Memory windows, registration, and protection domain
- *
- * $Id:$
- *
- **********************************************************************/
-
#include "dapl.h"
#include "dapl_adapter_util.h"
#include "dapl_lmr_util.h"
@@ -67,10 +55,6 @@ STATIC _INLINE_ int dapls_convert_privileges(IN DAT_MEM_PRIV_FLAGS privileges)
access |= IBV_ACCESS_REMOTE_WRITE;
if (DAT_MEM_PRIV_REMOTE_READ_FLAG & privileges)
access |= IBV_ACCESS_REMOTE_READ;
- if (DAT_MEM_PRIV_REMOTE_READ_FLAG & privileges)
- access |= IBV_ACCESS_REMOTE_READ;
- if (DAT_MEM_PRIV_REMOTE_READ_FLAG & privileges)
- access |= IBV_ACCESS_REMOTE_READ;
#ifdef DAT_EXTENSIONS
if (DAT_IB_MEM_PRIV_REMOTE_ATOMIC & privileges)
access |= IBV_ACCESS_REMOTE_ATOMIC;
@@ -129,8 +113,7 @@ DAT_RETURN dapls_ib_pd_alloc(IN DAPL_IA * ia_ptr, IN DAPL_PZ * pz)
DAT_RETURN dapls_ib_pd_free(IN DAPL_PZ * pz)
{
if (pz->pd_handle != IB_INVALID_HANDLE) {
- if (ibv_dealloc_pd(pz->pd_handle))
- return (dapl_convert_errno(errno, "dealloc_pd"));
+ ibv_dealloc_pd(pz->pd_handle);
pz->pd_handle = IB_INVALID_HANDLE;
}
return DAT_SUCCESS;
@@ -163,6 +146,7 @@ dapls_ib_mr_register(IN DAPL_IA * ia_ptr,
IN DAT_MEM_PRIV_FLAGS privileges, IN DAT_VA_TYPE va_type)
{
ib_pd_handle_t ib_pd_handle;
+ struct ibv_device *ibv_dev = ia_ptr->hca_ptr->ib_hca_handle->device;
ib_pd_handle = ((DAPL_PZ *) lmr->param.pz_handle)->pd_handle;
@@ -177,8 +161,9 @@ dapls_ib_mr_register(IN DAPL_IA * ia_ptr,
return DAT_ERROR(DAT_NOT_IMPLEMENTED, DAT_NO_SUBTYPE);
}
- /* IB verbs does not support */
- if (va_type == DAT_VA_TYPE_ZB) {
+ /* iWARP only support */
+ if ((va_type == DAT_VA_TYPE_ZB) &&
+ (ibv_dev->transport_type != IBV_TRANSPORT_IWARP)) {
dapl_dbg_log(DAPL_DBG_TYPE_ERR,
" va_type == DAT_VA_TYPE_ZB: NOT SUPPORTED\n");
return DAT_ERROR(DAT_NOT_IMPLEMENTED, DAT_NO_SUBTYPE);
@@ -242,8 +227,8 @@ DAT_RETURN dapls_ib_mr_deregister(IN DAPL_LMR * lmr)
* Input:
* ia_ptr IA handle
* lmr pointer to dapl_lmr struct
- * virt_addr virtual address of beginning of mem region
- * length length of memory region
+ * privileges
+ * va_type
*
* Output:
* none
diff --git a/dapl/openib_common/qp.c b/dapl/openib_common/qp.c
new file mode 100644
index 0000000..a8cc56e
--- /dev/null
+++ b/dapl/openib_common/qp.c
@@ -0,0 +1,682 @@
+/*
+ * This Software is licensed under one of the following licenses:
+ *
+ * 1) under the terms of the "Common Public License 1.0" a copy of which is
+ * available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/cpl.php.
+ *
+ * 2) under the terms of the "The BSD License" a copy of which is
+ * available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/bsd-license.php.
+ *
+ * 3) under the terms of the "GNU General Public License (GPL) Version 2" a
+ * copy of which is available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/gpl-license.php.
+ *
+ * Licensee has the right to choose one of the above licenses.
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice and one of the license notices.
+ *
+ * Redistributions in binary form must reproduce both the above copyright
+ * notice, one of the license notices in the documentation
+ * and/or other materials provided with the distribution.
+ */
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "dapl.h"
+#include "dapl_adapter_util.h"
+#include "dapl_ep_util.h"
+#include <infiniband/sa.h>
+#include <rdma/rdma_cma.h>
+
+/*
+ * dapl_ib_qp_alloc
+ *
+ * Alloc a QP
+ *
+ * Input:
+ * *ep_ptr pointer to EP INFO
+ * ib_hca_handle provider HCA handle
+ * ib_pd_handle provider protection domain handle
+ * cq_recv provider recv CQ handle
+ * cq_send provider send CQ handle
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * DAT_SUCCESS
+ * DAT_INSUFFICIENT_RESOURCES
+ * DAT_INTERNAL_ERROR
+ *
+ */
+DAT_RETURN
+dapls_ib_qp_alloc(IN DAPL_IA * ia_ptr,
+ IN DAPL_EP * ep_ptr, IN DAPL_EP * ep_ctx_ptr)
+{
+ DAT_EP_ATTR *attr;
+ DAPL_EVD *rcv_evd, *req_evd;
+ ib_cq_handle_t rcv_cq, req_cq;
+ ib_pd_handle_t ib_pd_handle;
+ struct ibv_qp_init_attr qp_create;
+#ifdef _OPENIB_CMA_
+ dp_ib_cm_handle_t conn;
+#endif
+ dapl_dbg_log(DAPL_DBG_TYPE_EP,
+ " qp_alloc: ia_ptr %p ep_ptr %p ep_ctx_ptr %p\n",
+ ia_ptr, ep_ptr, ep_ctx_ptr);
+
+ attr = &ep_ptr->param.ep_attr;
+ ib_pd_handle = ((DAPL_PZ *) ep_ptr->param.pz_handle)->pd_handle;
+ rcv_evd = (DAPL_EVD *) ep_ptr->param.recv_evd_handle;
+ req_evd = (DAPL_EVD *) ep_ptr->param.request_evd_handle;
+
+ /*
+ * DAT allows usage model of EP's with no EVD's but IB does not.
+ * Create a CQ with zero entries under the covers to support and
+ * catch any invalid posting.
+ */
+ if ((!rcv_evd || !req_evd) && !ia_ptr->hca_ptr->ib_trans.ib_cq_empty) {
+ struct ibv_comp_channel *channel;
+
+ channel = ibv_create_comp_channel(ia_ptr->hca_ptr->ib_hca_handle);
+ if (!channel)
+ return (dapl_convert_errno(ENOMEM, "create_cq_chan"));
+
+ /* Call IB verbs to create CQ */
+ rcv_cq = ibv_create_cq(ia_ptr->hca_ptr->ib_hca_handle,
+ 1, NULL, channel, 0);
+
+ if (rcv_cq == IB_INVALID_HANDLE) {
+ ibv_destroy_comp_channel(channel);
+ return (dapl_convert_errno(ENOMEM, "create_cq"));
+ }
+ ia_ptr->hca_ptr->ib_trans.ib_cq_empty = rcv_cq;
+ }
+
+ if (rcv_evd)
+ rcv_cq = rcv_evd->ib_cq_handle;
+ else
+ rcv_cq = ia_ptr->hca_ptr->ib_trans.ib_cq_empty;
+
+ if (req_evd)
+ req_cq = req_evd->ib_cq_handle;
+ else
+ req_cq = ia_ptr->hca_ptr->ib_trans.ib_cq_empty;
+
+ /*
+ * IMPLEMENTATION NOTE:
+ * uDAPL allows consumers to post buffers on the EP after creation
+ * and before a connect request (outbound and inbound). This forces
+ * a binding to a device during the hca_open call and requires the
+ * consumer to predetermine which device to listen on or connect from.
+ * This restriction eliminates any option of listening or connecting
+ * over multiple devices. uDAPL should add API's to resolve addresses
+ * and bind to the device at the approriate time (before connect
+ * and after CR arrives). Discovery should happen at connection time
+ * based on addressing and not on static configuration during open.
+ */
+
+#ifdef _OPENIB_CMA_
+ /* Allocate CM and initialize lock */
+ if ((conn = dapls_ib_cm_create(ep_ptr)) == NULL)
+ return (dapl_convert_errno(ENOMEM, "cm_create"));
+
+ /* open identifies the local device; per DAT specification */
+ if (rdma_bind_addr(conn->cm_id,
+ (struct sockaddr *)&ia_ptr->hca_ptr->hca_address)) {
+ dapls_cm_free(conn);
+ return (dapl_convert_errno(EAFNOSUPPORT, "rdma_bind_addr"));
+ }
+#endif
+ /* Setup attributes and create qp */
+ dapl_os_memzero((void *)&qp_create, sizeof(qp_create));
+ qp_create.recv_cq = rcv_cq;
+ qp_create.cap.max_recv_wr = rcv_evd ? attr->max_recv_dtos:0;
+ qp_create.cap.max_recv_sge = rcv_evd ? attr->max_recv_iov:0;
+ qp_create.send_cq = req_cq;
+ qp_create.cap.max_send_wr = req_evd ? attr->max_request_dtos:0;
+ qp_create.cap.max_send_sge = req_evd ? attr->max_request_iov:0;
+ qp_create.cap.max_inline_data =
+ ia_ptr->hca_ptr->ib_trans.max_inline_send;
+ qp_create.qp_type = IBV_QPT_RC;
+ qp_create.qp_context = (void *)ep_ptr;
+
+#ifdef DAT_EXTENSIONS
+ if (attr->service_type == DAT_IB_SERVICE_TYPE_UD) {
+#ifdef _OPENIB_CMA_
+ return (DAT_NOT_IMPLEMENTED);
+#endif
+ qp_create.qp_type = IBV_QPT_UD;
+ if (attr->max_message_size >
+ (128 << ia_ptr->hca_ptr->ib_trans.mtu)) {
+ return (DAT_INVALID_PARAMETER | DAT_INVALID_ARG6);
+ }
+ }
+#endif
+
+#ifdef _OPENIB_CMA_
+ if (rdma_create_qp(conn->cm_id, ib_pd_handle, &qp_create)) {
+ dapls_cm_free(conn);
+ return (dapl_convert_errno(errno, "rdma_create_qp"));
+ }
+ ep_ptr->qp_handle = conn->cm_id->qp;
+ ep_ptr->qp_state = IBV_QPS_INIT;
+
+ ep_ptr->param.local_port_qual = rdma_get_src_port(conn->cm_id);
+#else
+ ep_ptr->qp_handle = ibv_create_qp(ib_pd_handle, &qp_create);
+ if (!ep_ptr->qp_handle)
+ return (dapl_convert_errno(ENOMEM, "create_qp"));
+
+ /* Setup QP attributes for INIT state on the way out */
+ if (dapls_modify_qp_state(ep_ptr->qp_handle,
+ IBV_QPS_INIT, 0, 0, 0) != DAT_SUCCESS) {
+ ibv_destroy_qp(ep_ptr->qp_handle);
+ ep_ptr->qp_handle = IB_INVALID_HANDLE;
+ return DAT_INTERNAL_ERROR;
+ }
+#endif
+ dapl_dbg_log(DAPL_DBG_TYPE_EP,
+ " qp_alloc: qpn 0x%x type %d sq %d,%d rq %d,%d\n",
+ ep_ptr->qp_handle->qp_num, ep_ptr->qp_handle->qp_type,
+ qp_create.cap.max_send_wr, qp_create.cap.max_send_sge,
+ qp_create.cap.max_recv_wr, qp_create.cap.max_recv_sge);
+
+ return DAT_SUCCESS;
+}
+
+/*
+ * dapl_ib_qp_free
+ *
+ * Free a QP
+ *
+ * Input:
+ * ia_handle IA handle
+ * *ep_ptr pointer to EP INFO
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * DAT_SUCCESS
+ * dapl_convert_errno
+ *
+ */
+DAT_RETURN dapls_ib_qp_free(IN DAPL_IA * ia_ptr, IN DAPL_EP * ep_ptr)
+{
+ struct ibv_qp *qp;
+ struct ibv_qp_attr qp_attr;
+
+#ifdef _OPENIB_CMA_
+ dp_ib_cm_handle_t cm_ptr = dapl_get_cm_from_ep(ep_ptr);
+ if (!cm_ptr)
+ return DAT_SUCCESS;
+#endif
+
+ dapl_os_lock(&ep_ptr->header.lock);
+ if (ep_ptr->qp_handle != NULL) {
+ qp = ep_ptr->qp_handle;
+ dapl_os_unlock(&ep_ptr->header.lock);
+
+ qp_attr.qp_state = IBV_QPS_ERR;
+ ibv_modify_qp(qp, &qp_attr, IBV_QP_STATE);
+ dapls_ep_flush_cqs(ep_ptr);
+
+ ep_ptr->qp_handle = NULL;
+#ifdef _OPENIB_CMA_
+ rdma_destroy_qp(cm_ptr->cm_id);
+ cm_ptr->cm_id->qp = NULL;
+#else
+ if (ibv_destroy_qp(qp)) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " qp_free: ibv_destroy_qp error - %s\n",
+ strerror(errno));
+ }
+#endif
+ } else {
+ dapl_os_unlock(&ep_ptr->header.lock);
+ }
+ return DAT_SUCCESS;
+}
+
+/*
+ * dapl_ib_qp_modify
+ *
+ * Set the QP to the parameters specified in an EP_PARAM
+ *
+ * The EP_PARAM structure that is provided has been
+ * sanitized such that only non-zero values are valid.
+ *
+ * Input:
+ * ib_hca_handle HCA handle
+ * qp_handle QP handle
+ * ep_attr Sanitized EP Params
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * DAT_SUCCESS
+ * DAT_INSUFFICIENT_RESOURCES
+ * DAT_INVALID_PARAMETER
+ *
+ */
+DAT_RETURN
+dapls_ib_qp_modify(IN DAPL_IA * ia_ptr,
+ IN DAPL_EP * ep_ptr, IN DAT_EP_ATTR * attr)
+{
+ struct ibv_qp_attr qp_attr;
+
+ if (ep_ptr->qp_handle == IB_INVALID_HANDLE)
+ return DAT_INVALID_PARAMETER;
+
+ /*
+ * EP state, qp_handle state should be an indication
+ * of current state but the only way to be sure is with
+ * a user mode ibv_query_qp call which is NOT available
+ */
+
+ /* move to error state if necessary */
+ if ((ep_ptr->qp_state == IB_QP_STATE_ERROR) &&
+ (ep_ptr->qp_handle->state != IBV_QPS_ERR)) {
+ return (dapls_modify_qp_state(ep_ptr->qp_handle,
+ IBV_QPS_ERR, 0, 0, 0));
+ }
+
+ /* consumer ep_modify, init state */
+ if (ep_ptr->qp_handle->state == IBV_QPS_INIT) {
+ return (dapls_modify_qp_state(ep_ptr->qp_handle,
+ IBV_QPS_INIT, 0, 0, 0));
+ }
+
+ /*
+ * Check if we have the right qp_state to modify attributes
+ */
+ if ((ep_ptr->qp_handle->state != IBV_QPS_RTR) &&
+ (ep_ptr->qp_handle->state != IBV_QPS_RTS))
+ return DAT_INVALID_STATE;
+
+ /* Adjust to current EP attributes */
+ dapl_os_memzero((void *)&qp_attr, sizeof(qp_attr));
+ qp_attr.cap.max_send_wr = attr->max_request_dtos;
+ qp_attr.cap.max_recv_wr = attr->max_recv_dtos;
+ qp_attr.cap.max_send_sge = attr->max_request_iov;
+ qp_attr.cap.max_recv_sge = attr->max_recv_iov;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EP,
+ "modify_qp: qp %p sq %d,%d, rq %d,%d\n",
+ ep_ptr->qp_handle,
+ qp_attr.cap.max_send_wr, qp_attr.cap.max_send_sge,
+ qp_attr.cap.max_recv_wr, qp_attr.cap.max_recv_sge);
+
+ if (ibv_modify_qp(ep_ptr->qp_handle, &qp_attr, IBV_QP_CAP)) {
+ dapl_dbg_log(DAPL_DBG_TYPE_ERR,
+ "modify_qp: modify ep %p qp %p failed\n",
+ ep_ptr, ep_ptr->qp_handle);
+ return (dapl_convert_errno(errno, "modify_qp_state"));
+ }
+
+ return DAT_SUCCESS;
+}
+
+/*
+ * dapls_ib_reinit_ep
+ *
+ * Move the QP to INIT state again.
+ *
+ * Input:
+ * ep_ptr DAPL_EP
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * void
+ *
+ */
+#if defined(_WIN32) || defined(_WIN64) || defined(_OPENIB_CMA_)
+void dapls_ib_reinit_ep(IN DAPL_EP * ep_ptr)
+{
+ dp_ib_cm_handle_t cm_ptr, next_cm_ptr;
+
+ /* work around bug in low level driver - 3/24/09 */
+ /* RTS -> RESET -> INIT -> ERROR QP transition crashes system */
+ if (ep_ptr->qp_handle != IB_INVALID_HANDLE) {
+ dapls_ib_qp_free(ep_ptr->header.owner_ia, ep_ptr);
+
+ /* free any CM object's created */
+ cm_ptr = (dapl_llist_is_empty(&ep_ptr->cm_list_head)
+ ? NULL : dapl_llist_peek_head(&ep_ptr->cm_list_head));
+ while (cm_ptr != NULL) {
+ next_cm_ptr = dapl_llist_next_entry(&ep_ptr->cm_list_head,
+ &cm_ptr->list_entry);
+ dapls_cm_free(cm_ptr);
+ cm_ptr = next_cm_ptr;
+ }
+ dapls_ib_qp_alloc(ep_ptr->header.owner_ia, ep_ptr, ep_ptr);
+ }
+}
+#else // _WIN32 || _WIN64
+void dapls_ib_reinit_ep(IN DAPL_EP * ep_ptr)
+{
+ if (ep_ptr->qp_handle != IB_INVALID_HANDLE &&
+ ep_ptr->qp_handle->qp_type != IBV_QPT_UD) {
+ /* move to RESET state and then to INIT */
+ dapls_modify_qp_state(ep_ptr->qp_handle, IBV_QPS_RESET,0,0,0);
+ dapls_modify_qp_state(ep_ptr->qp_handle, IBV_QPS_INIT,0,0,0);
+ }
+}
+#endif // _WIN32 || _WIN64
+
+#if DAPL_USE_IBACM
+#ifndef RAI_NOROUTE
+#define RAI_NOROUTE 0
+#endif
+uint8_t dapls_get_sl(DAPL_HCA *hca_ptr, uint16_t dlid)
+{
+ struct rdma_addrinfo hint, *res;
+ struct ibv_path_record path;
+ uint8_t sl = hca_ptr->ib_trans.sl;
+ int ret;
+
+ memset(&path, 0, sizeof path);
+ path.reversible_numpath = IBV_PATH_RECORD_REVERSIBLE | 1;
+ path.slid = hca_ptr->ib_trans.lid;
+ path.dlid = dlid;
+
+ memset(&hint, 0, sizeof hint);
+ hint.ai_flags = RAI_NOROUTE;
+ hint.ai_route = &path;
+ hint.ai_route_len = sizeof(path);
+
+ ret = rdma_getaddrinfo(NULL, NULL, &hint, &res);
+ if (ret)
+ goto out;
+
+ if (res->ai_route_len)
+ sl = ntohs(((struct ibv_path_record *) res->ai_route)->
+ qosclass_sl) & 0xF;
+ else
+ dapl_log(DAPL_DBG_TYPE_CM_WARN,
+ " dapls_get_sl: Warning, route miss 0x%x -> 0x%x\n",
+ path.slid, path.dlid);
+
+ rdma_freeaddrinfo(res);
+out:
+ return sl;
+}
+#else
+uint8_t dapls_get_sl(DAPL_HCA *hca_ptr, uint16_t dlid)
+{
+ return hca_ptr->ib_trans.sl;
+}
+#endif
+
+/*
+ * Generic QP modify for init, reset, error, RTS, RTR
+ * For UD, create_ah on RTR, qkey on INIT
+ * CM msg provides QP attributes, info in network order
+ */
+DAT_RETURN
+dapls_modify_qp_state(IN ib_qp_handle_t qp_handle,
+ IN ib_qp_state_t qp_state,
+ IN uint32_t qpn,
+ IN uint16_t lid,
+ IN ib_gid_handle_t gid)
+{
+ struct ibv_qp_attr qp_attr;
+ enum ibv_qp_attr_mask mask = IBV_QP_STATE;
+ DAPL_EP *ep_ptr = (DAPL_EP *) qp_handle->qp_context;
+ DAPL_IA *ia_ptr = ep_ptr->header.owner_ia;
+ int ret;
+
+ dapl_os_memzero((void *)&qp_attr, sizeof(qp_attr));
+ qp_attr.qp_state = qp_state;
+
+ switch (qp_state) {
+ case IBV_QPS_RTR:
+ dapl_dbg_log(DAPL_DBG_TYPE_EP,
+ " QPS_RTR: type %d qpn 0x%x gid %p (%d) lid 0x%x"
+ " port %d ep %p qp_state %d rd_atomic %d\n",
+ qp_handle->qp_type, ntohl(qpn), gid,
+ ia_ptr->hca_ptr->ib_trans.global,
+ ntohs(lid), ia_ptr->hca_ptr->port_num,
+ ep_ptr, ep_ptr->qp_state,
+ ep_ptr->param.ep_attr.max_rdma_read_in);
+
+ mask |= IBV_QP_AV |
+ IBV_QP_PATH_MTU |
+ IBV_QP_DEST_QPN |
+ IBV_QP_RQ_PSN |
+ IBV_QP_MAX_DEST_RD_ATOMIC | IBV_QP_MIN_RNR_TIMER;
+
+ qp_attr.dest_qp_num = ntohl(qpn);
+ qp_attr.rq_psn = 1;
+ qp_attr.path_mtu = ia_ptr->hca_ptr->ib_trans.mtu;
+ qp_attr.max_dest_rd_atomic =
+ ep_ptr->param.ep_attr.max_rdma_read_in;
+ qp_attr.min_rnr_timer =
+ ia_ptr->hca_ptr->ib_trans.rnr_timer;
+
+ /* address handle. RC and UD */
+ qp_attr.ah_attr.dlid = ntohs(lid);
+ if (gid && ia_ptr->hca_ptr->ib_trans.global) {
+ dapl_dbg_log(DAPL_DBG_TYPE_EP,
+ " QPS_RTR: GID Subnet 0x" F64x " ID 0x" F64x "\n",
+ (unsigned long long)htonll(gid->global.subnet_prefix),
+ (unsigned long long)htonll(gid->global.interface_id));
+
+ qp_attr.ah_attr.is_global = 1;
+ qp_attr.ah_attr.grh.dgid.global.subnet_prefix =
+ gid->global.subnet_prefix;
+ qp_attr.ah_attr.grh.dgid.global.interface_id =
+ gid->global.interface_id;
+ qp_attr.ah_attr.grh.hop_limit =
+ ia_ptr->hca_ptr->ib_trans.hop_limit;
+ qp_attr.ah_attr.grh.traffic_class =
+ ia_ptr->hca_ptr->ib_trans.tclass;
+ }
+ qp_attr.ah_attr.sl = dapls_get_sl(ia_ptr->hca_ptr, lid);
+ qp_attr.ah_attr.src_path_bits = 0;
+ qp_attr.ah_attr.port_num = ia_ptr->hca_ptr->port_num;
+
+ /* UD: already in RTR, RTS state */
+ if (qp_handle->qp_type == IBV_QPT_UD) {
+ mask = IBV_QP_STATE;
+ if (ep_ptr->qp_state == IBV_QPS_RTR ||
+ ep_ptr->qp_state == IBV_QPS_RTS)
+ return DAT_SUCCESS;
+ }
+ break;
+ case IBV_QPS_RTS:
+ if (qp_handle->qp_type == IBV_QPT_RC) {
+ mask |= IBV_QP_SQ_PSN |
+ IBV_QP_TIMEOUT |
+ IBV_QP_RETRY_CNT |
+ IBV_QP_RNR_RETRY | IBV_QP_MAX_QP_RD_ATOMIC;
+ qp_attr.timeout =
+ ia_ptr->hca_ptr->ib_trans.ack_timer;
+ qp_attr.retry_cnt =
+ ia_ptr->hca_ptr->ib_trans.ack_retry;
+ qp_attr.rnr_retry =
+ ia_ptr->hca_ptr->ib_trans.rnr_retry;
+ qp_attr.max_rd_atomic =
+ ep_ptr->param.ep_attr.max_rdma_read_out;
+ }
+ /* RC and UD */
+ qp_attr.qp_state = IBV_QPS_RTS;
+ qp_attr.sq_psn = 1;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EP,
+ " QPS_RTS: psn %x rd_atomic %d ack %d "
+ " retry %d rnr_retry %d ep %p qp_state %d\n",
+ qp_attr.sq_psn, qp_attr.max_rd_atomic,
+ qp_attr.timeout, qp_attr.retry_cnt,
+ qp_attr.rnr_retry, ep_ptr,
+ ep_ptr->qp_state);
+
+ if (qp_handle->qp_type == IBV_QPT_UD) {
+ /* already RTS, multi remote AH's on QP */
+ if (ep_ptr->qp_state == IBV_QPS_RTS)
+ return DAT_SUCCESS;
+ else
+ mask = IBV_QP_STATE | IBV_QP_SQ_PSN;
+ }
+ break;
+ case IBV_QPS_INIT:
+ mask |= IBV_QP_PKEY_INDEX | IBV_QP_PORT;
+ if (qp_handle->qp_type == IBV_QPT_RC) {
+ mask |= IBV_QP_ACCESS_FLAGS;
+ qp_attr.qp_access_flags =
+ IBV_ACCESS_LOCAL_WRITE |
+ IBV_ACCESS_REMOTE_WRITE |
+ IBV_ACCESS_REMOTE_READ |
+ IBV_ACCESS_REMOTE_ATOMIC |
+ IBV_ACCESS_MW_BIND;
+ }
+
+ if (qp_handle->qp_type == IBV_QPT_UD) {
+ /* already INIT, multi remote AH's on QP */
+ if (ep_ptr->qp_state == IBV_QPS_INIT)
+ return DAT_SUCCESS;
+ mask |= IBV_QP_QKEY;
+ qp_attr.qkey = DAT_UD_QKEY;
+ }
+
+ qp_attr.pkey_index = ia_ptr->hca_ptr->ib_trans.pkey_idx;
+ qp_attr.port_num = ia_ptr->hca_ptr->port_num;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EP,
+ " QPS_INIT: pi %x port %x acc %x qkey 0x%x\n",
+ qp_attr.pkey_index, qp_attr.port_num,
+ qp_attr.qp_access_flags, qp_attr.qkey);
+ break;
+ default:
+ break;
+ }
+
+ ret = ibv_modify_qp(qp_handle, &qp_attr, mask);
+ if (ret == 0) {
+ ep_ptr->qp_state = qp_state;
+ return DAT_SUCCESS;
+ } else {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " RTR ERR: type %d qpn 0x%x gid %p (%d) lid 0x%x"
+ " port %d state %d mtu %d rd %d rnr %d sl %d\n",
+ qp_handle->qp_type, ntohl(qpn), gid,
+ ia_ptr->hca_ptr->ib_trans.global,
+ ntohs(lid), ia_ptr->hca_ptr->port_num,
+ ep_ptr->qp_state,
+ qp_attr.path_mtu, qp_attr.max_dest_rd_atomic,
+ qp_attr.min_rnr_timer, qp_attr.ah_attr.sl);
+
+ return (dapl_convert_errno(errno, "modify_qp_state"));
+ }
+}
+
+/* Modify UD type QP from init, rtr, rts, info network order */
+DAT_RETURN
+dapls_modify_qp_ud(IN DAPL_HCA *hca, IN ib_qp_handle_t qp)
+{
+ struct ibv_qp_attr qp_attr;
+
+ /* modify QP, setup and prepost buffers */
+ dapl_os_memzero((void *)&qp_attr, sizeof(qp_attr));
+ qp_attr.qp_state = IBV_QPS_INIT;
+ qp_attr.pkey_index = hca->ib_trans.pkey_idx;
+ qp_attr.port_num = hca->port_num;
+ qp_attr.qkey = DAT_UD_QKEY;
+ if (ibv_modify_qp(qp, &qp_attr,
+ IBV_QP_STATE |
+ IBV_QP_PKEY_INDEX |
+ IBV_QP_PORT |
+ IBV_QP_QKEY)) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " modify_ud_qp INIT: ERR %s\n", strerror(errno));
+ return (dapl_convert_errno(errno, "modify_qp"));
+ }
+ dapl_os_memzero((void *)&qp_attr, sizeof(qp_attr));
+ qp_attr.qp_state = IBV_QPS_RTR;
+ if (ibv_modify_qp(qp, &qp_attr,IBV_QP_STATE)) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " modify_ud_qp RTR: ERR %s\n", strerror(errno));
+ return (dapl_convert_errno(errno, "modify_qp"));
+ }
+ dapl_os_memzero((void *)&qp_attr, sizeof(qp_attr));
+ qp_attr.qp_state = IBV_QPS_RTS;
+ qp_attr.sq_psn = 1;
+ if (ibv_modify_qp(qp, &qp_attr,
+ IBV_QP_STATE | IBV_QP_SQ_PSN)) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " modify_ud_qp RTS: ERR %s\n", strerror(errno));
+ return (dapl_convert_errno(errno, "modify_qp"));
+ }
+ return DAT_SUCCESS;
+}
+
+/* Create address handle for remote QP, info in network order */
+ib_ah_handle_t
+dapls_create_ah(IN DAPL_HCA *hca,
+ IN ib_pd_handle_t pd,
+ IN ib_qp_handle_t qp,
+ IN uint16_t lid,
+ IN ib_gid_handle_t gid)
+{
+ struct ibv_qp_attr qp_attr;
+ ib_ah_handle_t ah;
+
+ if (qp->qp_type != IBV_QPT_UD) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " create_ah ERR: QP_type != UD\n");
+ return NULL;
+ }
+
+ dapl_os_memzero((void *)&qp_attr, sizeof(qp_attr));
+ qp_attr.qp_state = IBV_QP_STATE;
+
+ /* address handle. RC and UD */
+ qp_attr.ah_attr.dlid = ntohs(lid);
+ if (gid != NULL) {
+ dapl_log(DAPL_DBG_TYPE_CM, "dapl_create_ah: with GID\n");
+ qp_attr.ah_attr.is_global = 1;
+ qp_attr.ah_attr.grh.dgid.global.subnet_prefix =
+ ntohll(gid->global.subnet_prefix);
+ qp_attr.ah_attr.grh.dgid.global.interface_id =
+ ntohll(gid->global.interface_id);
+ qp_attr.ah_attr.grh.hop_limit = hca->ib_trans.hop_limit;
+ qp_attr.ah_attr.grh.traffic_class = hca->ib_trans.tclass;
+ }
+ qp_attr.ah_attr.sl = dapls_get_sl(hca, lid);
+ qp_attr.ah_attr.src_path_bits = 0;
+ qp_attr.ah_attr.port_num = hca->port_num;
+
+ dapl_log(DAPL_DBG_TYPE_CM,
+ " dapls_create_ah: port %x lid %x pd %p ctx %p handle 0x%x\n",
+ hca->port_num,qp_attr.ah_attr.dlid, pd, pd->context, pd->handle);
+
+ /* UD: create AH for remote side */
+ ah = ibv_create_ah(pd, &qp_attr.ah_attr);
+ if (!ah) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " create_ah: ERR %s\n", strerror(errno));
+ return NULL;
+ }
+
+ dapl_log(DAPL_DBG_TYPE_CM,
+ " dapls_create_ah: AH %p for lid %x\n",
+ ah, qp_attr.ah_attr.dlid);
+
+ return ah;
+}
+
+/*
+ * Local variables:
+ * c-indent-level: 4
+ * c-basic-offset: 4
+ * tab-width: 8
+ * End:
+ */
diff --git a/dapl/openib_common/util.c b/dapl/openib_common/util.c
new file mode 100644
index 0000000..258d172
--- /dev/null
+++ b/dapl/openib_common/util.c
@@ -0,0 +1,849 @@
+/*
+ * This Software is licensed under one of the following licenses:
+ *
+ * 1) under the terms of the "Common Public License 1.0" a copy of which is
+ * available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/cpl.php.
+ *
+ * 2) under the terms of the "The BSD License" a copy of which is
+ * available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/bsd-license.php.
+ *
+ * 3) under the terms of the "GNU General Public License (GPL) Version 2" a
+ * copy of which is available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/gpl-license.php.
+ *
+ * Licensee has the right to choose one of the above licenses.
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice and one of the license notices.
+ *
+ * Redistributions in binary form must reproduce both the above copyright
+ * notice, one of the license notices in the documentation
+ * and/or other materials provided with the distribution.
+ */
+#include "dapl.h"
+#include "dapl_adapter_util.h"
+#include "dapl_ib_util.h"
+#include "dapl_osd.h"
+
+#include <stdlib.h>
+#include <ifaddrs.h>
+
+int g_dapl_loopback_connection = 0;
+
+#if defined(_WIN64) || defined(_WIN32)
+#include "..\..\..\..\..\etc\user\comp_channel.cpp"
+#include <rdma\winverbs.h>
+
+int getipaddr_netdev(char *name, char *addr, int addr_len)
+{
+ IWVProvider *prov;
+ WV_DEVICE_ADDRESS devaddr;
+ struct addrinfo *res, *ai;
+ HRESULT hr;
+ int index;
+
+ if (strncmp(name, "rdma_dev", 8)) {
+ return EINVAL;
+ }
+
+ index = atoi(name + 8);
+
+ hr = WvGetObject(&IID_IWVProvider, (LPVOID *) &prov);
+ if (FAILED(hr)) {
+ return hr;
+ }
+
+ hr = getaddrinfo("..localmachine", NULL, NULL, &res);
+ if (hr) {
+ goto release;
+ }
+
+ for (ai = res; ai; ai = ai->ai_next) {
+ hr = prov->lpVtbl->TranslateAddress(prov, ai->ai_addr, &devaddr);
+ if (SUCCEEDED(hr) && (ai->ai_addrlen <= addr_len) && (index-- == 0)) {
+ memcpy(addr, ai->ai_addr, ai->ai_addrlen);
+ goto free;
+ }
+ }
+ hr = ENODEV;
+
+free:
+ freeaddrinfo(res);
+release:
+ prov->lpVtbl->Release(prov);
+ return hr;
+}
+
+DAT_RETURN getlocalipaddr(char *addr, int addr_len)
+{
+ struct sockaddr_in *sin;
+ struct addrinfo *res, hint, *ai;
+ int ret;
+ char hostname[256];
+ char *netdev = getenv("DAPL_SCM_NETDEV");
+
+retry:
+ /* use provided netdev instead of default hostname */
+ if (netdev != NULL) {
+ ret = getipaddr_netdev(netdev, addr, addr_len);
+ if (ret) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " getlocalipaddr: NETDEV = %s"
+ " but not configured on system? ERR = %s\n",
+ netdev, strerror(ret));
+ return dapl_convert_errno(ret, "getlocalipaddr");
+ } else
+ return DAT_SUCCESS;
+ }
+
+ if (addr_len < sizeof(*sin)) {
+ return DAT_INTERNAL_ERROR;
+ }
+
+ ret = gethostname(hostname, 256);
+ if (ret)
+ return dapl_convert_errno(ret, "gethostname");
+
+ memset(&hint, 0, sizeof hint);
+ hint.ai_flags = AI_PASSIVE;
+ hint.ai_family = AF_INET;
+ hint.ai_socktype = SOCK_STREAM;
+ hint.ai_protocol = IPPROTO_TCP;
+
+ ret = getaddrinfo(hostname, NULL, &hint, &res);
+ if (ret) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " getaddrinfo ERR: %d %s\n", ret, gai_strerror(ret));
+ return DAT_INVALID_ADDRESS;
+ }
+
+ ret = DAT_INVALID_ADDRESS;
+ for (ai = res; ai; ai = ai->ai_next) {
+ sin = (struct sockaddr_in *)ai->ai_addr;
+ if (*((uint32_t *) & sin->sin_addr) != htonl(0x7f000001)) {
+ *((struct sockaddr_in *)addr) = *sin;
+ ret = DAT_SUCCESS;
+ break;
+ }
+ }
+
+ freeaddrinfo(res);
+
+ /* only loopback found, retry netdev eth0 */
+ if (ret == DAT_INVALID_ADDRESS) {
+ netdev = "eth0";
+ goto retry;
+ }
+
+ return ret;
+}
+#else // _WIN64 || WIN32
+
+/* Get IP address using network device name */
+int getipaddr_netdev(char *name, char *addr, int addr_len)
+{
+ struct ifreq ifr;
+ int skfd, ret, len;
+
+ /* Fill in the structure */
+ snprintf(ifr.ifr_name, IFNAMSIZ, "%s", name);
+
+ /* Create a socket fd */
+ skfd = socket(PF_INET, SOCK_STREAM, 0);
+ ret = ioctl(skfd, SIOCGIFADDR, &ifr);
+ if (ret)
+ goto bail;
+
+ switch (ifr.ifr_addr.sa_family) {
+#ifdef AF_INET6
+ case AF_INET6:
+ len = sizeof(struct sockaddr_in6);
+ break;
+#endif
+ case AF_INET:
+ default:
+ len = sizeof(struct sockaddr);
+ break;
+ }
+
+ if (len <= addr_len)
+ memcpy(addr, &ifr.ifr_addr, len);
+ else
+ ret = EINVAL;
+
+ bail:
+ close(skfd);
+ return ret;
+}
+
+/* IPv4 only, use IB if netdev set or it's the only interface */
+DAT_RETURN getlocalipaddr (char *addr, int addr_len)
+{
+ struct ifaddrs *ifap, *ifa;
+ int ret, found=0, ib_ok=0;
+ char *netdev = getenv("DAPL_SCM_NETDEV");
+
+ if (netdev != NULL) {
+ ret = getipaddr_netdev(netdev, addr, addr_len);
+ if (ret) {
+ dapl_log(DAPL_DBG_TYPE_ERR, " ERR: NETDEV = %s"
+ " but not configured on system?\n", netdev);
+ return dapl_convert_errno(errno, "getlocalipaddr");
+ } else {
+ dapl_log(DAPL_DBG_TYPE_UTIL," my_addr %s NETDEV = %s\n",
+ inet_ntoa(((struct sockaddr_in *)addr)->sin_addr),
+ netdev);
+ return DAT_SUCCESS;
+ }
+ }
+
+ if ((ret = getifaddrs (&ifap)))
+ return dapl_convert_errno(errno, "getifaddrs");
+
+retry:
+ for (ifa = ifap; ifa; ifa = ifa->ifa_next) {
+ if (ifa->ifa_addr->sa_family == AF_INET) {
+ if (!found && !(ifa->ifa_flags & IFF_LOOPBACK) &&
+ ((!ib_ok && dapl_os_pstrcmp("ib", ifa->ifa_name)) ||
+ (ib_ok && !dapl_os_pstrcmp("ib", ifa->ifa_name)))) {
+ memcpy(addr, ifa->ifa_addr, sizeof(struct sockaddr_in));
+ found++;
+ }
+ dapl_log(DAPL_DBG_TYPE_UTIL,
+ " getifaddrs: %s -> %s\n", ifa->ifa_name,
+ inet_ntoa(((struct sockaddr_in *)ifa->ifa_addr)->sin_addr));
+ }
+ }
+ if (!found && !ib_ok) {
+ ib_ok = 1;
+ goto retry;
+ }
+ dapl_log(DAPL_DBG_TYPE_UTIL," my_addr %s\n",
+ inet_ntoa(((struct sockaddr_in *)addr)->sin_addr));
+
+ freeifaddrs(ifap);
+ return (found ? DAT_SUCCESS:DAT_INVALID_ADDRESS);
+}
+#endif
+
+enum ibv_mtu dapl_ib_mtu(int mtu)
+{
+ switch (mtu) {
+ case 256:
+ return IBV_MTU_256;
+ case 512:
+ return IBV_MTU_512;
+ case 1024:
+ return IBV_MTU_1024;
+ case 2048:
+ return IBV_MTU_2048;
+ case 4096:
+ return IBV_MTU_4096;
+ default:
+ return IBV_MTU_1024;
+ }
+}
+
+const char *dapl_ib_mtu_str(enum ibv_mtu mtu)
+{
+ switch (mtu) {
+ case IBV_MTU_256:
+ return "256";
+ case IBV_MTU_512:
+ return "512";
+ case IBV_MTU_1024:
+ return "1024";
+ case IBV_MTU_2048:
+ return "2048";
+ case IBV_MTU_4096:
+ return "4096";
+ default:
+ return "1024";
+ }
+}
+
+/*
+ * dapls_ib_query_hca
+ *
+ * Query the hca attribute
+ *
+ * Input:
+ * hca_handl hca handle
+ * ia_attr attribute of the ia
+ * ep_attr attribute of the ep
+ * ip_addr ip address of DET NIC
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * DAT_SUCCESS
+ * DAT_INVALID_HANDLE
+ */
+
+DAT_RETURN dapls_ib_query_hca(IN DAPL_HCA * hca_ptr,
+ OUT DAT_IA_ATTR * ia_attr,
+ OUT DAT_EP_ATTR * ep_attr,
+ OUT DAT_SOCK_ADDR6 * ip_addr)
+{
+ struct ibv_device_attr dev_attr;
+ struct ibv_port_attr port_attr;
+
+ if (hca_ptr->ib_hca_handle == NULL) {
+ dapl_dbg_log(DAPL_DBG_TYPE_ERR, " query_hca: BAD handle\n");
+ return (DAT_INVALID_HANDLE);
+ }
+
+ /* local IP address of device, set during ia_open */
+ if (ip_addr != NULL)
+ memcpy(ip_addr, &hca_ptr->hca_address, sizeof(DAT_SOCK_ADDR6));
+
+ if (ia_attr == NULL && ep_attr == NULL)
+ return DAT_SUCCESS;
+
+ /* query verbs for this device and port attributes */
+ if (ibv_query_device(hca_ptr->ib_hca_handle, &dev_attr) ||
+ ibv_query_port(hca_ptr->ib_hca_handle,
+ hca_ptr->port_num, &port_attr))
+ return (dapl_convert_errno(errno, "ib_query_hca"));
+
+ if (ia_attr != NULL) {
+ (void)dapl_os_memzero(ia_attr, sizeof(*ia_attr));
+ strncpy(ia_attr->adapter_name,
+ ibv_get_device_name(hca_ptr->ib_trans.ib_dev),
+ DAT_NAME_MAX_LENGTH - 1);
+ ia_attr->adapter_name[DAT_NAME_MAX_LENGTH - 1] = '\0';
+ ia_attr->vendor_name[DAT_NAME_MAX_LENGTH - 1] = '\0';
+ ia_attr->ia_address_ptr =
+ (DAT_IA_ADDRESS_PTR) & hca_ptr->hca_address;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " query_hca: %s %s \n",
+ ia_attr->adapter_name,
+ inet_ntoa(((struct sockaddr_in *)
+ &hca_ptr->hca_address)->sin_addr));
+
+ ia_attr->hardware_version_major = dev_attr.hw_ver;
+ /* ia_attr->hardware_version_minor = dev_attr.fw_ver; */
+ ia_attr->max_eps = dev_attr.max_qp;
+ ia_attr->max_dto_per_ep = dev_attr.max_qp_wr;
+ ia_attr->max_rdma_read_in = dev_attr.max_qp_rd_atom;
+ ia_attr->max_rdma_read_out = dev_attr.max_qp_init_rd_atom;
+ ia_attr->max_rdma_read_per_ep_in = dev_attr.max_qp_rd_atom;
+ ia_attr->max_rdma_read_per_ep_out =
+ dev_attr.max_qp_init_rd_atom;
+ ia_attr->max_rdma_read_per_ep_in_guaranteed = DAT_TRUE;
+ ia_attr->max_rdma_read_per_ep_out_guaranteed = DAT_TRUE;
+ ia_attr->max_evds = dev_attr.max_cq;
+ ia_attr->max_evd_qlen = dev_attr.max_cqe;
+ ia_attr->max_iov_segments_per_dto = dev_attr.max_sge;
+ ia_attr->max_lmrs = dev_attr.max_mr;
+ /* 32bit attribute from 64bit, 4G-1 limit, DAT v2 needs fix */
+ ia_attr->max_lmr_block_size =
+ (dev_attr.max_mr_size >> 32) ? ~0 : dev_attr.max_mr_size;
+ ia_attr->max_rmrs = dev_attr.max_mw;
+ ia_attr->max_lmr_virtual_address = dev_attr.max_mr_size;
+ ia_attr->max_rmr_target_address = dev_attr.max_mr_size;
+ ia_attr->max_pzs = dev_attr.max_pd;
+ ia_attr->max_message_size = port_attr.max_msg_sz;
+ ia_attr->max_rdma_size = port_attr.max_msg_sz;
+ /* iWARP spec. - 1 sge for RDMA reads */
+ if (hca_ptr->ib_hca_handle->device->transport_type
+ == IBV_TRANSPORT_IWARP)
+ ia_attr->max_iov_segments_per_rdma_read = 1;
+ else
+ ia_attr->max_iov_segments_per_rdma_read =
+ dev_attr.max_sge;
+ ia_attr->max_iov_segments_per_rdma_write = dev_attr.max_sge;
+ ia_attr->num_transport_attr = 0;
+ ia_attr->transport_attr = NULL;
+ ia_attr->num_vendor_attr = 0;
+ ia_attr->vendor_attr = NULL;
+#ifdef DAT_EXTENSIONS
+ ia_attr->extension_supported = DAT_EXTENSION_IB;
+ ia_attr->extension_version = DAT_IB_EXTENSION_VERSION;
+#endif
+ /* save key device attributes for CM exchange */
+ hca_ptr->ib_trans.rd_atom_in = dev_attr.max_qp_rd_atom;
+ hca_ptr->ib_trans.rd_atom_out = dev_attr.max_qp_init_rd_atom;
+
+ hca_ptr->ib_trans.mtu = DAPL_MIN(port_attr.active_mtu,
+ hca_ptr->ib_trans.mtu);
+ hca_ptr->ib_trans.ack_timer =
+ DAPL_MAX(dev_attr.local_ca_ack_delay,
+ hca_ptr->ib_trans.ack_timer);
+
+ /* set provider/transport specific named attributes */
+ hca_ptr->ib_trans.na.dev = ia_attr->adapter_name;
+ hca_ptr->ib_trans.na.mtu = dapl_ib_mtu_str(hca_ptr->ib_trans.mtu);
+ hca_ptr->ib_trans.na.port = ibv_port_state_str(port_attr.state);
+ hca_ptr->ib_trans.guid = ntohll(ibv_get_device_guid(hca_ptr->ib_trans.ib_dev));
+ sprintf(hca_ptr->ib_trans.guid_str, "%04x:%04x:%04x:%04x",
+ (unsigned) (hca_ptr->ib_trans.guid >> 48) & 0xffff,
+ (unsigned) (hca_ptr->ib_trans.guid >> 32) & 0xffff,
+ (unsigned) (hca_ptr->ib_trans.guid >> 16) & 0xffff,
+ (unsigned) (hca_ptr->ib_trans.guid >> 0) & 0xffff);
+ hca_ptr->ib_trans.na.guid = hca_ptr->ib_trans.guid_str;
+ hca_ptr->ib_trans.na.mode = "DIRECT";
+ hca_ptr->ib_trans.na.read = "TRUE";
+
+ if (hca_ptr->ib_hca_handle->device->transport_type != IBV_TRANSPORT_IB)
+ goto skip_ib;
+
+ /* set SL, PKEY values, defaults = 0 */
+ hca_ptr->ib_trans.pkey_idx = 0;
+ hca_ptr->ib_trans.pkey = htons(dapl_os_get_env_val("DAPL_IB_PKEY", 0));
+ hca_ptr->ib_trans.sl = dapl_os_get_env_val("DAPL_IB_SL", 0);
+
+ /* index provided, get pkey; pkey provided, get index */
+ if (hca_ptr->ib_trans.pkey) {
+ int i; uint16_t pkey = 0;
+ for (i=0; i < dev_attr.max_pkeys; i++) {
+ if (ibv_query_pkey(hca_ptr->ib_hca_handle,
+ hca_ptr->port_num,
+ i, &pkey)) {
+ i = dev_attr.max_pkeys;
+ break;
+ }
+ if (pkey == hca_ptr->ib_trans.pkey) {
+ hca_ptr->ib_trans.pkey_idx = i;
+ break;
+ }
+ }
+ if (i == dev_attr.max_pkeys) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " ERR: new pkey(0x%x), query (%s)"
+ " err or key !found, using default pkey_idx=0\n",
+ ntohs(hca_ptr->ib_trans.pkey), strerror(errno));
+ }
+ }
+skip_ib:
+
+#ifdef DEFINE_ATTR_LINK_LAYER
+#ifndef _OPENIB_CMA_
+ if (port_attr.link_layer == IBV_LINK_LAYER_ETHERNET)
+ hca_ptr->ib_trans.global = 1;
+
+ dapl_log(DAPL_DBG_TYPE_UTIL,
+ " query_hca: port.link_layer = 0x%x\n",
+ port_attr.link_layer);
+#endif
+#endif
+
+#ifdef _WIN32
+#ifndef _OPENIB_CMA_
+ if (port_attr.transport != IBV_TRANSPORT_IB)
+ hca_ptr->ib_trans.global = 1;
+
+ dapl_log(DAPL_DBG_TYPE_UTIL,
+ " query_hca: port.transport %d ib_trans.global %d\n",
+ port_attr.transport, hca_ptr->ib_trans.global);
+#endif
+#endif
+ dapl_log(DAPL_DBG_TYPE_UTIL,
+ " query_hca: (%x.%x) eps %d, sz %d evds %d,"
+ " sz %d mtu %d - pkey %x p_idx %d sl %d\n",
+ ia_attr->hardware_version_major,
+ ia_attr->hardware_version_minor,
+ ia_attr->max_eps, ia_attr->max_dto_per_ep,
+ ia_attr->max_evds, ia_attr->max_evd_qlen,
+ 128 << hca_ptr->ib_trans.mtu,
+ ntohs(hca_ptr->ib_trans.pkey),
+ hca_ptr->ib_trans.pkey_idx,
+ hca_ptr->ib_trans.sl);
+
+ dapl_log(DAPL_DBG_TYPE_UTIL,
+ " query_hca: msg %llu rdma %llu iov %d lmr %d rmr %d"
+ " ack_time %d mr %u\n",
+ ia_attr->max_message_size, ia_attr->max_rdma_size,
+ ia_attr->max_iov_segments_per_dto,
+ ia_attr->max_lmrs, ia_attr->max_rmrs,
+ hca_ptr->ib_trans.ack_timer,
+ ia_attr->max_lmr_block_size);
+ }
+
+ if (ep_attr != NULL) {
+ (void)dapl_os_memzero(ep_attr, sizeof(*ep_attr));
+ ep_attr->max_message_size = port_attr.max_msg_sz;
+ ep_attr->max_rdma_size = port_attr.max_msg_sz;
+ ep_attr->max_recv_dtos = dev_attr.max_qp_wr;
+ ep_attr->max_request_dtos = dev_attr.max_qp_wr;
+ ep_attr->max_recv_iov = dev_attr.max_sge;
+ ep_attr->max_request_iov = dev_attr.max_sge;
+ ep_attr->max_rdma_read_in = dev_attr.max_qp_rd_atom;
+ ep_attr->max_rdma_read_out = dev_attr.max_qp_init_rd_atom;
+ ep_attr->max_rdma_read_iov = dev_attr.max_sge;
+ ep_attr->max_rdma_write_iov = dev_attr.max_sge;
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " query_hca: MAX msg %llu mtu %d qsz %d iov %d"
+ " rdma i%d,o%d\n",
+ ep_attr->max_message_size,
+ 128 << hca_ptr->ib_trans.mtu,
+ ep_attr->max_recv_dtos,
+ ep_attr->max_recv_iov,
+ ep_attr->max_rdma_read_in,
+ ep_attr->max_rdma_read_out);
+ }
+ return DAT_SUCCESS;
+}
+
+/*
+ * dapls_ib_setup_async_callback
+ *
+ * Set up an asynchronous callbacks of various kinds
+ *
+ * Input:
+ * ia_handle IA handle
+ * handler_type type of handler to set up
+ * callback_handle handle param for completion callbacks
+ * callback callback routine pointer
+ * context argument for callback routine
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * DAT_SUCCESS
+ * DAT_INSUFFICIENT_RESOURCES
+ * DAT_INVALID_PARAMETER
+ *
+ */
+DAT_RETURN dapls_ib_setup_async_callback(IN DAPL_IA * ia_ptr,
+ IN DAPL_ASYNC_HANDLER_TYPE
+ handler_type, IN DAPL_EVD * evd_ptr,
+ IN ib_async_handler_t callback,
+ IN void *context)
+{
+ ib_hca_transport_t *hca_ptr;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " setup_async_cb: ia %p type %d handle %p cb %p ctx %p\n",
+ ia_ptr, handler_type, evd_ptr, callback, context);
+
+ hca_ptr = &ia_ptr->hca_ptr->ib_trans;
+ switch (handler_type) {
+ case DAPL_ASYNC_UNAFILIATED:
+ hca_ptr->async_unafiliated = (ib_async_handler_t) callback;
+ hca_ptr->async_un_ctx = context;
+ break;
+ case DAPL_ASYNC_CQ_ERROR:
+ hca_ptr->async_cq_error = (ib_async_cq_handler_t) callback;
+ break;
+ case DAPL_ASYNC_CQ_COMPLETION:
+ hca_ptr->async_cq = (ib_async_dto_handler_t) callback;
+ break;
+ case DAPL_ASYNC_QP_ERROR:
+ hca_ptr->async_qp_error = (ib_async_qp_handler_t) callback;
+ break;
+ default:
+ break;
+ }
+ return DAT_SUCCESS;
+}
+
+void dapli_async_event_cb(struct _ib_hca_transport *hca)
+{
+ struct ibv_async_event event;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " async_event(%p)\n", hca);
+
+ if (hca->destroy)
+ return;
+
+ if (!ibv_get_async_event(hca->ib_ctx, &event)) {
+
+ switch (event.event_type) {
+ case IBV_EVENT_CQ_ERR:
+ {
+ struct dapl_ep *evd_ptr =
+ event.element.cq->cq_context;
+
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ "dapl async_event CQ (%p) ERR %d\n",
+ evd_ptr, event.event_type);
+
+ /* report up if async callback still setup */
+ if (hca->async_cq_error)
+ hca->async_cq_error(hca->ib_ctx,
+ event.element.cq,
+ &event,
+ (void *)evd_ptr);
+ break;
+ }
+ case IBV_EVENT_COMM_EST:
+ {
+ /* Received msgs on connected QP before RTU */
+ dapl_log(DAPL_DBG_TYPE_UTIL,
+ " async_event COMM_EST(%p) rdata beat RTU\n",
+ event.element.qp);
+
+ break;
+ }
+ case IBV_EVENT_QP_FATAL:
+ case IBV_EVENT_QP_REQ_ERR:
+ case IBV_EVENT_QP_ACCESS_ERR:
+ case IBV_EVENT_QP_LAST_WQE_REACHED:
+ case IBV_EVENT_SRQ_ERR:
+ case IBV_EVENT_SRQ_LIMIT_REACHED:
+ case IBV_EVENT_SQ_DRAINED:
+ {
+ struct dapl_ep *ep_ptr =
+ event.element.qp->qp_context;
+
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ "dapl async_event QP (%p) ERR %d\n",
+ ep_ptr, event.event_type);
+
+ /* report up if async callback still setup */
+ if (hca->async_qp_error)
+ hca->async_qp_error(hca->ib_ctx,
+ ep_ptr->qp_handle,
+ &event,
+ (void *)ep_ptr);
+ break;
+ }
+ case IBV_EVENT_PATH_MIG:
+ case IBV_EVENT_PATH_MIG_ERR:
+ case IBV_EVENT_DEVICE_FATAL:
+ case IBV_EVENT_PORT_ACTIVE:
+ case IBV_EVENT_PORT_ERR:
+ case IBV_EVENT_LID_CHANGE:
+ case IBV_EVENT_PKEY_CHANGE:
+ case IBV_EVENT_SM_CHANGE:
+ {
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ "dapl async_event: DEV ERR %d\n",
+ event.event_type);
+
+ /* report up if async callback still setup */
+ if (hca->async_unafiliated)
+ hca->async_unafiliated(hca->ib_ctx,
+ &event,
+ hca->async_un_ctx);
+ break;
+ }
+ case IBV_EVENT_CLIENT_REREGISTER:
+ /* no need to report this event this time */
+ dapl_log(DAPL_DBG_TYPE_UTIL,
+ " async_event: IBV_CLIENT_REREGISTER\n");
+ break;
+
+ default:
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ "dapl async_event: %d UNKNOWN\n",
+ event.event_type);
+ break;
+
+ }
+ ibv_ack_async_event(&event);
+ }
+}
+
+/*
+ * dapls_query_provider_specific_attrs
+ *
+ * Common for openib providers: cma, ucm, scm, mcm
+ *
+ * Input:
+ * attr_ptr Pointer provider specific attributes
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * void
+ */
+DAT_NAMED_ATTR ib_attrs[] = {
+ {
+ "DAT_IB_PROVIDER_NAME", PROVIDER_NAME}
+ ,
+ {
+ "DAT_IB_DEVICE_NAME", "OFA_HCA_0000"}
+ ,
+ {
+ "DAT_IB_CONNECTIVITY_MODE", "DIRECT"}
+ ,
+ {
+ "DAT_IB_RDMA_READ", "TRUE"}
+ ,
+ {
+ "DAT_IB_NODE_GUID", "xxxx:xxxx:xxxx:xxxx"}
+ ,
+ {
+ "DAT_IB_TRANSPORT_MTU", "2048"}
+ ,
+ {
+ "DAT_IB_PORT_STATUS", "UNKNOWN"}
+ ,
+#ifdef DAT_EXTENSIONS
+ {
+ "DAT_EXTENSION_INTERFACE", "TRUE"}
+ ,
+ {
+ DAT_IB_ATTR_FETCH_AND_ADD, "TRUE"}
+ ,
+ {
+ DAT_IB_ATTR_CMP_AND_SWAP, "TRUE"}
+ ,
+ {
+ DAT_IB_ATTR_IMMED_DATA, "TRUE"}
+ ,
+#ifdef DAT_IB_COLLECTIVES
+ {
+ DAT_IB_COLL_BARRIER, "TRUE"}
+ ,
+ {
+ DAT_IB_COLL_BROADCAST, "TRUE"}
+ ,
+ {
+ DAT_IB_COLL_REDUCE, "TRUE"}
+ ,
+ {
+ DAT_IB_COLL_ALLREDUCE, "TRUE"}
+ ,
+ {
+ DAT_IB_COLL_ALLGATHER, "TRUE"}
+ ,
+ {
+ DAT_IB_COLL_ALLGATHERV, "TRUE"}
+ ,
+#endif /* DAT_IB_COLLECTIVES */
+#ifndef _OPENIB_CMA_
+ {
+ DAT_IB_ATTR_UD, "TRUE"}
+ ,
+#endif
+#ifdef DAPL_COUNTERS
+ {
+ DAT_ATTR_COUNTERS, "TRUE"}
+ ,
+#endif /* DAPL_COUNTERS */
+#endif
+};
+
+#define SPEC_ATTR_SIZE( x ) (sizeof( x ) / sizeof( DAT_NAMED_ATTR))
+
+void dapls_query_provider_specific_attr(IN DAPL_IA * ia_ptr,
+ IN DAT_PROVIDER_ATTR * attr_ptr)
+{
+ attr_ptr->num_provider_specific_attr = SPEC_ATTR_SIZE(ib_attrs);
+ attr_ptr->provider_specific_attr = ib_attrs;
+
+ /* update common attributes from providers */
+ ib_attrs[1].value = ia_ptr->hca_ptr->ib_trans.na.dev;
+ ib_attrs[2].value = ia_ptr->hca_ptr->ib_trans.na.mode;
+ ib_attrs[3].value = ia_ptr->hca_ptr->ib_trans.na.read;
+ ib_attrs[4].value = ia_ptr->hca_ptr->ib_trans.na.guid;
+ ib_attrs[5].value = ia_ptr->hca_ptr->ib_trans.na.mtu;
+ ib_attrs[6].value = ia_ptr->hca_ptr->ib_trans.na.port;
+}
+
+/*
+ * Map all socket CM event codes to the DAT equivelent. Common to all providers
+ */
+#define DAPL_IB_EVENT_CNT 13
+
+static struct ib_cm_event_map {
+ const ib_cm_events_t ib_cm_event;
+ DAT_EVENT_NUMBER dat_event_num;
+} ib_cm_event_map[DAPL_IB_EVENT_CNT] = {
+/* 00 */ {IB_CME_CONNECTED,
+ DAT_CONNECTION_EVENT_ESTABLISHED},
+/* 01 */ {IB_CME_DISCONNECTED,
+ DAT_CONNECTION_EVENT_DISCONNECTED},
+/* 02 */ {IB_CME_DISCONNECTED_ON_LINK_DOWN,
+ DAT_CONNECTION_EVENT_DISCONNECTED},
+/* 03 */ {IB_CME_CONNECTION_REQUEST_PENDING,
+ DAT_CONNECTION_REQUEST_EVENT},
+/* 04 */ {IB_CME_CONNECTION_REQUEST_PENDING_PRIVATE_DATA,
+ DAT_CONNECTION_REQUEST_EVENT},
+/* 05 */ {IB_CME_CONNECTION_REQUEST_ACKED,
+ DAT_CONNECTION_EVENT_ESTABLISHED},
+/* 06 */ {IB_CME_DESTINATION_REJECT,
+ DAT_CONNECTION_EVENT_NON_PEER_REJECTED},
+/* 07 */ {IB_CME_DESTINATION_REJECT_PRIVATE_DATA,
+ DAT_CONNECTION_EVENT_PEER_REJECTED},
+/* 08 */ {IB_CME_DESTINATION_UNREACHABLE,
+ DAT_CONNECTION_EVENT_UNREACHABLE},
+/* 09 */ {IB_CME_TOO_MANY_CONNECTION_REQUESTS,
+ DAT_CONNECTION_EVENT_NON_PEER_REJECTED},
+/* 10 */ {IB_CME_BROKEN,
+ DAT_CONNECTION_EVENT_BROKEN},
+/* 11 */ {IB_CME_TIMEOUT,
+ DAT_CONNECTION_EVENT_TIMED_OUT},
+/* 12 */ {IB_CME_LOCAL_FAILURE, /* always last */
+ DAT_CONNECTION_EVENT_BROKEN}
+};
+
+/*
+ * dapls_ib_get_cm_event
+ *
+ * Return a DAT connection event given a provider CM event.
+ *
+ * Input:
+ * dat_event_num DAT event we need an equivelent CM event for
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * ib_cm_event of translated DAPL value
+ */
+DAT_EVENT_NUMBER
+dapls_ib_get_dat_event(IN const ib_cm_events_t ib_cm_event,
+ IN DAT_BOOLEAN active)
+{
+ DAT_EVENT_NUMBER dat_event_num;
+ int i;
+
+ active = active;
+
+ if (ib_cm_event > IB_CME_LOCAL_FAILURE)
+ return (DAT_EVENT_NUMBER) 0;
+
+ dat_event_num = 0;
+ for (i = 0; i < DAPL_IB_EVENT_CNT; i++) {
+ if (ib_cm_event == ib_cm_event_map[i].ib_cm_event) {
+ dat_event_num = ib_cm_event_map[i].dat_event_num;
+ break;
+ }
+ }
+ dapl_dbg_log(DAPL_DBG_TYPE_CALLBACK,
+ "dapls_ib_get_dat_event: event translate(%s) ib=0x%x dat=0x%x\n",
+ active ? "active" : "passive", ib_cm_event, dat_event_num);
+
+ return dat_event_num;
+}
+
+/*
+ * dapls_ib_get_dat_event
+ *
+ * Return a DAT connection event given a provider CM event.
+ *
+ * Input:
+ * ib_cm_event event provided to the dapl callback routine
+ * active switch indicating active or passive connection
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * DAT_EVENT_NUMBER of translated provider value
+ */
+ib_cm_events_t dapls_ib_get_cm_event(IN DAT_EVENT_NUMBER dat_event_num)
+{
+ ib_cm_events_t ib_cm_event;
+ int i;
+
+ ib_cm_event = 0;
+ for (i = 0; i < DAPL_IB_EVENT_CNT; i++) {
+ if (dat_event_num == ib_cm_event_map[i].dat_event_num) {
+ ib_cm_event = ib_cm_event_map[i].ib_cm_event;
+ break;
+ }
+ }
+ return ib_cm_event;
+}
+
diff --git a/dapl/openib_scm/cm.c b/dapl/openib_scm/cm.c
new file mode 100644
index 0000000..f7838f2
--- /dev/null
+++ b/dapl/openib_scm/cm.c
@@ -0,0 +1,2008 @@
+/*
+ * This Software is licensed under one of the following licenses:
+ *
+ * 1) under the terms of the "Common Public License 1.0" a copy of which is
+ * available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/cpl.php.
+ *
+ * 2) under the terms of the "The BSD License" a copy of which is
+ * available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/bsd-license.php.
+ *
+ * 3) under the terms of the "GNU General Public License (GPL) Version 2" a
+ * copy of which is available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/gpl-license.php.
+ *
+ * Licensee has the right to choose one of the above licenses.
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice and one of the license notices.
+ *
+ * Redistributions in binary form must reproduce both the above copyright
+ * notice, one of the license notices in the documentation
+ * and/or other materials provided with the distribution.
+ */
+
+/***************************************************************************
+ *
+ * Module: uDAPL
+ *
+ * Filename: dapl_ib_cm.c
+ *
+ * Author: Arlin Davis
+ *
+ * Created: 3/10/2005
+ *
+ * Description:
+ *
+ * The uDAPL openib provider - connection management
+ *
+ ****************************************************************************
+ * Source Control System Information
+ *
+ * $Id: $
+ *
+ * Copyright (c) 2005 Intel Corporation. All rights reserved.
+ *
+ **************************************************************************/
+
+#if defined(_WIN32)
+#define FD_SETSIZE 1024
+#define DAPL_FD_SETSIZE FD_SETSIZE
+#endif
+
+#include "dapl.h"
+#include "dapl_adapter_util.h"
+#include "dapl_evd_util.h"
+#include "dapl_cr_util.h"
+#include "dapl_name_service.h"
+#include "dapl_ib_util.h"
+#include "dapl_ep_util.h"
+#include "dapl_sp_util.h"
+#include "dapl_osd.h"
+
+/* forward declarations */
+static DAT_RETURN
+dapli_socket_connect(DAPL_EP * ep_ptr,
+ DAT_IA_ADDRESS_PTR r_addr,
+ DAT_CONN_QUAL r_qual, DAT_COUNT p_size, DAT_PVOID p_data, int retries);
+
+#ifdef DAPL_DBG
+/* Check for EP linking to IA and proper connect state */
+void dapli_ep_check(DAPL_EP *ep)
+{
+ DAPL_IA *ia_ptr = ep->header.owner_ia;
+ DAPL_EP *ep_ptr, *next_ep_ptr;
+ int found = 0;
+
+ dapl_os_lock(&ia_ptr->header.lock);
+ ep_ptr = (dapl_llist_is_empty (&ia_ptr->ep_list_head)
+ ? NULL : dapl_llist_peek_head (&ia_ptr->ep_list_head));
+
+ while (ep_ptr != NULL) {
+ next_ep_ptr =
+ dapl_llist_next_entry(&ia_ptr->ep_list_head,
+ &ep_ptr->header.ia_list_entry);
+ if (ep == ep_ptr) {
+ found++;
+ if ((ep->cr_ptr && ep->param.ep_state
+ != DAT_EP_STATE_COMPLETION_PENDING) ||
+ (!ep->cr_ptr && ep->param.ep_state
+ != DAT_EP_STATE_ACTIVE_CONNECTION_PENDING))
+ goto err;
+ else
+ goto match;
+ }
+ ep_ptr = next_ep_ptr;
+ }
+err:
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " dapli_ep_check ERR: %s %s ep=%p state=%d magic=0x%x\n",
+ ep->cr_ptr ? "PASSIVE":"ACTIVE",
+ found ? "WRONG_STATE":"NOT_FOUND" ,
+ ep, ep->param.ep_state, ep->header.magic);
+match:
+ dapl_os_unlock(&ia_ptr->header.lock);
+ return;
+}
+#else
+#define dapli_ep_check(ep)
+#endif
+
+#if defined(_WIN32) || defined(_WIN64)
+enum DAPL_FD_EVENTS {
+ DAPL_FD_READ = 0x1,
+ DAPL_FD_WRITE = 0x2,
+ DAPL_FD_ERROR = 0x4
+};
+
+static int dapl_config_socket(DAPL_SOCKET s)
+{
+ unsigned long nonblocking = 1;
+ int ret, opt = 1;
+
+ ret = ioctlsocket(s, FIONBIO, &nonblocking);
+
+ /* no delay for small packets */
+ if (!ret)
+ ret = setsockopt(s, IPPROTO_TCP, TCP_NODELAY,
+ (char *)&opt, sizeof(opt));
+ return ret;
+}
+
+static int dapl_connect_socket(DAPL_SOCKET s, struct sockaddr *addr,
+ int addrlen)
+{
+ int err;
+
+ err = connect(s, addr, addrlen);
+ if (err == SOCKET_ERROR)
+ err = WSAGetLastError();
+ return (err == WSAEWOULDBLOCK) ? EAGAIN : err;
+}
+
+struct dapl_fd_set {
+ struct fd_set set[3];
+};
+
+static struct dapl_fd_set *dapl_alloc_fd_set(void)
+{
+ return dapl_os_alloc(sizeof(struct dapl_fd_set));
+}
+
+static void dapl_fd_zero(struct dapl_fd_set *set)
+{
+ FD_ZERO(&set->set[0]);
+ FD_ZERO(&set->set[1]);
+ FD_ZERO(&set->set[2]);
+}
+
+static int dapl_fd_set(DAPL_SOCKET s, struct dapl_fd_set *set,
+ enum DAPL_FD_EVENTS event)
+{
+ FD_SET(s, &set->set[(event == DAPL_FD_READ) ? 0 : 1]);
+ FD_SET(s, &set->set[2]);
+ return 0;
+}
+
+static enum DAPL_FD_EVENTS dapl_poll(DAPL_SOCKET s, enum DAPL_FD_EVENTS event)
+{
+ struct fd_set rw_fds;
+ struct fd_set err_fds;
+ struct timeval tv;
+ int ret;
+
+ FD_ZERO(&rw_fds);
+ FD_ZERO(&err_fds);
+ FD_SET(s, &rw_fds);
+ FD_SET(s, &err_fds);
+
+ tv.tv_sec = 0;
+ tv.tv_usec = 0;
+
+ if (event == DAPL_FD_READ)
+ ret = select(1, &rw_fds, NULL, &err_fds, &tv);
+ else
+ ret = select(1, NULL, &rw_fds, &err_fds, &tv);
+
+ if (ret == 0)
+ return 0;
+ else if (ret == SOCKET_ERROR)
+ return DAPL_FD_ERROR;
+ else if (FD_ISSET(s, &rw_fds))
+ return event;
+ else
+ return DAPL_FD_ERROR;
+}
+
+static int dapl_select(struct dapl_fd_set *set)
+{
+ int ret;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_CM, " dapl_select: sleep\n");
+ ret = select(0, &set->set[0], &set->set[1], &set->set[2], NULL);
+ dapl_dbg_log(DAPL_DBG_TYPE_CM, " dapl_select: wakeup\n");
+
+ if (ret == SOCKET_ERROR)
+ dapl_dbg_log(DAPL_DBG_TYPE_THREAD,
+ " dapl_select: error 0x%x\n", WSAGetLastError());
+
+ return ret;
+}
+
+static int dapl_socket_errno(void)
+{
+ int err;
+
+ err = WSAGetLastError();
+ switch (err) {
+ case WSAEACCES:
+ case WSAEADDRINUSE:
+ return EADDRINUSE;
+ case WSAECONNRESET:
+ return ECONNRESET;
+ default:
+ return err;
+ }
+}
+#else // _WIN32 || _WIN64
+enum DAPL_FD_EVENTS {
+ DAPL_FD_READ = POLLIN,
+ DAPL_FD_WRITE = POLLOUT,
+ DAPL_FD_ERROR = POLLERR
+};
+
+static int dapl_config_socket(DAPL_SOCKET s)
+{
+ int ret, opt = 1;
+
+ /* non-blocking */
+ ret = fcntl(s, F_GETFL);
+ if (ret >= 0)
+ ret = fcntl(s, F_SETFL, ret | O_NONBLOCK);
+
+ /* no delay for small packets */
+ if (!ret)
+ ret = setsockopt(s, IPPROTO_TCP, TCP_NODELAY,
+ (char *)&opt, sizeof(opt));
+ return ret;
+}
+
+static int dapl_connect_socket(DAPL_SOCKET s, struct sockaddr *addr,
+ int addrlen)
+{
+ int ret;
+
+ ret = connect(s, addr, addrlen);
+
+ return (errno == EINPROGRESS) ? EAGAIN : ret;
+}
+
+struct dapl_fd_set {
+ int index;
+ struct pollfd set[DAPL_FD_SETSIZE];
+};
+
+static struct dapl_fd_set *dapl_alloc_fd_set(void)
+{
+ return dapl_os_alloc(sizeof(struct dapl_fd_set));
+}
+
+static void dapl_fd_zero(struct dapl_fd_set *set)
+{
+ set->index = 0;
+}
+
+static int dapl_fd_set(DAPL_SOCKET s, struct dapl_fd_set *set,
+ enum DAPL_FD_EVENTS event)
+{
+ if (set->index == DAPL_FD_SETSIZE - 1) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ "SCM ERR: cm_thread exceeded FD_SETSIZE %d\n",
+ set->index + 1);
+ return -1;
+ }
+
+ set->set[set->index].fd = s;
+ set->set[set->index].revents = 0;
+ set->set[set->index++].events = event;
+ return 0;
+}
+
+static enum DAPL_FD_EVENTS dapl_poll(DAPL_SOCKET s, enum DAPL_FD_EVENTS event)
+{
+ struct pollfd fds;
+ int ret;
+
+ fds.fd = s;
+ fds.events = event;
+ fds.revents = 0;
+ ret = poll(&fds, 1, 0);
+ dapl_log(DAPL_DBG_TYPE_THREAD, " dapl_poll: fd=%d ret=%d, evnts=0x%x\n",
+ s, ret, fds.revents);
+ if (ret == 0)
+ return 0;
+ else if (ret < 0 || (fds.revents & (POLLERR | POLLHUP | POLLNVAL)))
+ return DAPL_FD_ERROR;
+ else
+ return event;
+}
+
+static int dapl_select(struct dapl_fd_set *set)
+{
+ int ret;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_THREAD, " dapl_select: sleep, fds=%d\n", set->index);
+ ret = poll(set->set, set->index, -1);
+ dapl_dbg_log(DAPL_DBG_TYPE_THREAD, " dapl_select: wakeup, ret=0x%x\n", ret);
+ return ret;
+}
+
+#define dapl_socket_errno() errno
+#endif
+
+static void dapli_cm_thread_signal(dp_ib_cm_handle_t cm_ptr)
+{
+ if (cm_ptr->hca)
+ send(cm_ptr->hca->ib_trans.scm[1], "w", sizeof "w", 0);
+}
+
+static void dapli_cm_free(dp_ib_cm_handle_t cm_ptr)
+{
+ dapl_os_lock(&cm_ptr->lock);
+ cm_ptr->state = DCM_FREE;
+ dapl_os_unlock(&cm_ptr->lock);
+ dapli_cm_thread_signal(cm_ptr);
+}
+
+static void dapli_cm_dealloc(dp_ib_cm_handle_t cm_ptr)
+{
+ dapl_os_assert(!cm_ptr->ref_count);
+
+ if (cm_ptr->socket != DAPL_INVALID_SOCKET) {
+ shutdown(cm_ptr->socket, SHUT_RDWR);
+ closesocket(cm_ptr->socket);
+ }
+ if (cm_ptr->ah)
+ ibv_destroy_ah(cm_ptr->ah);
+
+ dapl_os_lock_destroy(&cm_ptr->lock);
+ dapl_os_wait_object_destroy(&cm_ptr->event);
+ dapl_os_free(cm_ptr, sizeof(*cm_ptr));
+}
+
+void dapls_cm_acquire(dp_ib_cm_handle_t cm_ptr)
+{
+ dapl_os_lock(&cm_ptr->lock);
+ cm_ptr->ref_count++;
+ dapl_os_unlock(&cm_ptr->lock);
+}
+
+void dapls_cm_release(dp_ib_cm_handle_t cm_ptr)
+{
+ dapl_os_lock(&cm_ptr->lock);
+ cm_ptr->ref_count--;
+ if (cm_ptr->ref_count) {
+ if (cm_ptr->ref_count == 1)
+ dapl_os_wait_object_wakeup(&cm_ptr->event);
+ dapl_os_unlock(&cm_ptr->lock);
+ return;
+ }
+ dapl_os_unlock(&cm_ptr->lock);
+ dapli_cm_dealloc(cm_ptr);
+}
+
+static dp_ib_cm_handle_t dapli_cm_alloc(DAPL_EP *ep_ptr)
+{
+ dp_ib_cm_handle_t cm_ptr;
+
+ /* Allocate CM, init lock, and initialize */
+ if ((cm_ptr = dapl_os_alloc(sizeof(*cm_ptr))) == NULL)
+ return NULL;
+
+ (void)dapl_os_memzero(cm_ptr, sizeof(*cm_ptr));
+ if (dapl_os_lock_init(&cm_ptr->lock))
+ goto bail;
+
+ if (dapl_os_wait_object_init(&cm_ptr->event)) {
+ dapl_os_lock_destroy(&cm_ptr->lock);
+ goto bail;
+ }
+ dapl_llist_init_entry((DAPL_LLIST_ENTRY *)&cm_ptr->list_entry);
+ dapl_llist_init_entry((DAPL_LLIST_ENTRY *)&cm_ptr->local_entry);
+
+ cm_ptr->msg.ver = htons(DCM_VER);
+ cm_ptr->socket = DAPL_INVALID_SOCKET;
+ cm_ptr->retry = SCM_CR_RETRY;
+ dapls_cm_acquire(cm_ptr);
+
+ /* Link EP and CM */
+ if (ep_ptr != NULL) {
+ dapl_ep_link_cm(ep_ptr, cm_ptr); /* ref++ */
+ cm_ptr->ep = ep_ptr;
+ cm_ptr->hca = ((DAPL_IA *)ep_ptr->param.ia_handle)->hca_ptr;
+ }
+ return cm_ptr;
+bail:
+ dapl_os_free(cm_ptr, sizeof(*cm_ptr));
+ return NULL;
+}
+
+/* queue socket for processing CM work */
+static void dapli_cm_queue(dp_ib_cm_handle_t cm_ptr)
+{
+ /* add to work queue for cr thread processing */
+ dapl_os_lock(&cm_ptr->hca->ib_trans.lock);
+ dapls_cm_acquire(cm_ptr);
+ dapl_llist_add_tail(&cm_ptr->hca->ib_trans.list,
+ (DAPL_LLIST_ENTRY *)&cm_ptr->local_entry, cm_ptr);
+ dapl_os_unlock(&cm_ptr->hca->ib_trans.lock);
+ dapli_cm_thread_signal(cm_ptr);
+}
+
+/* called with local LIST lock */
+static void dapli_cm_dequeue(dp_ib_cm_handle_t cm_ptr)
+{
+ /* Remove from work queue, cr thread processing */
+ dapl_llist_remove_entry(&cm_ptr->hca->ib_trans.list,
+ (DAPL_LLIST_ENTRY *)&cm_ptr->local_entry);
+ dapls_cm_release(cm_ptr);
+}
+
+/* BLOCKING: called from dapl_ep_free, EP link will be last ref, cleanup UD CR */
+void dapls_cm_free(dp_ib_cm_handle_t cm_ptr)
+{
+ DAPL_SP *sp_ptr = cm_ptr->sp;
+
+ dapl_log(DAPL_DBG_TYPE_CM,
+ " cm_free: cm %p %s ep %p sp %p refs=%d\n",
+ cm_ptr, dapl_cm_state_str(cm_ptr->state),
+ cm_ptr->ep, sp_ptr, cm_ptr->ref_count);
+
+ dapl_os_lock(&cm_ptr->lock);
+ if (sp_ptr && cm_ptr->state == DCM_CONNECTED &&
+ cm_ptr->msg.daddr.ib.qp_type == IBV_QPT_UD) {
+ DAPL_CR *cr_ptr;
+
+ dapl_os_lock(&sp_ptr->header.lock);
+ cr_ptr = dapl_sp_search_cr(sp_ptr, cm_ptr);
+ if (cr_ptr != NULL) {
+ dapl_sp_remove_cr(sp_ptr, cr_ptr);
+ dapls_cr_free(cr_ptr);
+ }
+ dapl_os_unlock(&sp_ptr->header.lock);
+ }
+
+ /* free from internal workq, wait until EP is last ref */
+ cm_ptr->state = DCM_FREE;
+
+ if (cm_ptr->ref_count != 1) {
+ dapli_cm_thread_signal(cm_ptr);
+ dapl_os_unlock(&cm_ptr->lock);
+ dapl_os_wait_object_wait(&cm_ptr->event, DAT_TIMEOUT_INFINITE);
+ dapl_os_lock(&cm_ptr->lock);
+ }
+ dapl_os_unlock(&cm_ptr->lock);
+
+ /* unlink, dequeue from EP. Final ref so release will destroy */
+ dapl_ep_unlink_cm(cm_ptr->ep, cm_ptr);
+}
+
+/*
+ * ACTIVE/PASSIVE: called from CR thread or consumer via ep_disconnect
+ * or from ep_free.
+ */
+DAT_RETURN dapli_socket_disconnect(dp_ib_cm_handle_t cm_ptr)
+{
+ DAT_UINT32 disc_data = htonl(0xdead);
+
+ dapl_os_lock(&cm_ptr->lock);
+ if (cm_ptr->state != DCM_CONNECTED ||
+ cm_ptr->state == DCM_DISCONNECTED) {
+ dapl_os_unlock(&cm_ptr->lock);
+ return DAT_SUCCESS;
+ }
+ cm_ptr->state = DCM_DISCONNECTED;
+ send(cm_ptr->socket, (char *)&disc_data, sizeof(disc_data), 0);
+ dapl_os_unlock(&cm_ptr->lock);
+
+ /* disconnect events for RC's only */
+ if (cm_ptr->ep->param.ep_attr.service_type == DAT_SERVICE_TYPE_RC) {
+ dapl_os_lock(&cm_ptr->ep->header.lock);
+ dapls_modify_qp_state(cm_ptr->ep->qp_handle, IBV_QPS_ERR, 0,0,0);
+ dapl_os_unlock(&cm_ptr->ep->header.lock);
+ if (cm_ptr->ep->cr_ptr) {
+ dapls_cr_callback(cm_ptr,
+ IB_CME_DISCONNECTED,
+ NULL, 0, cm_ptr->sp);
+ } else {
+ dapl_evd_connection_callback(cm_ptr,
+ IB_CME_DISCONNECTED,
+ NULL, 0, cm_ptr->ep);
+ }
+ }
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm_ptr->hca->ia_list_head)), DCNT_IA_CM_DREQ_TX);
+
+ /* release from workq */
+ dapli_cm_free(cm_ptr);
+
+ /* scheduled destroy via disconnect clean in callback */
+ return DAT_SUCCESS;
+}
+
+/*
+ * ACTIVE: socket connected, send QP information to peer
+ */
+static void dapli_socket_connected(dp_ib_cm_handle_t cm_ptr, int err)
+{
+ int len, exp;
+ struct iovec iov[2];
+ struct dapl_ep *ep_ptr = cm_ptr->ep;
+
+ if (err) {
+ dapl_log(DAPL_DBG_TYPE_CM_WARN,
+ " CONN_PENDING: %s ERR %s -> %s PORT L-%x R-%x %s cnt=%d\n",
+ err == -1 ? "POLL" : "SOCKOPT",
+ err == -1 ? strerror(dapl_socket_errno()) : strerror(err),
+ inet_ntoa(((struct sockaddr_in *)&cm_ptr->addr)->sin_addr),
+ ntohs(((struct sockaddr_in *)&cm_ptr->msg.daddr.so)->sin_port),
+ ntohs(((struct sockaddr_in *)&cm_ptr->addr)->sin_port),
+ (err == ETIMEDOUT || err == ECONNREFUSED) ?
+ "RETRYING...":"ABORTING", cm_ptr->retry);
+
+ /* retry a timeout */
+ if (((err == ETIMEDOUT) || (err == ECONNREFUSED)) && --cm_ptr->retry) {
+ closesocket(cm_ptr->socket);
+ cm_ptr->socket = DAPL_INVALID_SOCKET;
+ dapli_socket_connect(cm_ptr->ep, (DAT_IA_ADDRESS_PTR)&cm_ptr->addr,
+ ntohs(((struct sockaddr_in *)&cm_ptr->addr)->sin_port) - 1000,
+ ntohs(cm_ptr->msg.p_size), &cm_ptr->msg.p_data, cm_ptr->retry);
+ dapl_ep_unlink_cm(cm_ptr->ep, cm_ptr);
+ dapli_cm_free(cm_ptr);
+ return;
+ }
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm_ptr->hca->ia_list_head)), DCNT_IA_CM_ERR_TIMEOUT);
+ goto bail;
+ }
+
+ dapl_os_lock(&cm_ptr->lock);
+ cm_ptr->state = DCM_REP_PENDING;
+ dapl_os_unlock(&cm_ptr->lock);
+
+ /* set max rdma inbound requests */
+ cm_ptr->msg.rd_in = ep_ptr->param.ep_attr.max_rdma_read_in;
+
+ /* send qp info and pdata to remote peer */
+ exp = sizeof(ib_cm_msg_t) - DCM_MAX_PDATA_SIZE;
+ iov[0].iov_base = (void *)&cm_ptr->msg;
+ iov[0].iov_len = exp;
+ if (cm_ptr->msg.p_size) {
+ iov[1].iov_base = cm_ptr->msg.p_data;
+ iov[1].iov_len = ntohs(cm_ptr->msg.p_size);
+ len = writev(cm_ptr->socket, iov, 2);
+ } else {
+ len = writev(cm_ptr->socket, iov, 1);
+ }
+
+ if (len != (exp + ntohs(cm_ptr->msg.p_size))) {
+ int err = dapl_socket_errno();
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " CONN_PENDING len ERR 0x%x %s, wcnt=%d(%d) -> %s\n",
+ err, strerror(err), len,
+ exp + ntohs(cm_ptr->msg.p_size),
+ inet_ntoa(((struct sockaddr_in *)
+ ep_ptr->param.
+ remote_ia_address_ptr)->sin_addr));
+ goto bail;
+ }
+
+ dapl_dbg_log(DAPL_DBG_TYPE_CM,
+ " CONN_PENDING: sending SRC lid=0x%x,"
+ " qpn=0x%x, psize=%d\n",
+ ntohs(cm_ptr->msg.saddr.ib.lid),
+ ntohl(cm_ptr->msg.saddr.ib.qpn),
+ ntohs(cm_ptr->msg.p_size));
+ dapl_dbg_log(DAPL_DBG_TYPE_CM,
+ " CONN_PENDING: SRC GID subnet %016llx id %016llx\n",
+ (unsigned long long)
+ htonll(*(uint64_t*)&cm_ptr->msg.saddr.ib.gid[0]),
+ (unsigned long long)
+ htonll(*(uint64_t*)&cm_ptr->msg.saddr.ib.gid[8]));
+
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm_ptr->hca->ia_list_head)), DCNT_IA_CM_REQ_TX);
+ return;
+
+bail:
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm_ptr->hca->ia_list_head)), DCNT_IA_CM_ERR);
+
+ /* mark CM object for cleanup */
+ dapli_cm_free(cm_ptr);
+ dapl_evd_connection_callback(NULL, IB_CME_DESTINATION_REJECT, NULL, 0, ep_ptr);
+}
+
+/*
+ * ACTIVE: Create socket, connect, defer exchange QP information to CR thread
+ * to avoid blocking.
+ */
+static DAT_RETURN
+dapli_socket_connect(DAPL_EP * ep_ptr,
+ DAT_IA_ADDRESS_PTR r_addr,
+ DAT_CONN_QUAL r_qual, DAT_COUNT p_size, DAT_PVOID p_data, int retries)
+{
+ dp_ib_cm_handle_t cm_ptr;
+ int ret;
+ socklen_t sl;
+ DAPL_IA *ia_ptr = ep_ptr->header.owner_ia;
+ DAT_RETURN dat_ret = DAT_INSUFFICIENT_RESOURCES;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EP, " connect: r_qual %d p_size=%d\n",
+ r_qual, p_size);
+
+ cm_ptr = dapli_cm_alloc(ep_ptr);
+ if (cm_ptr == NULL)
+ return dat_ret;
+
+ cm_ptr->retry = retries;
+
+ /* create, connect, sockopt, and exchange QP information */
+ if ((cm_ptr->socket =
+ socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == DAPL_INVALID_SOCKET) {
+ int err = dapl_socket_errno();
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " connect: socket create ERR 0x%x %s\n",
+ err, strerror(err));
+ goto bail;
+ }
+
+ ret = dapl_config_socket(cm_ptr->socket);
+ if (ret < 0) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " connect: config socket %d RET %d ERR 0x%x %s\n",
+ cm_ptr->socket, ret,
+ dapl_socket_errno(), strerror(dapl_socket_errno()));
+ dat_ret = DAT_INTERNAL_ERROR;
+ goto bail;
+ }
+
+ /* save remote address */
+ dapl_os_memcpy(&cm_ptr->addr, r_addr, sizeof(*r_addr));
+
+#ifdef DAPL_DBG
+ /* DBG: Active PID [0], PASSIVE PID [2]*/
+ *(uint16_t*)&cm_ptr->msg.resv[0] = htons((uint16_t)dapl_os_getpid());
+ *(uint16_t*)&cm_ptr->msg.resv[2] = ((struct sockaddr_in *)&cm_ptr->addr)->sin_port;
+#endif
+ ((struct sockaddr_in *)&cm_ptr->addr)->sin_port = htons(r_qual + 1000);
+ ret = dapl_connect_socket(cm_ptr->socket, (struct sockaddr *)&cm_ptr->addr,
+ sizeof(cm_ptr->addr));
+ if (ret && ret != EAGAIN) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " connect: dapl_connect_socket RET %d ERR 0x%x %s\n",
+ ret, dapl_socket_errno(),
+ strerror(dapl_socket_errno()));
+ dat_ret = DAT_INVALID_ADDRESS;
+ goto bail;
+ }
+
+ /* REQ: QP info in msg.saddr, IA address in msg.daddr, and pdata */
+ cm_ptr->hca = ia_ptr->hca_ptr;
+ cm_ptr->msg.op = ntohs(DCM_REQ);
+ cm_ptr->msg.saddr.ib.qpn = htonl(ep_ptr->qp_handle->qp_num);
+ cm_ptr->msg.saddr.ib.qp_type = ep_ptr->qp_handle->qp_type;
+ cm_ptr->msg.saddr.ib.lid = ia_ptr->hca_ptr->ib_trans.lid;
+ dapl_os_memcpy(&cm_ptr->msg.saddr.ib.gid[0],
+ &ia_ptr->hca_ptr->ib_trans.gid, 16);
+
+ /* get local address information from socket */
+ sl = sizeof(cm_ptr->msg.daddr.so);
+ if (getsockname(cm_ptr->socket, (struct sockaddr *)&cm_ptr->msg.daddr.so, &sl)) {
+ int err = dapl_socket_errno();
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " connect getsockname ERROR: 0x%x %s -> %s r_qual %d\n",
+ err, strerror(err),
+ inet_ntoa(((struct sockaddr_in *)r_addr)->sin_addr),
+ (unsigned int)r_qual);;
+ }
+
+ if (p_size) {
+ cm_ptr->msg.p_size = htons(p_size);
+ dapl_os_memcpy(cm_ptr->msg.p_data, p_data, p_size);
+ }
+
+ /* connected or pending, either way results via async event */
+ if (ret == 0)
+ dapli_socket_connected(cm_ptr, 0);
+ else
+ cm_ptr->state = DCM_CONN_PENDING;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EP, " connect: p_data=%p %p\n",
+ cm_ptr->msg.p_data, cm_ptr->msg.p_data);
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EP,
+ " connect: %s r_qual %d pending, p_sz=%d, %d %d ...\n",
+ inet_ntoa(((struct sockaddr_in *)&cm_ptr->addr)->sin_addr),
+ (unsigned int)r_qual, ntohs(cm_ptr->msg.p_size),
+ cm_ptr->msg.p_data[0], cm_ptr->msg.p_data[1]);
+
+ /* queue up on work thread */
+ dapli_cm_queue(cm_ptr);
+ return DAT_SUCCESS;
+bail:
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm_ptr->hca->ia_list_head)), DCNT_IA_CM_ERR);
+
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " connect ERROR: -> %s r_qual %d\n",
+ inet_ntoa(((struct sockaddr_in *)r_addr)->sin_addr),
+ (unsigned int)r_qual);
+
+ /* Never queued, destroy */
+ dapls_cm_release(cm_ptr);
+ return dat_ret;
+}
+
+/*
+ * ACTIVE: exchange QP information, called from CR thread
+ */
+static void dapli_socket_connect_rtu(dp_ib_cm_handle_t cm_ptr)
+{
+ DAPL_EP *ep_ptr = cm_ptr->ep;
+ int len, exp = sizeof(ib_cm_msg_t) - DCM_MAX_PDATA_SIZE;
+ ib_cm_events_t event = IB_CME_LOCAL_FAILURE;
+ socklen_t sl;
+
+ /* read DST information into cm_ptr, overwrite SRC info */
+ dapl_dbg_log(DAPL_DBG_TYPE_EP, " connect_rtu: recv peer QP data\n");
+
+ len = recv(cm_ptr->socket, (char *)&cm_ptr->msg, exp, 0);
+ if (len != exp || ntohs(cm_ptr->msg.ver) < DCM_VER_MIN) {
+ int err = dapl_socket_errno();
+ dapl_log(DAPL_DBG_TYPE_CM_WARN,
+ " CONN_REP_PENDING: sk %d ERR 0x%x, rcnt=%d, v=%d ->"
+ " %s PORT L-%x R-%x PID L-%x R-%x %d\n",
+ cm_ptr->socket, err, len, ntohs(cm_ptr->msg.ver),
+ inet_ntoa(((struct sockaddr_in *)&cm_ptr->addr)->sin_addr),
+ ntohs(((struct sockaddr_in *)&cm_ptr->msg.daddr.so)->sin_port),
+ ntohs(((struct sockaddr_in *)&cm_ptr->addr)->sin_port),
+ ntohs(*(uint16_t*)&cm_ptr->msg.resv[0]),
+ ntohs(*(uint16_t*)&cm_ptr->msg.resv[2]),cm_ptr->retry);
+
+ /* Retry; corner case where server tcp stack resets under load */
+ if (err == ECONNRESET && --cm_ptr->retry) {
+ closesocket(cm_ptr->socket);
+ cm_ptr->socket = DAPL_INVALID_SOCKET;
+ dapli_socket_connect(cm_ptr->ep, (DAT_IA_ADDRESS_PTR)&cm_ptr->addr,
+ ntohs(((struct sockaddr_in *)&cm_ptr->addr)->sin_port) - 1000,
+ ntohs(cm_ptr->msg.p_size), &cm_ptr->msg.p_data, cm_ptr->retry);
+ dapl_ep_unlink_cm(cm_ptr->ep, cm_ptr);
+ dapli_cm_free(cm_ptr);
+ return;
+ }
+ goto bail;
+ }
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm_ptr->hca->ia_list_head)), DCNT_IA_CM_REP_RX);
+
+ /* keep the QP, address info in network order */
+
+ /* save remote address information, in msg.daddr */
+ dapl_os_memcpy(&cm_ptr->addr,
+ &cm_ptr->msg.daddr.so,
+ sizeof(union dcm_addr));
+
+ /* save local address information from socket */
+ sl = sizeof(cm_ptr->addr);
+ getsockname(cm_ptr->socket,(struct sockaddr *)&cm_ptr->addr, &sl);
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EP,
+ " CONN_RTU: DST %s %d lid=0x%x,"
+ " qpn=0x%x, qp_type=%d, psize=%d\n",
+ inet_ntoa(((struct sockaddr_in *)
+ &cm_ptr->msg.daddr.so)->sin_addr),
+ ntohs(((struct sockaddr_in *)
+ &cm_ptr->msg.daddr.so)->sin_port),
+ ntohs(cm_ptr->msg.saddr.ib.lid),
+ ntohl(cm_ptr->msg.saddr.ib.qpn),
+ cm_ptr->msg.saddr.ib.qp_type,
+ ntohs(cm_ptr->msg.p_size));
+
+ /* validate private data size before reading */
+ if (ntohs(cm_ptr->msg.p_size) > DCM_MAX_PDATA_SIZE) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " CONN_RTU read: psize (%d) wrong -> %s\n",
+ ntohs(cm_ptr->msg.p_size),
+ inet_ntoa(((struct sockaddr_in *)
+ ep_ptr->param.
+ remote_ia_address_ptr)->sin_addr));
+ goto bail;
+ }
+
+ /* read private data into cm_handle if any present */
+ dapl_dbg_log(DAPL_DBG_TYPE_EP," CONN_RTU: read private data\n");
+ exp = ntohs(cm_ptr->msg.p_size);
+ if (exp) {
+ len = recv(cm_ptr->socket, cm_ptr->msg.p_data, exp, 0);
+ if (len != exp) {
+ int err = dapl_socket_errno();
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " CONN_RTU read pdata: ERR 0x%x %s, rcnt=%d -> %s\n",
+ err, strerror(err), len,
+ inet_ntoa(((struct sockaddr_in *)
+ ep_ptr->param.
+ remote_ia_address_ptr)->sin_addr));
+ goto bail;
+ }
+ }
+
+ /* check for consumer or protocol stack reject */
+ if (ntohs(cm_ptr->msg.op) == DCM_REP)
+ event = IB_CME_CONNECTED;
+ else if (ntohs(cm_ptr->msg.op) == DCM_REJ_USER)
+ event = IB_CME_DESTINATION_REJECT_PRIVATE_DATA;
+ else
+ event = IB_CME_DESTINATION_REJECT;
+
+ if (event != IB_CME_CONNECTED) {
+ dapl_log(DAPL_DBG_TYPE_CM,
+ " CONN_RTU: reject from %s %x\n",
+ inet_ntoa(((struct sockaddr_in *)
+ &cm_ptr->msg.daddr.so)->sin_addr),
+ ntohs(((struct sockaddr_in *)
+ &cm_ptr->msg.daddr.so)->sin_port));
+ goto bail;
+ }
+
+ /* rdma_out, initiator, cannot exceed remote rdma_in max */
+ if (ntohs(cm_ptr->msg.ver) >= 7)
+ ep_ptr->param.ep_attr.max_rdma_read_out =
+ DAPL_MIN(ep_ptr->param.ep_attr.max_rdma_read_out,
+ cm_ptr->msg.rd_in);
+
+ /* modify QP to RTR and then to RTS with remote info */
+ dapl_os_lock(&ep_ptr->header.lock);
+ if (dapls_modify_qp_state(ep_ptr->qp_handle,
+ IBV_QPS_RTR,
+ cm_ptr->msg.saddr.ib.qpn,
+ cm_ptr->msg.saddr.ib.lid,
+ (ib_gid_handle_t)cm_ptr->msg.saddr.ib.gid) != DAT_SUCCESS) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " CONN_RTU: QPS_RTR ERR %s (%d,%d,%x,%x,%x) -> %s %x\n",
+ strerror(errno), ep_ptr->qp_handle->qp_type,
+ ep_ptr->qp_state, ep_ptr->qp_handle->qp_num,
+ ntohl(cm_ptr->msg.saddr.ib.qpn),
+ ntohs(cm_ptr->msg.saddr.ib.lid),
+ inet_ntoa(((struct sockaddr_in *)
+ &cm_ptr->msg.daddr.so)->sin_addr),
+ ntohs(((struct sockaddr_in *)
+ &cm_ptr->msg.daddr.so)->sin_port));
+ dapl_os_unlock(&ep_ptr->header.lock);
+ goto bail;
+ }
+ if (dapls_modify_qp_state(ep_ptr->qp_handle,
+ IBV_QPS_RTS,
+ cm_ptr->msg.saddr.ib.qpn,
+ cm_ptr->msg.saddr.ib.lid,
+ NULL) != DAT_SUCCESS) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " CONN_RTU: QPS_RTS ERR %s (%d,%d,%x,%x,%x) -> %s %x\n",
+ strerror(errno), ep_ptr->qp_handle->qp_type,
+ ep_ptr->qp_state, ep_ptr->qp_handle->qp_num,
+ ntohl(cm_ptr->msg.saddr.ib.qpn),
+ ntohs(cm_ptr->msg.saddr.ib.lid),
+ inet_ntoa(((struct sockaddr_in *)
+ &cm_ptr->msg.daddr.so)->sin_addr),
+ ntohs(((struct sockaddr_in *)
+ &cm_ptr->msg.daddr.so)->sin_port));
+ dapl_os_unlock(&ep_ptr->header.lock);
+ goto bail;
+ }
+ dapl_os_unlock(&ep_ptr->header.lock);
+ dapl_dbg_log(DAPL_DBG_TYPE_EP, " connect_rtu: send RTU\n");
+
+ /* complete handshake after final QP state change, Just ver+op */
+ dapl_os_lock(&cm_ptr->lock);
+ cm_ptr->state = DCM_CONNECTED;
+ dapl_os_unlock(&cm_ptr->lock);
+
+ cm_ptr->msg.op = ntohs(DCM_RTU);
+ if (send(cm_ptr->socket, (char *)&cm_ptr->msg, 4, 0) == -1) {
+ int err = dapl_socket_errno();
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " CONN_RTU: write ERR = 0x%x %s\n",
+ err, strerror(err));
+ goto bail;
+ }
+ /* post the event with private data */
+ event = IB_CME_CONNECTED;
+ dapl_dbg_log(DAPL_DBG_TYPE_EP, " ACTIVE: connected!\n");
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm_ptr->hca->ia_list_head)), DCNT_IA_CM_RTU_TX);
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm_ptr->hca->ia_list_head)), DCNT_IA_CM_ACTIVE_EST);
+
+#ifdef DAT_EXTENSIONS
+ud_bail:
+ if (cm_ptr->msg.saddr.ib.qp_type == IBV_QPT_UD) {
+ DAT_IB_EXTENSION_EVENT_DATA xevent;
+ ib_pd_handle_t pd_handle =
+ ((DAPL_PZ *)ep_ptr->param.pz_handle)->pd_handle;
+
+ if (event == IB_CME_CONNECTED) {
+ cm_ptr->ah = dapls_create_ah(cm_ptr->hca, pd_handle,
+ ep_ptr->qp_handle,
+ cm_ptr->msg.saddr.ib.lid,
+ NULL);
+ if (cm_ptr->ah) {
+ /* post UD extended EVENT */
+ xevent.status = 0;
+ xevent.type = DAT_IB_UD_REMOTE_AH;
+ xevent.remote_ah.ah = cm_ptr->ah;
+ xevent.remote_ah.qpn = ntohl(cm_ptr->msg.saddr.ib.qpn);
+ dapl_os_memcpy(&xevent.remote_ah.ia_addr,
+ &ep_ptr->remote_ia_address,
+ sizeof(union dcm_addr));
+ event = DAT_IB_UD_CONNECTION_EVENT_ESTABLISHED;
+
+ dapl_log(DAPL_DBG_TYPE_CM,
+ " CONN_RTU: UD AH %p for lid 0x%x"
+ " qpn 0x%x\n",
+ cm_ptr->ah,
+ ntohs(cm_ptr->msg.saddr.ib.lid),
+ ntohl(cm_ptr->msg.saddr.ib.qpn));
+
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm_ptr->hca->ia_list_head)),
+ DCNT_IA_CM_AH_RESOLVED);
+
+ } else
+ event = DAT_IB_UD_CONNECTION_ERROR_EVENT;
+
+ } else if (event == IB_CME_LOCAL_FAILURE) {
+ event = DAT_IB_UD_CONNECTION_ERROR_EVENT;
+ } else
+ event = DAT_IB_UD_CONNECTION_REJECT_EVENT;
+
+ dapls_evd_post_connection_event_ext(
+ (DAPL_EVD *) ep_ptr->param.connect_evd_handle,
+ event,
+ (DAT_EP_HANDLE) ep_ptr,
+ (DAT_COUNT) exp,
+ (DAT_PVOID *) cm_ptr->msg.p_data,
+ (DAT_PVOID *) &xevent);
+
+ /* cleanup and release from local list */
+ dapli_cm_free(cm_ptr);
+
+ } else
+#endif
+ {
+ dapli_ep_check(cm_ptr->ep);
+ dapl_evd_connection_callback(cm_ptr, event, cm_ptr->msg.p_data,
+ DCM_MAX_PDATA_SIZE, ep_ptr);
+ }
+ dapl_log(DAPL_DBG_TYPE_CM_EST,
+ " SCM ACTIVE CONN: %x -> %s %x\n",
+ ntohs(((struct sockaddr_in *) &cm_ptr->addr)->sin_port),
+ inet_ntoa(((struct sockaddr_in *) &cm_ptr->msg.daddr.so)->sin_addr),
+ ntohs(((struct sockaddr_in *) &cm_ptr->msg.daddr.so)->sin_port)-1000);
+ return;
+
+bail:
+
+#ifdef DAT_EXTENSIONS
+ if (cm_ptr->msg.saddr.ib.qp_type == IBV_QPT_UD)
+ goto ud_bail;
+#endif
+ /* close socket, and post error event */
+ dapl_os_lock(&cm_ptr->lock);
+ cm_ptr->state = DCM_REJECTED;
+ dapl_os_unlock(&cm_ptr->lock);
+
+ dapl_evd_connection_callback(NULL, event, cm_ptr->msg.p_data,
+ DCM_MAX_PDATA_SIZE, ep_ptr);
+ dapli_cm_free(cm_ptr);
+}
+
+/*
+ * PASSIVE: Create socket, listen, accept, exchange QP information
+ */
+DAT_RETURN
+dapli_socket_listen(DAPL_IA * ia_ptr, DAT_CONN_QUAL serviceID, DAPL_SP * sp_ptr)
+{
+ struct sockaddr_in addr;
+ ib_cm_srvc_handle_t cm_ptr = NULL;
+ DAT_RETURN dat_status = DAT_SUCCESS;
+ int opt = 1;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_CM,
+ " setup listen(ia_ptr %p ServiceID %d sp_ptr %p)\n",
+ ia_ptr, serviceID, sp_ptr);
+
+ cm_ptr = dapli_cm_alloc(NULL);
+ if (cm_ptr == NULL)
+ return DAT_INSUFFICIENT_RESOURCES;
+
+ cm_ptr->sp = sp_ptr;
+ cm_ptr->hca = ia_ptr->hca_ptr;
+
+ /* bind, listen, set sockopt, accept, exchange data */
+ if ((cm_ptr->socket =
+ socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == DAPL_INVALID_SOCKET) {
+ int err = dapl_socket_errno();
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " listen: socket create: ERR 0x%x %s\n",
+ err, strerror(err));
+ dat_status = DAT_INSUFFICIENT_RESOURCES;
+ goto bail;
+ }
+
+ setsockopt(cm_ptr->socket, SOL_SOCKET, SO_REUSEADDR, (char*)&opt, sizeof(opt));
+ addr.sin_port = htons(serviceID + 1000);
+ addr.sin_family = AF_INET;
+ addr.sin_addr = ((struct sockaddr_in *) &ia_ptr->hca_ptr->hca_address)->sin_addr;
+
+ if ((bind(cm_ptr->socket, (struct sockaddr *)&addr, sizeof(addr)) < 0)
+ || (listen(cm_ptr->socket, 128) < 0)) {
+ int err = dapl_socket_errno();
+ if (err == EADDRINUSE)
+ dat_status = DAT_CONN_QUAL_IN_USE;
+ else {
+ dapl_log(DAPL_DBG_TYPE_CM_WARN,
+ " listen: ERROR 0x%x %s on port %d\n",
+ err, strerror(err), serviceID + 1000);
+ dat_status = DAT_INVALID_PARAMETER;
+ }
+ goto bail;
+ }
+
+ /* set cm_handle for this service point, save listen socket */
+ sp_ptr->cm_srvc_handle = cm_ptr;
+ dapl_os_memcpy(&cm_ptr->addr, &addr, sizeof(addr));
+
+ /* queue up listen socket to process inbound CR's */
+ cm_ptr->state = DCM_LISTEN;
+ dapli_cm_queue(cm_ptr);
+
+ dapl_dbg_log(DAPL_DBG_TYPE_CM,
+ " setup listen: port %d cr %p s_fd %d\n",
+ serviceID + 1000, cm_ptr, cm_ptr->socket);
+
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm_ptr->hca->ia_list_head)), DCNT_IA_CM_LISTEN);
+
+ return dat_status;
+bail:
+ /* Never queued, destroy here */
+ dapls_cm_release(cm_ptr);
+ return dat_status;
+}
+
+/*
+ * PASSIVE: accept socket
+ */
+static void dapli_socket_accept(ib_cm_srvc_handle_t cm_ptr)
+{
+ dp_ib_cm_handle_t acm_ptr;
+ int ret, len, opt = 1;
+ socklen_t sl;
+
+ /*
+ * Accept all CR's on this port to avoid half-connection (SYN_RCV)
+ * stalls with many to one connection storms
+ */
+ do {
+ /* Allocate accept CM and initialize */
+ if ((acm_ptr = dapli_cm_alloc(NULL)) == NULL)
+ return;
+
+ acm_ptr->sp = cm_ptr->sp;
+ acm_ptr->hca = cm_ptr->hca;
+
+ len = sizeof(union dcm_addr);
+ acm_ptr->socket = accept(cm_ptr->socket,
+ (struct sockaddr *)
+ &acm_ptr->msg.daddr.so,
+ (socklen_t *) &len);
+ if (acm_ptr->socket == DAPL_INVALID_SOCKET) {
+ int err = dapl_socket_errno();
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " ACCEPT: ERR 0x%x %s on FD %d l_cr %p\n",
+ err, strerror(err), cm_ptr->socket, cm_ptr);
+ dapls_cm_release(acm_ptr);
+ return;
+ }
+ dapl_dbg_log(DAPL_DBG_TYPE_CM, " accepting from %s %x\n",
+ inet_ntoa(((struct sockaddr_in *)
+ &acm_ptr->msg.daddr.so)->sin_addr),
+ ntohs(((struct sockaddr_in *)
+ &acm_ptr->msg.daddr.so)->sin_port));
+
+ /* no delay for small packets */
+ ret = setsockopt(acm_ptr->socket, IPPROTO_TCP, TCP_NODELAY,
+ (char *)&opt, sizeof(opt));
+ if (ret) {
+ int err = dapl_socket_errno();
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " ACCEPT: NODELAY setsockopt:"
+ " RET %d ERR 0x%x %s\n",
+ ret, err, strerror(err));
+ }
+
+ /* get local address information from socket */
+ sl = sizeof(acm_ptr->addr);
+ getsockname(acm_ptr->socket, (struct sockaddr *)&acm_ptr->addr, &sl);
+ acm_ptr->state = DCM_ACCEPTING;
+ dapli_cm_queue(acm_ptr);
+
+ } while (dapl_poll(cm_ptr->socket, DAPL_FD_READ) == DAPL_FD_READ);
+}
+
+/*
+ * PASSIVE: receive peer QP information, private data, post cr_event
+ */
+static void dapli_socket_accept_data(ib_cm_srvc_handle_t acm_ptr)
+{
+ int len, exp = sizeof(ib_cm_msg_t) - DCM_MAX_PDATA_SIZE;
+ void *p_data = NULL;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EP, " socket accepted, read QP data\n");
+
+ /* read in DST QP info, IA address. check for private data */
+ len = recv(acm_ptr->socket, (char *)&acm_ptr->msg, exp, 0);
+ if (len != exp || ntohs(acm_ptr->msg.ver) < DCM_VER_MIN) {
+ int err = dapl_socket_errno();
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " ACCEPT read: ERR 0x%x %s, rcnt=%d, ver=%d\n",
+ err, strerror(err), len, ntohs(acm_ptr->msg.ver));
+ goto bail;
+ }
+
+ /* keep the QP, address info in network order */
+
+ /* validate private data size before reading */
+ exp = ntohs(acm_ptr->msg.p_size);
+ if (exp > DCM_MAX_PDATA_SIZE) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " accept read: psize (%d) wrong\n",
+ acm_ptr->msg.p_size);
+ goto bail;
+ }
+
+ /* read private data into cm_handle if any present */
+ if (exp) {
+ len = recv(acm_ptr->socket, acm_ptr->msg.p_data, exp, 0);
+ if (len != exp) {
+ int err = dapl_socket_errno();
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " accept read pdata: ERR 0x%x %s, rcnt=%d\n",
+ err, strerror(err), len);
+ goto bail;
+ }
+ p_data = acm_ptr->msg.p_data;
+ }
+ dapl_os_lock(&acm_ptr->lock);
+ acm_ptr->state = DCM_ACCEPTING_DATA;
+ dapl_os_unlock(&acm_ptr->lock);
+
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&acm_ptr->hca->ia_list_head)), DCNT_IA_CM_REQ_RX);
+
+ dapl_dbg_log(DAPL_DBG_TYPE_CM,
+ " ACCEPT: DST %s %x lid=0x%x, qpn=0x%x, psz=%d\n",
+ inet_ntoa(((struct sockaddr_in *)
+ &acm_ptr->msg.daddr.so)->sin_addr),
+ ntohs(((struct sockaddr_in *)
+ &acm_ptr->msg.daddr.so)->sin_port),
+ ntohs(acm_ptr->msg.saddr.ib.lid),
+ ntohl(acm_ptr->msg.saddr.ib.qpn), exp);
+
+#ifdef DAT_EXTENSIONS
+ if (acm_ptr->msg.saddr.ib.qp_type == IBV_QPT_UD) {
+ DAT_IB_EXTENSION_EVENT_DATA xevent;
+
+ /* post EVENT, modify_qp created ah */
+ xevent.status = 0;
+ xevent.type = DAT_IB_UD_CONNECT_REQUEST;
+
+ dapls_evd_post_cr_event_ext(acm_ptr->sp,
+ DAT_IB_UD_CONNECTION_REQUEST_EVENT,
+ acm_ptr,
+ (DAT_COUNT) exp,
+ (DAT_PVOID *) acm_ptr->msg.p_data,
+ (DAT_PVOID *) &xevent);
+
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&acm_ptr->hca->ia_list_head)),
+ DCNT_IA_CM_AH_REQ_RX);
+ } else
+#endif
+ /* trigger CR event and return SUCCESS */
+ dapls_cr_callback(acm_ptr,
+ IB_CME_CONNECTION_REQUEST_PENDING,
+ p_data, exp, acm_ptr->sp);
+ return;
+bail:
+ /* mark for destroy, active will see socket close as rej */
+ dapli_cm_free(acm_ptr);
+ return;
+}
+
+/*
+ * PASSIVE: consumer accept, send local QP information, private data,
+ * queue on work thread to receive RTU information to avoid blocking
+ * user thread.
+ */
+static DAT_RETURN
+dapli_socket_accept_usr(DAPL_EP * ep_ptr,
+ DAPL_CR * cr_ptr, DAT_COUNT p_size, DAT_PVOID p_data)
+{
+ DAPL_IA *ia_ptr = ep_ptr->header.owner_ia;
+ dp_ib_cm_handle_t cm_ptr = cr_ptr->ib_cm_handle;
+ ib_cm_msg_t local;
+ struct iovec iov[2];
+ int len, exp = sizeof(ib_cm_msg_t) - DCM_MAX_PDATA_SIZE;
+ DAT_RETURN ret = DAT_INTERNAL_ERROR;
+ socklen_t sl;
+
+ if (p_size > DCM_MAX_PDATA_SIZE) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " accept_usr: psize(%d) too large\n", p_size);
+ return DAT_LENGTH_ERROR;
+ }
+
+ /* must have a accepted socket */
+ if (cm_ptr->socket == DAPL_INVALID_SOCKET) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " accept_usr: cm socket invalid\n");
+ goto bail;
+ }
+
+ dapl_dbg_log(DAPL_DBG_TYPE_CM,
+ " ACCEPT_USR: remote lid=0x%x"
+ " qpn=0x%x qp_type %d, psize=%d\n",
+ ntohs(cm_ptr->msg.saddr.ib.lid),
+ ntohl(cm_ptr->msg.saddr.ib.qpn),
+ cm_ptr->msg.saddr.ib.qp_type,
+ ntohs(cm_ptr->msg.p_size));
+
+#ifdef DAT_EXTENSIONS
+ if (cm_ptr->msg.saddr.ib.qp_type == IBV_QPT_UD &&
+ ep_ptr->qp_handle->qp_type != IBV_QPT_UD) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " ACCEPT_USR: ERR remote QP is UD,"
+ ", but local QP is not\n");
+ ret = (DAT_INVALID_HANDLE | DAT_INVALID_HANDLE_EP);
+ goto bail;
+ }
+#endif
+ /* rdma_out, initiator, cannot exceed remote rdma_in max */
+ if (ntohs(cm_ptr->msg.ver) >= 7)
+ ep_ptr->param.ep_attr.max_rdma_read_out =
+ DAPL_MIN(ep_ptr->param.ep_attr.max_rdma_read_out,
+ cm_ptr->msg.rd_in);
+
+ /* modify QP to RTR and then to RTS with remote info already read */
+ dapl_os_lock(&ep_ptr->header.lock);
+ if (dapls_modify_qp_state(ep_ptr->qp_handle,
+ IBV_QPS_RTR,
+ cm_ptr->msg.saddr.ib.qpn,
+ cm_ptr->msg.saddr.ib.lid,
+ (ib_gid_handle_t)cm_ptr->msg.saddr.ib.gid) != DAT_SUCCESS) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " ACCEPT_USR: QPS_RTR ERR %s -> %s\n",
+ strerror(errno),
+ inet_ntoa(((struct sockaddr_in *)
+ &cm_ptr->msg.daddr.so)->sin_addr));
+ dapl_os_unlock(&ep_ptr->header.lock);
+ goto bail;
+ }
+ if (dapls_modify_qp_state(ep_ptr->qp_handle,
+ IBV_QPS_RTS,
+ cm_ptr->msg.saddr.ib.qpn,
+ cm_ptr->msg.saddr.ib.lid,
+ NULL) != DAT_SUCCESS) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " ACCEPT_USR: QPS_RTS ERR %s -> %s\n",
+ strerror(errno),
+ inet_ntoa(((struct sockaddr_in *)
+ &cm_ptr->msg.daddr.so)->sin_addr));
+ dapl_os_unlock(&ep_ptr->header.lock);
+ goto bail;
+ }
+ dapl_os_unlock(&ep_ptr->header.lock);
+
+ /* save remote address information */
+ dapl_os_memcpy(&ep_ptr->remote_ia_address,
+ &cm_ptr->msg.daddr.so,
+ sizeof(union dcm_addr));
+
+ /* send our QP info, IA address, pdata. Don't overwrite dst data */
+ local.ver = htons(DCM_VER);
+ local.op = htons(DCM_REP);
+ local.rd_in = ep_ptr->param.ep_attr.max_rdma_read_in;
+ local.saddr.ib.qpn = htonl(ep_ptr->qp_handle->qp_num);
+ local.saddr.ib.qp_type = ep_ptr->qp_handle->qp_type;
+ local.saddr.ib.lid = ia_ptr->hca_ptr->ib_trans.lid;
+ dapl_os_memcpy(&local.saddr.ib.gid[0],
+ &ia_ptr->hca_ptr->ib_trans.gid, 16);
+
+ /* Get local address information from socket */
+ sl = sizeof(local.daddr.so);
+ getsockname(cm_ptr->socket, (struct sockaddr *)&local.daddr.so, &sl);
+
+#ifdef DAPL_DBG
+ /* DBG: Active PID [0], PASSIVE PID [2] */
+ *(uint16_t*)&cm_ptr->msg.resv[2] = htons((uint16_t)dapl_os_getpid());
+ dapl_os_memcpy(local.resv, cm_ptr->msg.resv, 4);
+#endif
+ cm_ptr->hca = ia_ptr->hca_ptr;
+ dapl_os_lock(&cm_ptr->lock);
+ cm_ptr->state = DCM_ACCEPTED;
+ dapl_os_unlock(&cm_ptr->lock);
+
+ /* Link CM to EP, already queued on work thread, !PSP !RSP */
+ if (!cm_ptr->sp->ep_handle && !cm_ptr->sp->psp_flags)
+ dapl_ep_link_cm(ep_ptr, cm_ptr);
+ cm_ptr->ep = ep_ptr;
+
+ local.p_size = htons(p_size);
+ iov[0].iov_base = (void *)&local;
+ iov[0].iov_len = exp;
+
+ if (p_size) {
+ iov[1].iov_base = p_data;
+ iov[1].iov_len = p_size;
+ len = writev(cm_ptr->socket, iov, 2);
+ } else
+ len = writev(cm_ptr->socket, iov, 1);
+
+ if (len != (p_size + exp)) {
+ int err = dapl_socket_errno();
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " ACCEPT_USR: ERR 0x%x %s, wcnt=%d -> %s\n",
+ err, strerror(err), len,
+ inet_ntoa(((struct sockaddr_in *)
+ &cm_ptr->msg.daddr.so)->sin_addr));
+ dapl_ep_unlink_cm(ep_ptr, cm_ptr);
+ cm_ptr->ep = NULL;
+ goto bail;
+ }
+
+ dapl_dbg_log(DAPL_DBG_TYPE_CM,
+ " ACCEPT_USR: local lid=0x%x qpn=0x%x psz=%d\n",
+ ntohs(local.saddr.ib.lid),
+ ntohl(local.saddr.ib.qpn), ntohs(local.p_size));
+ dapl_dbg_log(DAPL_DBG_TYPE_CM,
+ " ACCEPT_USR: local GID subnet %016llx id %016llx\n",
+ (unsigned long long)
+ htonll(*(uint64_t*)&local.saddr.ib.gid[0]),
+ (unsigned long long)
+ htonll(*(uint64_t*)&local.saddr.ib.gid[8]));
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EP, " PASSIVE: accepted!\n");
+
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm_ptr->hca->ia_list_head)), DCNT_IA_CM_REP_TX);
+
+ return DAT_SUCCESS;
+bail:
+ /* schedule cleanup from workq */
+ dapli_cm_free(cm_ptr);
+ return ret;
+}
+
+/*
+ * PASSIVE: read RTU from active peer, post CONN event
+ */
+static void dapli_socket_accept_rtu(dp_ib_cm_handle_t cm_ptr)
+{
+ int len;
+ ib_cm_events_t event = IB_CME_CONNECTED;
+
+ /* complete handshake after final QP state change, VER and OP */
+ len = recv(cm_ptr->socket, (char *)&cm_ptr->msg, 4, 0);
+ if (len != 4 || ntohs(cm_ptr->msg.op) != DCM_RTU) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " ACCEPT_RTU: rcv ERR, rcnt=%d op=%x <- %s\n",
+ len, ntohs(cm_ptr->msg.op),
+ inet_ntoa(((struct sockaddr_in *)
+ &cm_ptr->msg.daddr.so)->sin_addr));
+ event = IB_CME_DESTINATION_REJECT;
+ goto bail;
+ }
+
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm_ptr->hca->ia_list_head)), DCNT_IA_CM_RTU_RX);
+
+ /* save state and reference to EP, queue for disc event */
+ dapl_os_lock(&cm_ptr->lock);
+ cm_ptr->state = DCM_CONNECTED;
+ dapl_os_unlock(&cm_ptr->lock);
+
+ /* final data exchange if remote QP state is good to go */
+ dapl_dbg_log(DAPL_DBG_TYPE_EP, " PASSIVE: connected!\n");
+
+#ifdef DAT_EXTENSIONS
+ud_bail:
+ if (cm_ptr->msg.saddr.ib.qp_type == IBV_QPT_UD) {
+ DAT_IB_EXTENSION_EVENT_DATA xevent;
+
+ ib_pd_handle_t pd_handle =
+ ((DAPL_PZ *)cm_ptr->ep->param.pz_handle)->pd_handle;
+
+ if (event == IB_CME_CONNECTED) {
+ cm_ptr->ah = dapls_create_ah(cm_ptr->hca, pd_handle,
+ cm_ptr->ep->qp_handle,
+ cm_ptr->msg.saddr.ib.lid,
+ NULL);
+ if (cm_ptr->ah) {
+ /* post EVENT, modify_qp created ah */
+ xevent.status = 0;
+ xevent.type = DAT_IB_UD_PASSIVE_REMOTE_AH;
+ xevent.remote_ah.ah = cm_ptr->ah;
+ xevent.remote_ah.qpn = ntohl(cm_ptr->msg.saddr.ib.qpn);
+ dapl_os_memcpy(&xevent.remote_ah.ia_addr,
+ &cm_ptr->msg.daddr.so,
+ sizeof(union dcm_addr));
+ event = DAT_IB_UD_CONNECTION_EVENT_ESTABLISHED;
+ } else
+ event = DAT_IB_UD_CONNECTION_ERROR_EVENT;
+ } else
+ event = DAT_IB_UD_CONNECTION_ERROR_EVENT;
+
+ dapl_log(DAPL_DBG_TYPE_CM,
+ " CONN_RTU: UD AH %p for lid 0x%x qpn 0x%x\n",
+ cm_ptr->ah, ntohs(cm_ptr->msg.saddr.ib.lid),
+ ntohl(cm_ptr->msg.saddr.ib.qpn));
+
+ dapls_evd_post_connection_event_ext(
+ (DAPL_EVD *)
+ cm_ptr->ep->param.connect_evd_handle,
+ event,
+ (DAT_EP_HANDLE) cm_ptr->ep,
+ (DAT_COUNT) ntohs(cm_ptr->msg.p_size),
+ (DAT_PVOID *) cm_ptr->msg.p_data,
+ (DAT_PVOID *) &xevent);
+
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm_ptr->hca->ia_list_head)), DCNT_IA_CM_AH_RESOLVED);
+
+ /* cleanup and release from local list, still on EP list */
+ dapli_cm_free(cm_ptr);
+
+ } else
+#endif
+ {
+ dapli_ep_check(cm_ptr->ep);
+ dapls_cr_callback(cm_ptr, event, NULL, 0, cm_ptr->sp);
+ }
+ dapl_log(DAPL_DBG_TYPE_CM_EST,
+ " SCM PASSIVE CONN: %x <- %s %x\n",
+ cm_ptr->sp->conn_qual,
+ inet_ntoa(((struct sockaddr_in *) &cm_ptr->msg.daddr.so)->sin_addr),
+ ntohs(((struct sockaddr_in *) &cm_ptr->msg.daddr.so)->sin_port));
+ return;
+
+bail:
+#ifdef DAT_EXTENSIONS
+ if (cm_ptr->msg.saddr.ib.qp_type == IBV_QPT_UD)
+ goto ud_bail;
+#endif
+ dapl_os_lock(&cm_ptr->lock);
+ cm_ptr->state = DCM_REJECTED;
+ dapl_os_unlock(&cm_ptr->lock);
+
+ dapls_cr_callback(cm_ptr, event, NULL, 0, cm_ptr->sp);
+ dapli_cm_free(cm_ptr);
+}
+
+/*
+ * dapls_ib_connect
+ *
+ * Initiate a connection with the passive listener on another node
+ *
+ * Input:
+ * ep_handle,
+ * remote_ia_address,
+ * remote_conn_qual,
+ * prd_size size of private data and structure
+ * prd_prt pointer to private data structure
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * DAT_SUCCESS
+ * DAT_INSUFFICIENT_RESOURCES
+ * DAT_INVALID_PARAMETER
+ *
+ */
+DAT_RETURN
+dapls_ib_connect(IN DAT_EP_HANDLE ep_handle,
+ IN DAT_IA_ADDRESS_PTR remote_ia_address,
+ IN DAT_CONN_QUAL remote_conn_qual,
+ IN DAT_COUNT private_data_size, IN void *private_data)
+{
+ DAPL_EP *ep_ptr = (DAPL_EP *) ep_handle;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EP,
+ " connect(ep_handle %p ....)\n", ep_handle);
+
+ return (dapli_socket_connect(ep_ptr, remote_ia_address,
+ remote_conn_qual,
+ private_data_size, private_data, SCM_CR_RETRY));
+}
+
+/*
+ * dapls_ib_disconnect
+ *
+ * Disconnect an EP
+ *
+ * Input:
+ * ep_handle,
+ * disconnect_flags
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * DAT_SUCCESS
+ */
+DAT_RETURN
+dapls_ib_disconnect(IN DAPL_EP * ep_ptr, IN DAT_CLOSE_FLAGS close_flags)
+{
+ dp_ib_cm_handle_t cm_ptr = dapl_get_cm_from_ep(ep_ptr);
+
+ dapl_os_lock(&ep_ptr->header.lock);
+ if (ep_ptr->param.ep_state == DAT_EP_STATE_DISCONNECTED ||
+ ep_ptr->param.ep_attr.service_type != DAT_SERVICE_TYPE_RC ||
+ cm_ptr == NULL) {
+ dapl_os_unlock(&ep_ptr->header.lock);
+ return DAT_SUCCESS;
+ }
+ dapl_os_unlock(&ep_ptr->header.lock);
+ return (dapli_socket_disconnect(cm_ptr));
+}
+
+/*
+ * dapls_ib_disconnect_clean
+ *
+ * Clean up outstanding connection data. This routine is invoked
+ * after the final disconnect callback has occurred. Only on the
+ * ACTIVE side of a connection. It is also called if dat_ep_connect
+ * times out using the consumer supplied timeout value.
+ *
+ * Input:
+ * ep_ptr DAPL_EP
+ * active Indicates active side of connection
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * void
+ *
+ */
+void
+dapls_ib_disconnect_clean(IN DAPL_EP * ep_ptr,
+ IN DAT_BOOLEAN active,
+ IN const ib_cm_events_t ib_cm_event)
+{
+ if (ib_cm_event == IB_CME_TIMEOUT) {
+ dp_ib_cm_handle_t cm_ptr;
+
+ if ((cm_ptr = dapl_get_cm_from_ep(ep_ptr)) == NULL)
+ return;
+
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ "dapls_ib_disc_clean: CONN_TIMEOUT ep %p cm %p %s\n",
+ ep_ptr, cm_ptr, dapl_cm_state_str(cm_ptr->state));
+
+ /* schedule release of socket and local resources */
+ dapli_cm_free(cm_ptr);
+ }
+}
+
+/*
+ * dapl_ib_setup_conn_listener
+ *
+ * Have the CM set up a connection listener.
+ *
+ * Input:
+ * ibm_hca_handle HCA handle
+ * qp_handle QP handle
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * DAT_SUCCESS
+ * DAT_INSUFFICIENT_RESOURCES
+ * DAT_INTERNAL_ERROR
+ * DAT_CONN_QUAL_UNAVAILBLE
+ * DAT_CONN_QUAL_IN_USE
+ *
+ */
+DAT_RETURN
+dapls_ib_setup_conn_listener(IN DAPL_IA * ia_ptr,
+ IN DAT_UINT64 ServiceID, IN DAPL_SP * sp_ptr)
+{
+ return (dapli_socket_listen(ia_ptr, ServiceID, sp_ptr));
+}
+
+/*
+ * dapl_ib_remove_conn_listener
+ *
+ * Have the CM remove a connection listener.
+ *
+ * Input:
+ * ia_handle IA handle
+ * ServiceID IB Channel Service ID
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * DAT_SUCCESS
+ * DAT_INVALID_STATE
+ *
+ */
+DAT_RETURN
+dapls_ib_remove_conn_listener(IN DAPL_IA * ia_ptr, IN DAPL_SP * sp_ptr)
+{
+ ib_cm_srvc_handle_t cm_ptr = sp_ptr->cm_srvc_handle;
+
+ /* free cm_srvc_handle, release will cleanup */
+ if (cm_ptr != NULL) {
+ /* cr_thread will free */
+ sp_ptr->cm_srvc_handle = NULL;
+ dapli_cm_free(cm_ptr);
+ }
+ return DAT_SUCCESS;
+}
+
+/*
+ * dapls_ib_accept_connection
+ *
+ * Perform necessary steps to accept a connection
+ *
+ * Input:
+ * cr_handle
+ * ep_handle
+ * private_data_size
+ * private_data
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * DAT_SUCCESS
+ * DAT_INSUFFICIENT_RESOURCES
+ * DAT_INTERNAL_ERROR
+ *
+ */
+DAT_RETURN
+dapls_ib_accept_connection(IN DAT_CR_HANDLE cr_handle,
+ IN DAT_EP_HANDLE ep_handle,
+ IN DAT_COUNT p_size, IN const DAT_PVOID p_data)
+{
+ DAPL_CR *cr_ptr;
+ DAPL_EP *ep_ptr;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EP,
+ "dapls_ib_accept_connection(cr %p ep %p prd %p,%d)\n",
+ cr_handle, ep_handle, p_data, p_size);
+
+ cr_ptr = (DAPL_CR *) cr_handle;
+ ep_ptr = (DAPL_EP *) ep_handle;
+
+ /* allocate and attach a QP if necessary */
+ if (ep_ptr->qp_state == DAPL_QP_STATE_UNATTACHED) {
+ DAT_RETURN status;
+ status = dapls_ib_qp_alloc(ep_ptr->header.owner_ia,
+ ep_ptr, ep_ptr);
+ if (status != DAT_SUCCESS)
+ return status;
+ }
+ return (dapli_socket_accept_usr(ep_ptr, cr_ptr, p_size, p_data));
+}
+
+/*
+ * dapls_ib_reject_connection
+ *
+ * Reject a connection
+ *
+ * Input:
+ * cr_handle
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * DAT_SUCCESS
+ * DAT_INTERNAL_ERROR
+ *
+ */
+DAT_RETURN
+dapls_ib_reject_connection(IN dp_ib_cm_handle_t cm_ptr,
+ IN int reason,
+ IN DAT_COUNT psize, IN const DAT_PVOID pdata)
+{
+ struct iovec iov[2];
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EP,
+ " reject(cm %p reason %x, pdata %p, psize %d)\n",
+ cm_ptr, reason, pdata, psize);
+
+ if (psize > DCM_MAX_PDATA_SIZE)
+ return DAT_LENGTH_ERROR;
+
+ /* write reject data to indicate reject */
+ if (reason == IB_CM_REJ_REASON_CONSUMER_REJ)
+ cm_ptr->msg.op = htons(DCM_REJ_USER);
+ else
+ cm_ptr->msg.op = htons(DCM_REJ_CM);
+
+ cm_ptr->msg.p_size = htons(psize);
+
+ iov[0].iov_base = (void *)&cm_ptr->msg;
+ iov[0].iov_len = sizeof(ib_cm_msg_t) - DCM_MAX_PDATA_SIZE;
+ if (psize) {
+ iov[1].iov_base = pdata;
+ iov[1].iov_len = psize;
+ writev(cm_ptr->socket, iov, 2);
+ } else {
+ writev(cm_ptr->socket, iov, 1);
+ }
+
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm_ptr->hca->ia_list_head)),
+ reason == IB_CM_REJ_REASON_CONSUMER_REJ ?
+ DCNT_IA_CM_USER_REJ_TX : DCNT_IA_CM_ERR_REJ_TX);
+
+ /* release and cleanup CM object */
+ dapli_cm_free(cm_ptr);
+ return DAT_SUCCESS;
+}
+
+/*
+ * dapls_ib_cm_remote_addr
+ *
+ * Obtain the remote IP address given a connection
+ *
+ * Input:
+ * cr_handle
+ *
+ * Output:
+ * remote_ia_address: where to place the remote address
+ *
+ * Returns:
+ * DAT_SUCCESS
+ * DAT_INVALID_HANDLE
+ *
+ */
+DAT_RETURN
+dapls_ib_cm_remote_addr(IN DAT_HANDLE dat_handle,
+ OUT DAT_SOCK_ADDR6 * remote_ia_address)
+{
+ DAPL_HEADER *header;
+ dp_ib_cm_handle_t conn;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EP,
+ "dapls_ib_cm_remote_addr(dat_handle %p, ....)\n",
+ dat_handle);
+
+ header = (DAPL_HEADER *) dat_handle;
+
+ if (header->magic == DAPL_MAGIC_EP)
+ conn = dapl_get_cm_from_ep((DAPL_EP *) dat_handle);
+ else if (header->magic == DAPL_MAGIC_CR)
+ conn = ((DAPL_CR *) dat_handle)->ib_cm_handle;
+ else
+ return DAT_INVALID_HANDLE;
+
+ dapl_os_memcpy(remote_ia_address,
+ &conn->msg.daddr.so, sizeof(DAT_SOCK_ADDR6));
+
+ return DAT_SUCCESS;
+}
+
+int dapls_ib_private_data_size(
+ IN DAPL_HCA *hca_ptr)
+{
+ return DCM_MAX_PDATA_SIZE;
+}
+
+/* outbound/inbound CR processing thread to avoid blocking applications */
+void cr_thread(void *arg)
+{
+ struct dapl_hca *hca_ptr = arg;
+ dp_ib_cm_handle_t cr, next_cr;
+ int opt, ret;
+ socklen_t opt_len;
+ char rbuf[2];
+ struct dapl_fd_set *set;
+ enum DAPL_FD_EVENTS event;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " cr_thread: ENTER hca %p\n", hca_ptr);
+ set = dapl_alloc_fd_set();
+ if (!set)
+ goto out;
+
+ dapl_os_lock(&hca_ptr->ib_trans.lock);
+ hca_ptr->ib_trans.cr_state = IB_THREAD_RUN;
+
+ while (1) {
+ dapl_fd_zero(set);
+ dapl_fd_set(hca_ptr->ib_trans.scm[0], set, DAPL_FD_READ);
+
+ if (!dapl_llist_is_empty(&hca_ptr->ib_trans.list))
+ next_cr = dapl_llist_peek_head(&hca_ptr->ib_trans.list);
+ else
+ next_cr = NULL;
+
+ while (next_cr) {
+ cr = next_cr;
+ next_cr = dapl_llist_next_entry(&hca_ptr->ib_trans.list,
+ (DAPL_LLIST_ENTRY *)
+ &cr->local_entry);
+ dapls_cm_acquire(cr); /* hold thread ref */
+ dapl_os_lock(&cr->lock);
+ if (cr->state == DCM_FREE ||
+ hca_ptr->ib_trans.cr_state != IB_THREAD_RUN) {
+ dapl_log(DAPL_DBG_TYPE_CM,
+ " CM FREE: %p ep=%p st=%s sck=%d refs=%d\n",
+ cr, cr->ep, dapl_cm_state_str(cr->state),
+ cr->socket, cr->ref_count);
+
+ if (cr->socket != DAPL_INVALID_SOCKET) {
+ shutdown(cr->socket, SHUT_RDWR);
+ closesocket(cr->socket);
+ cr->socket = DAPL_INVALID_SOCKET;
+ }
+ dapl_os_unlock(&cr->lock);
+ dapls_cm_release(cr); /* release alloc ref */
+ dapli_cm_dequeue(cr); /* release workq ref */
+ dapls_cm_release(cr); /* release thread ref */
+ continue;
+ }
+
+ event = (cr->state == DCM_CONN_PENDING) ?
+ DAPL_FD_WRITE : DAPL_FD_READ;
+
+ if (dapl_fd_set(cr->socket, set, event)) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " cr_thread: fd_set ERR st=%d fd %d"
+ " -> %s\n", cr->state, cr->socket,
+ inet_ntoa(((struct sockaddr_in *)
+ &cr->msg.daddr.so)->sin_addr));
+ dapl_os_unlock(&cr->lock);
+ dapls_cm_release(cr); /* release ref */
+ continue;
+ }
+ dapl_os_unlock(&cr->lock);
+ dapl_os_unlock(&hca_ptr->ib_trans.lock);
+
+ ret = dapl_poll(cr->socket, event);
+
+ dapl_dbg_log(DAPL_DBG_TYPE_THREAD,
+ " poll ret=0x%x %s sck=%d\n",
+ ret, dapl_cm_state_str(cr->state),
+ cr->socket);
+
+ /* data on listen, qp exchange, and on disc req */
+ dapl_os_lock(&cr->lock);
+ if ((ret == DAPL_FD_READ) ||
+ (cr->state != DCM_CONN_PENDING && ret == DAPL_FD_ERROR)) {
+ if (cr->socket != DAPL_INVALID_SOCKET) {
+ switch (cr->state) {
+ case DCM_LISTEN:
+ dapl_os_unlock(&cr->lock);
+ dapli_socket_accept(cr);
+ break;
+ case DCM_ACCEPTING:
+ dapl_os_unlock(&cr->lock);
+ dapli_socket_accept_data(cr);
+ break;
+ case DCM_ACCEPTED:
+ dapl_os_unlock(&cr->lock);
+ dapli_socket_accept_rtu(cr);
+ break;
+ case DCM_REP_PENDING:
+ dapl_os_unlock(&cr->lock);
+ dapli_socket_connect_rtu(cr);
+ break;
+ case DCM_CONNECTED:
+ dapl_os_unlock(&cr->lock);
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cr->hca->ia_list_head)),
+ DCNT_IA_CM_DREQ_RX);
+ dapli_socket_disconnect(cr);
+ break;
+ case DCM_DISCONNECTED:
+ cr->state = DCM_FREE;
+ dapl_os_unlock(&cr->lock);
+ break;
+ default:
+ if (ret == DAPL_FD_ERROR)
+ cr->state = DCM_FREE;
+ dapl_os_unlock(&cr->lock);
+ break;
+ }
+ } else
+ dapl_os_unlock(&cr->lock);
+
+ /* ASYNC connections, writable, readable, error; check status */
+ } else if (ret == DAPL_FD_WRITE ||
+ (cr->state == DCM_CONN_PENDING &&
+ ret == DAPL_FD_ERROR)) {
+
+ opt = 0;
+ opt_len = sizeof(opt);
+ ret = getsockopt(cr->socket, SOL_SOCKET,
+ SO_ERROR, (char *)&opt,
+ &opt_len);
+ dapl_os_unlock(&cr->lock);
+ if (!ret && !opt)
+ dapli_socket_connected(cr, opt);
+ else
+ dapli_socket_connected(cr, opt ? opt : dapl_socket_errno());
+ } else
+ dapl_os_unlock(&cr->lock);
+
+ dapls_cm_release(cr); /* release ref */
+ dapl_os_lock(&hca_ptr->ib_trans.lock);
+ }
+
+ /* set to exit and all resources destroyed */
+ if ((hca_ptr->ib_trans.cr_state != IB_THREAD_RUN) &&
+ (dapl_llist_is_empty(&hca_ptr->ib_trans.list)))
+ break;
+
+ dapl_os_unlock(&hca_ptr->ib_trans.lock);
+ dapl_select(set);
+
+ /* if pipe used to wakeup, consume */
+ while (dapl_poll(hca_ptr->ib_trans.scm[0],
+ DAPL_FD_READ) == DAPL_FD_READ) {
+ if (recv(hca_ptr->ib_trans.scm[0], rbuf, 2, 0) == -1)
+ dapl_log(DAPL_DBG_TYPE_THREAD,
+ " cr_thread: read pipe error = %s\n",
+ strerror(errno));
+ }
+ dapl_os_lock(&hca_ptr->ib_trans.lock);
+
+ /* set to exit and all resources destroyed */
+ if ((hca_ptr->ib_trans.cr_state != IB_THREAD_RUN) &&
+ (dapl_llist_is_empty(&hca_ptr->ib_trans.list)))
+ break;
+ }
+
+ dapl_os_unlock(&hca_ptr->ib_trans.lock);
+ dapl_os_free(set, sizeof(struct dapl_fd_set));
+out:
+ hca_ptr->ib_trans.cr_state = IB_THREAD_EXIT;
+ dapl_dbg_log(DAPL_DBG_TYPE_THREAD, " cr_thread(hca %p) exit\n", hca_ptr);
+}
+
+
+#ifdef DAPL_COUNTERS
+/* Debug aid: List all Connections in process and state */
+void dapls_print_cm_list(IN DAPL_IA *ia_ptr)
+{
+ /* Print in process CR's for this IA, if debug type set */
+ int i = 0;
+ dp_ib_cm_handle_t cr, next_cr;
+
+ dapl_os_lock(&ia_ptr->hca_ptr->ib_trans.lock);
+ if (!dapl_llist_is_empty((DAPL_LLIST_HEAD*)
+ &ia_ptr->hca_ptr->ib_trans.list))
+ next_cr = dapl_llist_peek_head((DAPL_LLIST_HEAD*)
+ &ia_ptr->hca_ptr->ib_trans.list);
+ else
+ next_cr = NULL;
+
+ printf("\n DAPL IA CONNECTIONS IN PROCESS:\n");
+ while (next_cr) {
+ cr = next_cr;
+ next_cr = dapl_llist_next_entry((DAPL_LLIST_HEAD*)
+ &ia_ptr->hca_ptr->ib_trans.list,
+ (DAPL_LLIST_ENTRY*)&cr->local_entry);
+
+ printf( " CONN[%d]: sp %p ep %p sock %d %s %s %s %s %s %s PORT L-%x R-%x PID L-%x R-%x\n",
+ i, cr->sp, cr->ep, cr->socket,
+ cr->msg.saddr.ib.qp_type == IBV_QPT_RC ? "RC" : "UD",
+ dapl_cm_state_str(cr->state), dapl_cm_op_str(ntohs(cr->msg.op)),
+ ntohs(cr->msg.op) == DCM_REQ ? /* local address */
+ inet_ntoa(((struct sockaddr_in *)&cr->msg.daddr.so)->sin_addr) :
+ inet_ntoa(((struct sockaddr_in *)&cr->addr)->sin_addr),
+ cr->sp ? "<-" : "->",
+ ntohs(cr->msg.op) == DCM_REQ ? /* remote address */
+ inet_ntoa(((struct sockaddr_in *)&cr->addr)->sin_addr) :
+ inet_ntoa(((struct sockaddr_in *)&cr->msg.daddr.so)->sin_addr),
+
+ ntohs(cr->msg.op) == DCM_REQ ? /* local port */
+ ntohs(((struct sockaddr_in *)&cr->msg.daddr.so)->sin_port) :
+ ntohs(((struct sockaddr_in *)&cr->addr)->sin_port),
+
+ ntohs(cr->msg.op) == DCM_REQ ? /* remote port */
+ ntohs(((struct sockaddr_in *)&cr->addr)->sin_port) :
+ ntohs(((struct sockaddr_in *)&cr->msg.daddr.so)->sin_port),
+
+ cr->sp ? ntohs(*(uint16_t*)&cr->msg.resv[2]) : ntohs(*(uint16_t*)&cr->msg.resv[0]),
+ cr->sp ? ntohs(*(uint16_t*)&cr->msg.resv[0]) : ntohs(*(uint16_t*)&cr->msg.resv[2]));
+
+ i++;
+ }
+ printf("\n");
+ dapl_os_unlock(&ia_ptr->hca_ptr->ib_trans.lock);
+}
+#endif
+
diff --git a/dapl/openib_scm/dapl_ib_cm.c b/dapl/openib_scm/dapl_ib_cm.c
deleted file mode 100644
index a2b02eb..0000000
--- a/dapl/openib_scm/dapl_ib_cm.c
+++ /dev/null
@@ -1,1681 +0,0 @@
-/*
- * This Software is licensed under one of the following licenses:
- *
- * 1) under the terms of the "Common Public License 1.0" a copy of which is
- * available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/cpl.php.
- *
- * 2) under the terms of the "The BSD License" a copy of which is
- * available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/bsd-license.php.
- *
- * 3) under the terms of the "GNU General Public License (GPL) Version 2" a
- * copy of which is available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/gpl-license.php.
- *
- * Licensee has the right to choose one of the above licenses.
- *
- * Redistributions of source code must retain the above copyright
- * notice and one of the license notices.
- *
- * Redistributions in binary form must reproduce both the above copyright
- * notice, one of the license notices in the documentation
- * and/or other materials provided with the distribution.
- */
-
-/***************************************************************************
- *
- * Module: uDAPL
- *
- * Filename: dapl_ib_cm.c
- *
- * Author: Arlin Davis
- *
- * Created: 3/10/2005
- *
- * Description:
- *
- * The uDAPL openib provider - connection management
- *
- ****************************************************************************
- * Source Control System Information
- *
- * $Id: $
- *
- * Copyright (c) 2005 Intel Corporation. All rights reserved.
- *
- **************************************************************************/
-
-#include "dapl.h"
-#include "dapl_adapter_util.h"
-#include "dapl_evd_util.h"
-#include "dapl_cr_util.h"
-#include "dapl_name_service.h"
-#include "dapl_ib_util.h"
-#include "dapl_osd.h"
-
-extern DAPL_SOCKET g_scm[2];
-
-#if defined(_WIN32) || defined(_WIN64)
-enum DAPL_FD_EVENTS {
- DAPL_FD_READ = 0x1,
- DAPL_FD_WRITE = 0x2,
- DAPL_FD_ERROR = 0x4
-};
-
-static int dapl_config_socket(DAPL_SOCKET s)
-{
- unsigned long nonblocking = 1;
- return ioctlsocket(s, FIONBIO, &nonblocking);
-}
-
-static int dapl_connect_socket(DAPL_SOCKET s, struct sockaddr *addr,
- int addrlen)
-{
- int err;
-
- err = connect(s, addr, addrlen);
- if (err == SOCKET_ERROR)
- err = WSAGetLastError();
- return (err == WSAEWOULDBLOCK) ? EAGAIN : err;
-}
-
-struct dapl_fd_set {
- struct fd_set set[3];
-};
-
-static struct dapl_fd_set *dapl_alloc_fd_set(void)
-{
- return dapl_os_alloc(sizeof(struct dapl_fd_set));
-}
-
-static void dapl_fd_zero(struct dapl_fd_set *set)
-{
- FD_ZERO(&set->set[0]);
- FD_ZERO(&set->set[1]);
- FD_ZERO(&set->set[2]);
-}
-
-static int dapl_fd_set(DAPL_SOCKET s, struct dapl_fd_set *set,
- enum DAPL_FD_EVENTS event)
-{
- FD_SET(s, &set->set[(event == DAPL_FD_READ) ? 0 : 1]);
- FD_SET(s, &set->set[2]);
- return 0;
-}
-
-static enum DAPL_FD_EVENTS dapl_poll(DAPL_SOCKET s, enum DAPL_FD_EVENTS event)
-{
- struct fd_set rw_fds;
- struct fd_set err_fds;
- struct timeval tv;
- int ret;
-
- FD_ZERO(&rw_fds);
- FD_ZERO(&err_fds);
- FD_SET(s, &rw_fds);
- FD_SET(s, &err_fds);
-
- tv.tv_sec = 0;
- tv.tv_usec = 0;
-
- if (event == DAPL_FD_READ)
- ret = select(1, &rw_fds, NULL, &err_fds, &tv);
- else
- ret = select(1, NULL, &rw_fds, &err_fds, &tv);
-
- if (ret == 0)
- return 0;
- else if (ret == SOCKET_ERROR)
- return WSAGetLastError();
- else if (FD_ISSET(s, &rw_fds))
- return event;
- else
- return DAPL_FD_ERROR;
-}
-
-static int dapl_select(struct dapl_fd_set *set)
-{
- int ret;
-
- dapl_dbg_log(DAPL_DBG_TYPE_CM, " dapl_select: sleep\n");
- ret = select(0, &set->set[0], &set->set[1], &set->set[2], NULL);
- dapl_dbg_log(DAPL_DBG_TYPE_CM, " dapl_select: wakeup\n");
-
- if (ret == SOCKET_ERROR)
- dapl_dbg_log(DAPL_DBG_TYPE_CM,
- " dapl_select: error 0x%x\n", WSAGetLastError());
-
- return ret;
-}
-#else // _WIN32 || _WIN64
-enum DAPL_FD_EVENTS {
- DAPL_FD_READ = POLLIN,
- DAPL_FD_WRITE = POLLOUT,
- DAPL_FD_ERROR = POLLERR
-};
-
-static int dapl_config_socket(DAPL_SOCKET s)
-{
- int ret;
-
- ret = fcntl(s, F_GETFL);
- if (ret >= 0)
- ret = fcntl(s, F_SETFL, ret | O_NONBLOCK);
- return ret;
-}
-
-static int dapl_connect_socket(DAPL_SOCKET s, struct sockaddr *addr,
- int addrlen)
-{
- int ret;
-
- ret = connect(s, addr, addrlen);
-
- return (errno == EINPROGRESS) ? EAGAIN : ret;
-}
-
-struct dapl_fd_set {
- int index;
- struct pollfd set[DAPL_FD_SETSIZE];
-};
-
-static struct dapl_fd_set *dapl_alloc_fd_set(void)
-{
- return dapl_os_alloc(sizeof(struct dapl_fd_set));
-}
-
-static void dapl_fd_zero(struct dapl_fd_set *set)
-{
- set->index = 0;
-}
-
-static int dapl_fd_set(DAPL_SOCKET s, struct dapl_fd_set *set,
- enum DAPL_FD_EVENTS event)
-{
- if (set->index == DAPL_FD_SETSIZE - 1) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- "SCM ERR: cm_thread exceeded FD_SETSIZE %d\n",
- set->index + 1);
- return -1;
- }
-
- set->set[set->index].fd = s;
- set->set[set->index].revents = 0;
- set->set[set->index++].events = event;
- return 0;
-}
-
-static enum DAPL_FD_EVENTS dapl_poll(DAPL_SOCKET s, enum DAPL_FD_EVENTS event)
-{
- struct pollfd fds;
- int ret;
-
- fds.fd = s;
- fds.events = event;
- fds.revents = 0;
- ret = poll(&fds, 1, 0);
- dapl_dbg_log(DAPL_DBG_TYPE_CM, " dapl_poll: ret=%d, events=0x%x\n",
- ret, fds.revents);
- if (ret <= 0)
- return ret;
-
- return fds.revents;
-}
-
-static int dapl_select(struct dapl_fd_set *set)
-{
- int ret;
-
- dapl_dbg_log(DAPL_DBG_TYPE_CM, " dapl_select: sleep, fds=%d\n",
- set->index);
- ret = poll(set->set, set->index, -1);
- dapl_dbg_log(DAPL_DBG_TYPE_CM, " dapl_select: wakeup, ret=0x%x\n", ret);
- return ret;
-}
-#endif
-
-static struct ib_cm_handle *dapli_cm_create(void)
-{
- struct ib_cm_handle *cm_ptr;
-
- /* Allocate CM, init lock, and initialize */
- if ((cm_ptr = dapl_os_alloc(sizeof(*cm_ptr))) == NULL)
- return NULL;
-
- (void)dapl_os_memzero(cm_ptr, sizeof(*cm_ptr));
- if (dapl_os_lock_init(&cm_ptr->lock))
- goto bail;
-
- cm_ptr->dst.ver = htons(DSCM_VER);
- cm_ptr->socket = DAPL_INVALID_SOCKET;
- return cm_ptr;
- bail:
- dapl_os_free(cm_ptr, sizeof(*cm_ptr));
- return NULL;
-}
-
-/* mark for destroy, remove all references, schedule cleanup */
-static void dapli_cm_destroy(struct ib_cm_handle *cm_ptr)
-{
- dapl_dbg_log(DAPL_DBG_TYPE_CM,
- " cm_destroy: cm %p ep %p\n", cm_ptr, cm_ptr->ep);
-
- /* cleanup, never made it to work queue */
- if (cm_ptr->state == SCM_INIT) {
- if (cm_ptr->socket != DAPL_INVALID_SOCKET)
- closesocket(cm_ptr->socket);
- dapl_os_free(cm_ptr, sizeof(*cm_ptr));
- return;
- }
-
- dapl_os_lock(&cm_ptr->lock);
- cm_ptr->state = SCM_DESTROY;
- if ((cm_ptr->ep) && (cm_ptr->ep->cm_handle == cm_ptr))
- cm_ptr->ep->cm_handle = IB_INVALID_HANDLE;
-
- /* close socket if still active */
- if (cm_ptr->socket != DAPL_INVALID_SOCKET) {
- closesocket(cm_ptr->socket);
- cm_ptr->socket = DAPL_INVALID_SOCKET;
- }
- dapl_os_unlock(&cm_ptr->lock);
-
- /* wakeup work thread */
- if (send(g_scm[1], "w", sizeof "w", 0) == -1)
- dapl_log(DAPL_DBG_TYPE_CM,
- " cm_destroy: thread wakeup error = %s\n",
- strerror(errno));
-}
-
-/* queue socket for processing CM work */
-static void dapli_cm_queue(struct ib_cm_handle *cm_ptr)
-{
- /* add to work queue for cr thread processing */
- dapl_llist_init_entry((DAPL_LLIST_ENTRY *) & cm_ptr->entry);
- dapl_os_lock(&cm_ptr->hca->ib_trans.lock);
- dapl_llist_add_tail(&cm_ptr->hca->ib_trans.list,
- (DAPL_LLIST_ENTRY *) & cm_ptr->entry, cm_ptr);
- dapl_os_unlock(&cm_ptr->hca->ib_trans.lock);
-
- /* wakeup CM work thread */
- if (send(g_scm[1], "w", sizeof "w", 0) == -1)
- dapl_log(DAPL_DBG_TYPE_CM,
- " cm_queue: thread wakeup error = %s\n",
- strerror(errno));
-}
-
-/*
- * ACTIVE/PASSIVE: called from CR thread or consumer via ep_disconnect
- */
-static DAT_RETURN dapli_socket_disconnect(dp_ib_cm_handle_t cm_ptr)
-{
- DAPL_EP *ep_ptr = cm_ptr->ep;
- DAT_UINT32 disc_data = htonl(0xdead);
-
- if (ep_ptr == NULL)
- return DAT_SUCCESS;
-
- dapl_os_lock(&cm_ptr->lock);
- if ((cm_ptr->state == SCM_INIT) ||
- (cm_ptr->state == SCM_DISCONNECTED) ||
- (cm_ptr->state == SCM_DESTROY)) {
- dapl_os_unlock(&cm_ptr->lock);
- return DAT_SUCCESS;
- } else {
- /* send disc date, close socket, schedule destroy */
- if (cm_ptr->socket != DAPL_INVALID_SOCKET) {
- if (send(cm_ptr->socket, (char *)&disc_data,
- sizeof(disc_data), 0) == -1)
- dapl_log(DAPL_DBG_TYPE_WARN,
- " cm_disc: write error = %s\n",
- strerror(errno));
- closesocket(cm_ptr->socket);
- cm_ptr->socket = DAPL_INVALID_SOCKET;
- }
- cm_ptr->state = SCM_DISCONNECTED;
- }
- dapl_os_unlock(&cm_ptr->lock);
-
- /* disconnect events for RC's only */
- if (ep_ptr->param.ep_attr.service_type == DAT_SERVICE_TYPE_RC) {
- if (ep_ptr->cr_ptr) {
- dapls_cr_callback(cm_ptr,
- IB_CME_DISCONNECTED,
- NULL,
- ((DAPL_CR *) ep_ptr->cr_ptr)->sp_ptr);
- } else {
- dapl_evd_connection_callback(ep_ptr->cm_handle,
- IB_CME_DISCONNECTED,
- NULL, ep_ptr);
- }
- }
-
- /* scheduled destroy via disconnect clean in callback */
- return DAT_SUCCESS;
-}
-
-/*
- * ACTIVE: socket connected, send QP information to peer
- */
-static void dapli_socket_connected(dp_ib_cm_handle_t cm_ptr, int err)
-{
- int len, opt = 1;
- struct iovec iov[2];
- struct dapl_ep *ep_ptr = cm_ptr->ep;
-
- if (err) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " CONN_PENDING: socket ERR %s -> %s\n",
- strerror(err), inet_ntoa(((struct sockaddr_in *)
- ep_ptr->param.
- remote_ia_address_ptr)->
- sin_addr));
- goto bail;
- }
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " socket connected, write QP and private data\n");
-
- /* no delay for small packets */
- setsockopt(cm_ptr->socket, IPPROTO_TCP, TCP_NODELAY,
- (char *)&opt, sizeof(opt));
-
- /* send qp info and pdata to remote peer */
- iov[0].iov_base = (void *)&cm_ptr->dst;
- iov[0].iov_len = sizeof(ib_qp_cm_t);
- if (cm_ptr->dst.p_size) {
- iov[1].iov_base = cm_ptr->p_data;
- iov[1].iov_len = ntohl(cm_ptr->dst.p_size);
- len = writev(cm_ptr->socket, iov, 2);
- } else {
- len = writev(cm_ptr->socket, iov, 1);
- }
-
- if (len != (ntohl(cm_ptr->dst.p_size) + sizeof(ib_qp_cm_t))) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " CONN_PENDING write: ERR %s, wcnt=%d -> %s\n",
- strerror(errno), len, inet_ntoa(((struct sockaddr_in *)
- ep_ptr->param.
- remote_ia_address_ptr)->
- sin_addr));
- goto bail;
- }
- dapl_dbg_log(DAPL_DBG_TYPE_CM,
- " connected: sending SRC port=0x%x lid=0x%x,"
- " qpn=0x%x, psize=%d\n",
- ntohs(cm_ptr->dst.port), ntohs(cm_ptr->dst.lid),
- ntohl(cm_ptr->dst.qpn), ntohl(cm_ptr->dst.p_size));
- dapl_dbg_log(DAPL_DBG_TYPE_CM,
- " connected: sending SRC GID subnet %016llx id %016llx\n",
- (unsigned long long)
- htonll(cm_ptr->dst.gid.global.subnet_prefix),
- (unsigned long long)
- htonll(cm_ptr->dst.gid.global.interface_id));
-
- /* queue up to work thread to avoid blocking consumer */
- cm_ptr->state = SCM_RTU_PENDING;
- return;
- bail:
- /* close socket, free cm structure and post error event */
- dapli_cm_destroy(cm_ptr);
- dapl_evd_connection_callback(NULL, IB_CME_LOCAL_FAILURE, NULL, ep_ptr);
-}
-
-/*
- * ACTIVE: Create socket, connect, defer exchange QP information to CR thread
- * to avoid blocking.
- */
-DAT_RETURN
-dapli_socket_connect(DAPL_EP * ep_ptr,
- DAT_IA_ADDRESS_PTR r_addr,
- DAT_CONN_QUAL r_qual, DAT_COUNT p_size, DAT_PVOID p_data)
-{
- dp_ib_cm_handle_t cm_ptr;
- int ret;
- DAPL_IA *ia_ptr = ep_ptr->header.owner_ia;
- struct sockaddr_in addr;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP, " connect: r_qual %d p_size=%d\n",
- r_qual, p_size);
-
- cm_ptr = dapli_cm_create();
- if (cm_ptr == NULL)
- return DAT_INSUFFICIENT_RESOURCES;
-
- /* create, connect, sockopt, and exchange QP information */
- if ((cm_ptr->socket =
- socket(AF_INET, SOCK_STREAM, 0)) == DAPL_INVALID_SOCKET) {
- dapl_os_free(cm_ptr, sizeof(*cm_ptr));
- return DAT_INSUFFICIENT_RESOURCES;
- }
-
- ret = dapl_config_socket(cm_ptr->socket);
- if (ret < 0) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " socket connect: config socket %d ERR %d %s\n",
- cm_ptr->socket, ret, strerror(errno));
- goto bail;
- }
-
- dapl_os_memcpy(&addr, r_addr, sizeof(addr));
- addr.sin_port = htons(r_qual);
- ret = dapl_connect_socket(cm_ptr->socket, (struct sockaddr *)&addr,
- sizeof(addr));
- if (ret && ret != EAGAIN) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " socket connect ERROR: %s -> %s r_qual %d\n",
- strerror(errno),
- inet_ntoa(addr.sin_addr), (unsigned int)r_qual);
- dapli_cm_destroy(cm_ptr);
- return DAT_INVALID_ADDRESS;
- }
-
- /* Send QP info, IA address, and private data */
- cm_ptr->dst.qpn = htonl(ep_ptr->qp_handle->qp_num);
-#ifdef DAT_EXTENSIONS
- cm_ptr->dst.qp_type = htons(ep_ptr->qp_handle->qp_type);
-#endif
- cm_ptr->dst.port = htons(ia_ptr->hca_ptr->port_num);
- cm_ptr->dst.lid = ia_ptr->hca_ptr->ib_trans.lid;
- cm_ptr->dst.gid = ia_ptr->hca_ptr->ib_trans.gid;
-
- /* save references */
- cm_ptr->hca = ia_ptr->hca_ptr;
- cm_ptr->ep = ep_ptr;
- cm_ptr->dst.ia_address = ia_ptr->hca_ptr->hca_address;
- if (p_size) {
- cm_ptr->dst.p_size = htonl(p_size);
- dapl_os_memcpy(cm_ptr->p_data, p_data, p_size);
- }
-
- /* connected or pending, either way results via async event */
- if (ret == 0)
- dapli_socket_connected(cm_ptr, 0);
- else
- cm_ptr->state = SCM_CONN_PENDING;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " connect: socket %d to %s r_qual %d pending\n",
- cm_ptr->socket,
- inet_ntoa(addr.sin_addr), (unsigned int)r_qual);
-
- dapli_cm_queue(cm_ptr);
- return DAT_SUCCESS;
- bail:
- dapl_log(DAPL_DBG_TYPE_ERR,
- " socket connect ERROR: %s query lid(0x%x)/gid"
- " -> %s r_qual %d\n",
- strerror(errno), ntohs(cm_ptr->dst.lid),
- inet_ntoa(((struct sockaddr_in *)r_addr)->sin_addr),
- (unsigned int)r_qual);
-
- /* close socket, free cm structure */
- dapli_cm_destroy(cm_ptr);
- return DAT_INTERNAL_ERROR;
-}
-
-/*
- * ACTIVE: exchange QP information, called from CR thread
- */
-static void dapli_socket_connect_rtu(dp_ib_cm_handle_t cm_ptr)
-{
- DAPL_EP *ep_ptr = cm_ptr->ep;
- int len;
- short rtu_data = htons(0x0E0F);
- ib_cm_events_t event = IB_CME_DESTINATION_REJECT;
-
- /* read DST information into cm_ptr, overwrite SRC info */
- dapl_dbg_log(DAPL_DBG_TYPE_EP, " connect_rtu: recv peer QP data\n");
-
- len = recv(cm_ptr->socket, (char *)&cm_ptr->dst, sizeof(ib_qp_cm_t), 0);
- if (len != sizeof(ib_qp_cm_t) || ntohs(cm_ptr->dst.ver) != DSCM_VER) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " CONN_RTU read: ERR %s, rcnt=%d, ver=%d -> %s\n",
- strerror(errno), len, cm_ptr->dst.ver,
- inet_ntoa(((struct sockaddr_in *)
- ep_ptr->param.remote_ia_address_ptr)->
- sin_addr));
- goto bail;
- }
- /* check for consumer reject */
- if (cm_ptr->dst.rej) {
- dapl_log(DAPL_DBG_TYPE_CM,
- " CONN_RTU read: PEER REJ reason=0x%x -> %s\n",
- ntohs(cm_ptr->dst.rej),
- inet_ntoa(((struct sockaddr_in *)
- ep_ptr->param.remote_ia_address_ptr)->
- sin_addr));
- event = IB_CME_DESTINATION_REJECT_PRIVATE_DATA;
- goto bail;
- }
-
- /* convert peer response values to host order */
- cm_ptr->dst.port = ntohs(cm_ptr->dst.port);
- cm_ptr->dst.lid = ntohs(cm_ptr->dst.lid);
- cm_ptr->dst.qpn = ntohl(cm_ptr->dst.qpn);
-#ifdef DAT_EXTENSIONS
- cm_ptr->dst.qp_type = ntohs(cm_ptr->dst.qp_type);
-#endif
- cm_ptr->dst.p_size = ntohl(cm_ptr->dst.p_size);
-
- /* save remote address information */
- dapl_os_memcpy(&ep_ptr->remote_ia_address,
- &cm_ptr->dst.ia_address,
- sizeof(ep_ptr->remote_ia_address));
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " CONN_RTU: DST %s port=0x%x lid=0x%x,"
- " qpn=0x%x, qp_type=%d, psize=%d\n",
- inet_ntoa(((struct sockaddr_in *)
- &cm_ptr->dst.ia_address)->sin_addr),
- cm_ptr->dst.port, cm_ptr->dst.lid,
- cm_ptr->dst.qpn, cm_ptr->dst.qp_type, cm_ptr->dst.p_size);
-
- /* validate private data size before reading */
- if (cm_ptr->dst.p_size > IB_MAX_REP_PDATA_SIZE) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " CONN_RTU read: psize (%d) wrong -> %s\n",
- cm_ptr->dst.p_size, inet_ntoa(((struct sockaddr_in *)
- ep_ptr->param.
- remote_ia_address_ptr)->
- sin_addr));
- goto bail;
- }
-
- /* read private data into cm_handle if any present */
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " socket connected, read private data\n");
- if (cm_ptr->dst.p_size) {
- len =
- recv(cm_ptr->socket, cm_ptr->p_data, cm_ptr->dst.p_size, 0);
- if (len != cm_ptr->dst.p_size) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " CONN_RTU read pdata: ERR %s, rcnt=%d -> %s\n",
- strerror(errno), len,
- inet_ntoa(((struct sockaddr_in *)
- ep_ptr->param.
- remote_ia_address_ptr)->sin_addr));
- goto bail;
- }
- }
-
- /* modify QP to RTR and then to RTS with remote info */
- dapl_os_lock(&ep_ptr->header.lock);
- if (dapls_modify_qp_state(ep_ptr->qp_handle,
- IBV_QPS_RTR, cm_ptr) != DAT_SUCCESS) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " CONN_RTU: QPS_RTR ERR %s -> %s\n",
- strerror(errno), inet_ntoa(((struct sockaddr_in *)
- ep_ptr->param.
- remote_ia_address_ptr)->
- sin_addr));
- dapl_os_unlock(&ep_ptr->header.lock);
- goto bail;
- }
- if (dapls_modify_qp_state(ep_ptr->qp_handle,
- IBV_QPS_RTS, cm_ptr) != DAT_SUCCESS) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " CONN_RTU: QPS_RTS ERR %s -> %s\n",
- strerror(errno), inet_ntoa(((struct sockaddr_in *)
- ep_ptr->param.
- remote_ia_address_ptr)->
- sin_addr));
- dapl_os_unlock(&ep_ptr->header.lock);
- goto bail;
- }
- dapl_os_unlock(&ep_ptr->header.lock);
- dapl_dbg_log(DAPL_DBG_TYPE_EP, " connect_rtu: send RTU\n");
-
- /* complete handshake after final QP state change */
- if (send(cm_ptr->socket, (char *)&rtu_data, sizeof(rtu_data), 0) == -1) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " CONN_RTU: write error = %s\n", strerror(errno));
- goto bail;
- }
- /* init cm_handle and post the event with private data */
- ep_ptr->cm_handle = cm_ptr;
- cm_ptr->state = SCM_CONNECTED;
- dapl_dbg_log(DAPL_DBG_TYPE_EP, " ACTIVE: connected!\n");
-
-#ifdef DAT_EXTENSIONS
- if (cm_ptr->dst.qp_type == IBV_QPT_UD) {
- DAT_IB_EXTENSION_EVENT_DATA xevent;
-
- /* post EVENT, modify_qp created ah */
- xevent.status = 0;
- xevent.type = DAT_IB_UD_REMOTE_AH;
- xevent.remote_ah.ah = cm_ptr->ah;
- xevent.remote_ah.qpn = cm_ptr->dst.qpn;
- dapl_os_memcpy(&xevent.remote_ah.ia_addr,
- &cm_ptr->dst.ia_address,
- sizeof(cm_ptr->dst.ia_address));
-
- dapls_evd_post_connection_event_ext((DAPL_EVD *) ep_ptr->param.
- connect_evd_handle,
- DAT_IB_UD_CONNECTION_EVENT_ESTABLISHED,
- (DAT_EP_HANDLE) ep_ptr,
- (DAT_COUNT) cm_ptr->dst.
- p_size,
- (DAT_PVOID *) cm_ptr->
- p_data,
- (DAT_PVOID *) & xevent);
- } else
-#endif
- dapl_evd_connection_callback(cm_ptr,
- IB_CME_CONNECTED,
- cm_ptr->p_data, ep_ptr);
- return;
- bail:
- /* close socket, free cm structure and post error event */
- dapli_cm_destroy(cm_ptr);
- dapls_ib_reinit_ep(ep_ptr); /* reset QP state */
- dapl_evd_connection_callback(NULL, event, NULL, ep_ptr);
-}
-
-/*
- * PASSIVE: Create socket, listen, accept, exchange QP information
- */
-DAT_RETURN
-dapli_socket_listen(DAPL_IA * ia_ptr, DAT_CONN_QUAL serviceID, DAPL_SP * sp_ptr)
-{
- struct sockaddr_in addr;
- ib_cm_srvc_handle_t cm_ptr = NULL;
- int opt = 1;
- DAT_RETURN dat_status = DAT_SUCCESS;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " listen(ia_ptr %p ServiceID %d sp_ptr %p)\n",
- ia_ptr, serviceID, sp_ptr);
-
- cm_ptr = dapli_cm_create();
- if (cm_ptr == NULL)
- return DAT_INSUFFICIENT_RESOURCES;
-
- cm_ptr->sp = sp_ptr;
- cm_ptr->hca = ia_ptr->hca_ptr;
-
- /* bind, listen, set sockopt, accept, exchange data */
- if ((cm_ptr->socket =
- socket(AF_INET, SOCK_STREAM, 0)) == DAPL_INVALID_SOCKET) {
- dapl_log(DAPL_DBG_TYPE_ERR, " ERR: listen socket create: %s\n",
- strerror(errno));
- dat_status = DAT_INSUFFICIENT_RESOURCES;
- goto bail;
- }
-
- setsockopt(cm_ptr->socket, SOL_SOCKET, SO_REUSEADDR,
- (char *)&opt, sizeof(opt));
- addr.sin_port = htons(serviceID);
- addr.sin_family = AF_INET;
- addr.sin_addr.s_addr = INADDR_ANY;
-
- if ((bind(cm_ptr->socket, (struct sockaddr *)&addr, sizeof(addr)) < 0)
- || (listen(cm_ptr->socket, 128) < 0)) {
- dapl_dbg_log(DAPL_DBG_TYPE_CM,
- " listen: ERROR %s on conn_qual 0x%x\n",
- strerror(errno), serviceID);
- if (errno == EADDRINUSE)
- dat_status = DAT_CONN_QUAL_IN_USE;
- else
- dat_status = DAT_CONN_QUAL_UNAVAILABLE;
- goto bail;
- }
-
- /* set cm_handle for this service point, save listen socket */
- sp_ptr->cm_srvc_handle = cm_ptr;
-
- /* queue up listen socket to process inbound CR's */
- cm_ptr->state = SCM_LISTEN;
- dapli_cm_queue(cm_ptr);
-
- dapl_dbg_log(DAPL_DBG_TYPE_CM,
- " listen: qual 0x%x cr %p s_fd %d\n",
- ntohs(serviceID), cm_ptr, cm_ptr->socket);
-
- return dat_status;
- bail:
- dapl_dbg_log(DAPL_DBG_TYPE_CM,
- " listen: ERROR on conn_qual 0x%x\n", serviceID);
- dapli_cm_destroy(cm_ptr);
- return dat_status;
-}
-
-/*
- * PASSIVE: accept socket
- */
-static void dapli_socket_accept(ib_cm_srvc_handle_t cm_ptr)
-{
- dp_ib_cm_handle_t acm_ptr;
- int len;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP, " socket_accept\n");
-
- /* Allocate accept CM and initialize */
- if ((acm_ptr = dapli_cm_create()) == NULL)
- return;
-
- acm_ptr->sp = cm_ptr->sp;
- acm_ptr->hca = cm_ptr->hca;
-
- len = sizeof(acm_ptr->dst.ia_address);
- acm_ptr->socket = accept(cm_ptr->socket,
- (struct sockaddr *)&acm_ptr->dst.ia_address,
- (socklen_t *) & len);
- if (acm_ptr->socket == DAPL_INVALID_SOCKET) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " accept: ERR %s on FD %d l_cr %p\n",
- strerror(errno), cm_ptr->socket, cm_ptr);
- goto bail;
- }
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " socket accepted, queue new cm %p\n", acm_ptr);
-
- acm_ptr->state = SCM_ACCEPTING;
- dapli_cm_queue(acm_ptr);
- return;
- bail:
- /* close socket, free cm structure, active will see socket close as reject */
- dapli_cm_destroy(acm_ptr);
-}
-
-/*
- * PASSIVE: receive peer QP information, private data, post cr_event
- */
-static void dapli_socket_accept_data(ib_cm_srvc_handle_t acm_ptr)
-{
- int len;
- void *p_data = NULL;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP, " socket accepted, read QP data\n");
-
- /* read in DST QP info, IA address. check for private data */
- len =
- recv(acm_ptr->socket, (char *)&acm_ptr->dst, sizeof(ib_qp_cm_t), 0);
- if (len != sizeof(ib_qp_cm_t) || ntohs(acm_ptr->dst.ver) != DSCM_VER) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " accept read: ERR %s, rcnt=%d, ver=%d\n",
- strerror(errno), len, ntohs(acm_ptr->dst.ver));
- goto bail;
- }
-
- /* convert accepted values to host order */
- acm_ptr->dst.port = ntohs(acm_ptr->dst.port);
- acm_ptr->dst.lid = ntohs(acm_ptr->dst.lid);
- acm_ptr->dst.qpn = ntohl(acm_ptr->dst.qpn);
-#ifdef DAT_EXTENSIONS
- acm_ptr->dst.qp_type = ntohs(acm_ptr->dst.qp_type);
-#endif
- acm_ptr->dst.p_size = ntohl(acm_ptr->dst.p_size);
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " accept: DST %s port=0x%x lid=0x%x, qpn=0x%x, psize=%d\n",
- inet_ntoa(((struct sockaddr_in *)&acm_ptr->dst.
- ia_address)->sin_addr), acm_ptr->dst.port,
- acm_ptr->dst.lid, acm_ptr->dst.qpn, acm_ptr->dst.p_size);
-
- /* validate private data size before reading */
- if (acm_ptr->dst.p_size > IB_MAX_REQ_PDATA_SIZE) {
- dapl_dbg_log(DAPL_DBG_TYPE_ERR,
- " accept read: psize (%d) wrong\n",
- acm_ptr->dst.p_size);
- goto bail;
- }
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP, " socket accepted, read private data\n");
-
- /* read private data into cm_handle if any present */
- if (acm_ptr->dst.p_size) {
- len =
- recv(acm_ptr->socket, acm_ptr->p_data, acm_ptr->dst.p_size,
- 0);
- if (len != acm_ptr->dst.p_size) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " accept read pdata: ERR %s, rcnt=%d\n",
- strerror(errno), len);
- goto bail;
- }
- dapl_dbg_log(DAPL_DBG_TYPE_EP, " accept: psize=%d read\n", len);
- p_data = acm_ptr->p_data;
- }
-
- acm_ptr->state = SCM_ACCEPTING_DATA;
-
-#ifdef DAT_EXTENSIONS
- if (acm_ptr->dst.qp_type == IBV_QPT_UD) {
- DAT_IB_EXTENSION_EVENT_DATA xevent;
-
- /* post EVENT, modify_qp created ah */
- xevent.status = 0;
- xevent.type = DAT_IB_UD_CONNECT_REQUEST;
-
- dapls_evd_post_cr_event_ext(acm_ptr->sp,
- DAT_IB_UD_CONNECTION_REQUEST_EVENT,
- acm_ptr,
- (DAT_COUNT) acm_ptr->dst.p_size,
- (DAT_PVOID *) acm_ptr->p_data,
- (DAT_PVOID *) & xevent);
- } else
-#endif
- /* trigger CR event and return SUCCESS */
- dapls_cr_callback(acm_ptr,
- IB_CME_CONNECTION_REQUEST_PENDING,
- p_data, acm_ptr->sp);
- return;
- bail:
- /* close socket, free cm structure, active will see socket close as reject */
- dapli_cm_destroy(acm_ptr);
- return;
-}
-
-/*
- * PASSIVE: consumer accept, send local QP information, private data,
- * queue on work thread to receive RTU information to avoid blocking
- * user thread.
- */
-DAT_RETURN
-dapli_socket_accept_usr(DAPL_EP * ep_ptr,
- DAPL_CR * cr_ptr, DAT_COUNT p_size, DAT_PVOID p_data)
-{
- DAPL_IA *ia_ptr = ep_ptr->header.owner_ia;
- dp_ib_cm_handle_t cm_ptr = cr_ptr->ib_cm_handle;
- ib_qp_cm_t local;
- struct iovec iov[2];
- int len;
-
- if (p_size > IB_MAX_REP_PDATA_SIZE)
- return DAT_LENGTH_ERROR;
-
- /* must have a accepted socket */
- if (cm_ptr->socket == DAPL_INVALID_SOCKET)
- return DAT_INTERNAL_ERROR;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " ACCEPT_USR: remote port=0x%x lid=0x%x"
- " qpn=0x%x qp_type %d, psize=%d\n",
- cm_ptr->dst.port, cm_ptr->dst.lid,
- cm_ptr->dst.qpn, cm_ptr->dst.qp_type, cm_ptr->dst.p_size);
-
-#ifdef DAT_EXTENSIONS
- if (cm_ptr->dst.qp_type == IBV_QPT_UD &&
- ep_ptr->qp_handle->qp_type != IBV_QPT_UD) {
- dapl_dbg_log(DAPL_DBG_TYPE_ERR,
- " ACCEPT_USR: ERR remote QP is UD,"
- ", but local QP is not\n");
- return (DAT_INVALID_HANDLE | DAT_INVALID_HANDLE_EP);
- }
-#endif
-
- /* modify QP to RTR and then to RTS with remote info already read */
- dapl_os_lock(&ep_ptr->header.lock);
- if (dapls_modify_qp_state(ep_ptr->qp_handle,
- IBV_QPS_RTR, cm_ptr) != DAT_SUCCESS) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " ACCEPT_USR: QPS_RTR ERR %s -> %s\n",
- strerror(errno), inet_ntoa(((struct sockaddr_in *)
- &cm_ptr->dst.ia_address)->
- sin_addr));
- dapl_os_unlock(&ep_ptr->header.lock);
- goto bail;
- }
- if (dapls_modify_qp_state(ep_ptr->qp_handle,
- IBV_QPS_RTS, cm_ptr) != DAT_SUCCESS) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " ACCEPT_USR: QPS_RTS ERR %s -> %s\n",
- strerror(errno), inet_ntoa(((struct sockaddr_in *)
- &cm_ptr->dst.ia_address)->
- sin_addr));
- dapl_os_unlock(&ep_ptr->header.lock);
- goto bail;
- }
- dapl_os_unlock(&ep_ptr->header.lock);
-
- /* save remote address information */
- dapl_os_memcpy(&ep_ptr->remote_ia_address,
- &cm_ptr->dst.ia_address,
- sizeof(ep_ptr->remote_ia_address));
-
- /* send our QP info, IA address, pdata. Don't overwrite dst data */
- local.ver = htons(DSCM_VER);
- local.rej = 0;
- local.qpn = htonl(ep_ptr->qp_handle->qp_num);
- local.qp_type = htons(ep_ptr->qp_handle->qp_type);
- local.port = htons(ia_ptr->hca_ptr->port_num);
- local.lid = ia_ptr->hca_ptr->ib_trans.lid;
- local.gid = ia_ptr->hca_ptr->ib_trans.gid;
- local.ia_address = ia_ptr->hca_ptr->hca_address;
- local.p_size = htonl(p_size);
- iov[0].iov_base = (void *)&local;
- iov[0].iov_len = sizeof(ib_qp_cm_t);
- if (p_size) {
- iov[1].iov_base = p_data;
- iov[1].iov_len = p_size;
- len = writev(cm_ptr->socket, iov, 2);
- } else {
- len = writev(cm_ptr->socket, iov, 1);
- }
-
- if (len != (p_size + sizeof(ib_qp_cm_t))) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " ACCEPT_USR: ERR %s, wcnt=%d -> %s\n",
- strerror(errno), len, inet_ntoa(((struct sockaddr_in *)
- &cm_ptr->dst.
- ia_address)->
- sin_addr));
- goto bail;
- }
-
- dapl_dbg_log(DAPL_DBG_TYPE_CM,
- " ACCEPT_USR: local port=0x%x lid=0x%x"
- " qpn=0x%x psize=%d\n",
- ntohs(local.port), ntohs(local.lid),
- ntohl(local.qpn), ntohl(local.p_size));
- dapl_dbg_log(DAPL_DBG_TYPE_CM,
- " ACCEPT_USR SRC GID subnet %016llx id %016llx\n",
- (unsigned long long)
- htonll(local.gid.global.subnet_prefix),
- (unsigned long long)
- htonll(local.gid.global.interface_id));
-
- /* save state and reference to EP, queue for RTU data */
- cm_ptr->ep = ep_ptr;
- cm_ptr->hca = ia_ptr->hca_ptr;
- cm_ptr->state = SCM_ACCEPTED;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP, " PASSIVE: accepted!\n");
- return DAT_SUCCESS;
- bail:
- dapli_cm_destroy(cm_ptr);
- dapls_ib_reinit_ep(ep_ptr); /* reset QP state */
- return DAT_INTERNAL_ERROR;
-}
-
-/*
- * PASSIVE: read RTU from active peer, post CONN event
- */
-void dapli_socket_accept_rtu(dp_ib_cm_handle_t cm_ptr)
-{
- int len;
- short rtu_data = 0;
-
- /* complete handshake after final QP state change */
- len = recv(cm_ptr->socket, (char *)&rtu_data, sizeof(rtu_data), 0);
- if (len != sizeof(rtu_data) || ntohs(rtu_data) != 0x0e0f) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " ACCEPT_RTU: ERR %s, rcnt=%d rdata=%x\n",
- strerror(errno), len, ntohs(rtu_data),
- inet_ntoa(((struct sockaddr_in *)
- &cm_ptr->dst.ia_address)->sin_addr));
- goto bail;
- }
-
- /* save state and reference to EP, queue for disc event */
- cm_ptr->state = SCM_CONNECTED;
-
- /* final data exchange if remote QP state is good to go */
- dapl_dbg_log(DAPL_DBG_TYPE_EP, " PASSIVE: connected!\n");
-
-#ifdef DAT_EXTENSIONS
- if (cm_ptr->dst.qp_type == IBV_QPT_UD) {
- DAT_IB_EXTENSION_EVENT_DATA xevent;
-
- /* post EVENT, modify_qp created ah */
- xevent.status = 0;
- xevent.type = DAT_IB_UD_PASSIVE_REMOTE_AH;
- xevent.remote_ah.ah = cm_ptr->ah;
- xevent.remote_ah.qpn = cm_ptr->dst.qpn;
- dapl_os_memcpy(&xevent.remote_ah.ia_addr,
- &cm_ptr->dst.ia_address,
- sizeof(cm_ptr->dst.ia_address));
-
- dapls_evd_post_connection_event_ext((DAPL_EVD *) cm_ptr->ep->
- param.connect_evd_handle,
- DAT_IB_UD_CONNECTION_EVENT_ESTABLISHED,
- (DAT_EP_HANDLE) cm_ptr->ep,
- (DAT_COUNT) cm_ptr->dst.
- p_size,
- (DAT_PVOID *) cm_ptr->
- p_data,
- (DAT_PVOID *) & xevent);
- } else
-#endif
- dapls_cr_callback(cm_ptr, IB_CME_CONNECTED, NULL, cm_ptr->sp);
- return;
- bail:
- dapls_ib_reinit_ep(cm_ptr->ep); /* reset QP state */
- dapli_cm_destroy(cm_ptr);
- dapls_cr_callback(cm_ptr, IB_CME_DESTINATION_REJECT, NULL, cm_ptr->sp);
-}
-
-/*
- * dapls_ib_connect
- *
- * Initiate a connection with the passive listener on another node
- *
- * Input:
- * ep_handle,
- * remote_ia_address,
- * remote_conn_qual,
- * prd_size size of private data and structure
- * prd_prt pointer to private data structure
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INSUFFICIENT_RESOURCES
- * DAT_INVALID_PARAMETER
- *
- */
-DAT_RETURN
-dapls_ib_connect(IN DAT_EP_HANDLE ep_handle,
- IN DAT_IA_ADDRESS_PTR remote_ia_address,
- IN DAT_CONN_QUAL remote_conn_qual,
- IN DAT_COUNT private_data_size, IN void *private_data)
-{
- DAPL_EP *ep_ptr;
- ib_qp_handle_t qp_ptr;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " connect(ep_handle %p ....)\n", ep_handle);
-
- ep_ptr = (DAPL_EP *) ep_handle;
- qp_ptr = ep_ptr->qp_handle;
-
- return (dapli_socket_connect(ep_ptr, remote_ia_address,
- remote_conn_qual,
- private_data_size, private_data));
-}
-
-/*
- * dapls_ib_disconnect
- *
- * Disconnect an EP
- *
- * Input:
- * ep_handle,
- * disconnect_flags
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- */
-DAT_RETURN
-dapls_ib_disconnect(IN DAPL_EP * ep_ptr, IN DAT_CLOSE_FLAGS close_flags)
-{
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- "dapls_ib_disconnect(ep_handle %p ....)\n", ep_ptr);
-
- /* reinit to modify QP state */
- dapls_ib_reinit_ep(ep_ptr);
-
- if (ep_ptr->cm_handle == NULL ||
- ep_ptr->param.ep_state == DAT_EP_STATE_DISCONNECTED)
- return DAT_SUCCESS;
- else
- return (dapli_socket_disconnect(ep_ptr->cm_handle));
-}
-
-/*
- * dapls_ib_disconnect_clean
- *
- * Clean up outstanding connection data. This routine is invoked
- * after the final disconnect callback has occurred. Only on the
- * ACTIVE side of a connection.
- *
- * Input:
- * ep_ptr DAPL_EP
- * active Indicates active side of connection
- *
- * Output:
- * none
- *
- * Returns:
- * void
- *
- */
-void
-dapls_ib_disconnect_clean(IN DAPL_EP * ep_ptr,
- IN DAT_BOOLEAN active,
- IN const ib_cm_events_t ib_cm_event)
-{
- if (ep_ptr->cm_handle)
- dapli_cm_destroy(ep_ptr->cm_handle);
-
- return;
-}
-
-/*
- * dapl_ib_setup_conn_listener
- *
- * Have the CM set up a connection listener.
- *
- * Input:
- * ibm_hca_handle HCA handle
- * qp_handle QP handle
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INSUFFICIENT_RESOURCES
- * DAT_INTERNAL_ERROR
- * DAT_CONN_QUAL_UNAVAILBLE
- * DAT_CONN_QUAL_IN_USE
- *
- */
-DAT_RETURN
-dapls_ib_setup_conn_listener(IN DAPL_IA * ia_ptr,
- IN DAT_UINT64 ServiceID, IN DAPL_SP * sp_ptr)
-{
- return (dapli_socket_listen(ia_ptr, ServiceID, sp_ptr));
-}
-
-/*
- * dapl_ib_remove_conn_listener
- *
- * Have the CM remove a connection listener.
- *
- * Input:
- * ia_handle IA handle
- * ServiceID IB Channel Service ID
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INVALID_STATE
- *
- */
-DAT_RETURN
-dapls_ib_remove_conn_listener(IN DAPL_IA * ia_ptr, IN DAPL_SP * sp_ptr)
-{
- ib_cm_srvc_handle_t cm_ptr = sp_ptr->cm_srvc_handle;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- "dapls_ib_remove_conn_listener(ia_ptr %p sp_ptr %p cm_ptr %p)\n",
- ia_ptr, sp_ptr, cm_ptr);
-
- /* close accepted socket, free cm_srvc_handle and return */
- if (cm_ptr != NULL) {
- if (cm_ptr->socket != DAPL_INVALID_SOCKET) {
- closesocket(cm_ptr->socket);
- cm_ptr->socket = DAPL_INVALID_SOCKET;
- }
- /* cr_thread will free */
- cm_ptr->state = SCM_DESTROY;
- sp_ptr->cm_srvc_handle = NULL;
- if (send(g_scm[1], "w", sizeof "w", 0) == -1)
- dapl_log(DAPL_DBG_TYPE_CM,
- " cm_destroy: thread wakeup error = %s\n",
- strerror(errno));
- }
- return DAT_SUCCESS;
-}
-
-/*
- * dapls_ib_accept_connection
- *
- * Perform necessary steps to accept a connection
- *
- * Input:
- * cr_handle
- * ep_handle
- * private_data_size
- * private_data
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INSUFFICIENT_RESOURCES
- * DAT_INTERNAL_ERROR
- *
- */
-DAT_RETURN
-dapls_ib_accept_connection(IN DAT_CR_HANDLE cr_handle,
- IN DAT_EP_HANDLE ep_handle,
- IN DAT_COUNT p_size, IN const DAT_PVOID p_data)
-{
- DAPL_CR *cr_ptr;
- DAPL_EP *ep_ptr;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- "dapls_ib_accept_connection(cr %p ep %p prd %p,%d)\n",
- cr_handle, ep_handle, p_data, p_size);
-
- cr_ptr = (DAPL_CR *) cr_handle;
- ep_ptr = (DAPL_EP *) ep_handle;
-
- /* allocate and attach a QP if necessary */
- if (ep_ptr->qp_state == DAPL_QP_STATE_UNATTACHED) {
- DAT_RETURN status;
- status = dapls_ib_qp_alloc(ep_ptr->header.owner_ia,
- ep_ptr, ep_ptr);
- if (status != DAT_SUCCESS)
- return status;
- }
- return (dapli_socket_accept_usr(ep_ptr, cr_ptr, p_size, p_data));
-}
-
-/*
- * dapls_ib_reject_connection
- *
- * Reject a connection
- *
- * Input:
- * cr_handle
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INTERNAL_ERROR
- *
- */
-DAT_RETURN
-dapls_ib_reject_connection(IN dp_ib_cm_handle_t cm_ptr,
- IN int reason,
- IN DAT_COUNT psize, IN const DAT_PVOID pdata)
-{
- struct iovec iov[2];
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " reject(cm %p reason %x, pdata %p, psize %d)\n",
- cm_ptr, reason, pdata, psize);
-
- /* write reject data to indicate reject */
- if (cm_ptr->socket != DAPL_INVALID_SOCKET) {
- cm_ptr->dst.rej = (uint16_t) reason;
- cm_ptr->dst.rej = htons(cm_ptr->dst.rej);
-
- iov[0].iov_base = (void *)&cm_ptr->dst;
- iov[0].iov_len = sizeof(ib_qp_cm_t);
- if (psize) {
- iov[1].iov_base = pdata;
- iov[1].iov_len = psize;
- writev(cm_ptr->socket, iov, 2);
- } else {
- writev(cm_ptr->socket, iov, 1);
- }
-
- closesocket(cm_ptr->socket);
- cm_ptr->socket = DAPL_INVALID_SOCKET;
- }
-
- /* cr_thread will destroy CR */
- cm_ptr->state = SCM_REJECTED;
- if (send(g_scm[1], "w", sizeof "w", 0) == -1)
- dapl_log(DAPL_DBG_TYPE_CM,
- " cm_destroy: thread wakeup error = %s\n",
- strerror(errno));
- return DAT_SUCCESS;
-}
-
-/*
- * dapls_ib_cm_remote_addr
- *
- * Obtain the remote IP address given a connection
- *
- * Input:
- * cr_handle
- *
- * Output:
- * remote_ia_address: where to place the remote address
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INVALID_HANDLE
- *
- */
-DAT_RETURN
-dapls_ib_cm_remote_addr(IN DAT_HANDLE dat_handle,
- OUT DAT_SOCK_ADDR6 * remote_ia_address)
-{
- DAPL_HEADER *header;
- dp_ib_cm_handle_t ib_cm_handle;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- "dapls_ib_cm_remote_addr(dat_handle %p, ....)\n",
- dat_handle);
-
- header = (DAPL_HEADER *) dat_handle;
-
- if (header->magic == DAPL_MAGIC_EP)
- ib_cm_handle = ((DAPL_EP *) dat_handle)->cm_handle;
- else if (header->magic == DAPL_MAGIC_CR)
- ib_cm_handle = ((DAPL_CR *) dat_handle)->ib_cm_handle;
- else
- return DAT_INVALID_HANDLE;
-
- dapl_os_memcpy(remote_ia_address,
- &ib_cm_handle->dst.ia_address, sizeof(DAT_SOCK_ADDR6));
-
- return DAT_SUCCESS;
-}
-
-/*
- * dapls_ib_private_data_size
- *
- * Return the size of private data given a connection op type
- *
- * Input:
- * prd_ptr private data pointer
- * conn_op connection operation type
- *
- * If prd_ptr is NULL, this is a query for the max size supported by
- * the provider, otherwise it is the actual size of the private data
- * contained in prd_ptr.
- *
- *
- * Output:
- * None
- *
- * Returns:
- * length of private data
- *
- */
-int dapls_ib_private_data_size(IN DAPL_PRIVATE * prd_ptr,
- IN DAPL_PDATA_OP conn_op, IN DAPL_HCA * hca_ptr)
-{
- int size;
-
- switch (conn_op) {
- case DAPL_PDATA_CONN_REQ:
- {
- size = IB_MAX_REQ_PDATA_SIZE;
- break;
- }
- case DAPL_PDATA_CONN_REP:
- {
- size = IB_MAX_REP_PDATA_SIZE;
- break;
- }
- case DAPL_PDATA_CONN_REJ:
- {
- size = IB_MAX_REJ_PDATA_SIZE;
- break;
- }
- case DAPL_PDATA_CONN_DREQ:
- {
- size = IB_MAX_DREQ_PDATA_SIZE;
- break;
- }
- case DAPL_PDATA_CONN_DREP:
- {
- size = IB_MAX_DREP_PDATA_SIZE;
- break;
- }
- default:
- {
- size = 0;
- }
-
- } /* end case */
-
- return size;
-}
-
-/*
- * Map all socket CM event codes to the DAT equivelent.
- */
-#define DAPL_IB_EVENT_CNT 11
-
-static struct ib_cm_event_map {
- const ib_cm_events_t ib_cm_event;
- DAT_EVENT_NUMBER dat_event_num;
-} ib_cm_event_map[DAPL_IB_EVENT_CNT] = {
- /* 00 */ {
- IB_CME_CONNECTED, DAT_CONNECTION_EVENT_ESTABLISHED},
- /* 01 */ {
- IB_CME_DISCONNECTED, DAT_CONNECTION_EVENT_DISCONNECTED},
- /* 02 */ {
- IB_CME_DISCONNECTED_ON_LINK_DOWN,
- DAT_CONNECTION_EVENT_DISCONNECTED},
- /* 03 */ {
- IB_CME_CONNECTION_REQUEST_PENDING, DAT_CONNECTION_REQUEST_EVENT},
- /* 04 */ {
- IB_CME_CONNECTION_REQUEST_PENDING_PRIVATE_DATA,
- DAT_CONNECTION_REQUEST_EVENT},
- /* 05 */ {
- IB_CME_DESTINATION_REJECT,
- DAT_CONNECTION_EVENT_NON_PEER_REJECTED},
- /* 06 */ {
- IB_CME_DESTINATION_REJECT_PRIVATE_DATA,
- DAT_CONNECTION_EVENT_PEER_REJECTED},
- /* 07 */ {
- IB_CME_DESTINATION_UNREACHABLE, DAT_CONNECTION_EVENT_UNREACHABLE},
- /* 08 */ {
- IB_CME_TOO_MANY_CONNECTION_REQUESTS,
- DAT_CONNECTION_EVENT_NON_PEER_REJECTED},
- /* 09 */ {
- IB_CME_LOCAL_FAILURE, DAT_CONNECTION_EVENT_BROKEN},
- /* 10 */ {
- IB_CM_LOCAL_FAILURE, DAT_CONNECTION_EVENT_BROKEN}
-};
-
-/*
- * dapls_ib_get_cm_event
- *
- * Return a DAT connection event given a provider CM event.
- *
- * Input:
- * dat_event_num DAT event we need an equivelent CM event for
- *
- * Output:
- * none
- *
- * Returns:
- * ib_cm_event of translated DAPL value
- */
-DAT_EVENT_NUMBER
-dapls_ib_get_dat_event(IN const ib_cm_events_t ib_cm_event,
- IN DAT_BOOLEAN active)
-{
- DAT_EVENT_NUMBER dat_event_num;
- int i;
-
- active = active;
-
- if (ib_cm_event > IB_CM_LOCAL_FAILURE)
- return (DAT_EVENT_NUMBER) 0;
-
- dat_event_num = 0;
- for (i = 0; i < DAPL_IB_EVENT_CNT; i++) {
- if (ib_cm_event == ib_cm_event_map[i].ib_cm_event) {
- dat_event_num = ib_cm_event_map[i].dat_event_num;
- break;
- }
- }
- dapl_dbg_log(DAPL_DBG_TYPE_CALLBACK,
- "dapls_ib_get_dat_event: event translate(%s) ib=0x%x dat=0x%x\n",
- active ? "active" : "passive", ib_cm_event, dat_event_num);
-
- return dat_event_num;
-}
-
-/*
- * dapls_ib_get_dat_event
- *
- * Return a DAT connection event given a provider CM event.
- *
- * Input:
- * ib_cm_event event provided to the dapl callback routine
- * active switch indicating active or passive connection
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_EVENT_NUMBER of translated provider value
- */
-ib_cm_events_t dapls_ib_get_cm_event(IN DAT_EVENT_NUMBER dat_event_num)
-{
- ib_cm_events_t ib_cm_event;
- int i;
-
- ib_cm_event = 0;
- for (i = 0; i < DAPL_IB_EVENT_CNT; i++) {
- if (dat_event_num == ib_cm_event_map[i].dat_event_num) {
- ib_cm_event = ib_cm_event_map[i].ib_cm_event;
- break;
- }
- }
- return ib_cm_event;
-}
-
-/* outbound/inbound CR processing thread to avoid blocking applications */
-void cr_thread(void *arg)
-{
- struct dapl_hca *hca_ptr = arg;
- dp_ib_cm_handle_t cr, next_cr;
- int opt, ret;
- socklen_t opt_len;
- char rbuf[2];
- struct dapl_fd_set *set;
- enum DAPL_FD_EVENTS event;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " cr_thread: ENTER hca %p\n", hca_ptr);
- set = dapl_alloc_fd_set();
- if (!set)
- goto out;
-
- dapl_os_lock(&hca_ptr->ib_trans.lock);
- hca_ptr->ib_trans.cr_state = IB_THREAD_RUN;
-
- while (hca_ptr->ib_trans.cr_state == IB_THREAD_RUN) {
- dapl_fd_zero(set);
- dapl_fd_set(g_scm[0], set, DAPL_FD_READ);
-
- if (!dapl_llist_is_empty(&hca_ptr->ib_trans.list))
- next_cr = dapl_llist_peek_head(&hca_ptr->ib_trans.list);
- else
- next_cr = NULL;
-
- while (next_cr) {
- cr = next_cr;
- next_cr = dapl_llist_next_entry(&hca_ptr->ib_trans.list,
- (DAPL_LLIST_ENTRY *) &
- cr->entry);
- if (cr->state == SCM_DESTROY
- || hca_ptr->ib_trans.cr_state != IB_THREAD_RUN) {
- dapl_llist_remove_entry(&hca_ptr->ib_trans.list,
- (DAPL_LLIST_ENTRY *) &
- cr->entry);
- dapl_os_free(cr, sizeof(*cr));
- continue;
- }
- if (cr->socket == DAPL_INVALID_SOCKET)
- continue;
-
- event = (cr->state == SCM_CONN_PENDING) ?
- DAPL_FD_WRITE : DAPL_FD_READ;
- if (dapl_fd_set(cr->socket, set, event)) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " cr_thread: DESTROY CR st=%d fd %d"
- " -> %s\n", cr->state, cr->socket,
- inet_ntoa(((struct sockaddr_in *)
- &cr->dst.ia_address)->
- sin_addr));
- dapli_cm_destroy(cr);
- continue;
- }
-
- dapl_dbg_log(DAPL_DBG_TYPE_CM,
- " poll cr=%p, socket=%d\n", cr,
- cr->socket);
- dapl_os_unlock(&hca_ptr->ib_trans.lock);
-
- ret = dapl_poll(cr->socket, event);
-
- dapl_dbg_log(DAPL_DBG_TYPE_CM,
- " poll ret=0x%x cr->state=%d socket=%d\n",
- ret, cr->state, cr->socket);
-
- /* data on listen, qp exchange, and on disconnect request */
- if (ret == DAPL_FD_READ) {
- if (cr->socket != DAPL_INVALID_SOCKET) {
- switch (cr->state) {
- case SCM_LISTEN:
- dapli_socket_accept(cr);
- break;
- case SCM_ACCEPTING:
- dapli_socket_accept_data(cr);
- break;
- case SCM_ACCEPTED:
- dapli_socket_accept_rtu(cr);
- break;
- case SCM_RTU_PENDING:
- dapli_socket_connect_rtu(cr);
- break;
- case SCM_CONNECTED:
- dapli_socket_disconnect(cr);
- break;
- default:
- break;
- }
- }
- /* connect socket is writable, check status */
- } else if (ret == DAPL_FD_WRITE || ret == DAPL_FD_ERROR) {
- if (cr->state == SCM_CONN_PENDING) {
- opt = 0;
- opt_len = sizeof(opt);
- ret = getsockopt(cr->socket, SOL_SOCKET,
- SO_ERROR, (char *)&opt,
- &opt_len);
- if (!ret)
- dapli_socket_connected(cr, opt);
- else
- dapli_socket_connected(cr,
- errno);
- } else {
- dapl_log(DAPL_DBG_TYPE_CM,
- " CM poll ERR, wrong state(%d) -> %s SKIP\n",
- cr->state,
- inet_ntoa(((struct sockaddr_in
- *)&cr->dst.
- ia_address)->
- sin_addr));
- }
- } else if (ret != 0) {
- dapl_log(DAPL_DBG_TYPE_CM,
- " CM poll warning %s, ret=%d st=%d -> %s\n",
- strerror(errno), ret, cr->state,
- inet_ntoa(((struct sockaddr_in *)
- &cr->dst.ia_address)->
- sin_addr));
-
- /* POLLUP, NVAL, or poll error, issue event if connected */
- if (cr->state == SCM_CONNECTED)
- dapli_socket_disconnect(cr);
- }
-
- dapl_os_lock(&hca_ptr->ib_trans.lock);
- }
-
- dapl_os_unlock(&hca_ptr->ib_trans.lock);
- dapl_select(set);
-
- /* if pipe used to wakeup, consume */
- while (dapl_poll(g_scm[0], DAPL_FD_READ) == DAPL_FD_READ) {
- if (recv(g_scm[0], rbuf, 2, 0) == -1)
- dapl_log(DAPL_DBG_TYPE_CM,
- " cr_thread: read pipe error = %s\n",
- strerror(errno));
- }
- dapl_os_lock(&hca_ptr->ib_trans.lock);
- }
-
- dapl_os_unlock(&hca_ptr->ib_trans.lock);
- free(set);
- out:
- hca_ptr->ib_trans.cr_state = IB_THREAD_EXIT;
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " cr_thread(hca %p) exit\n", hca_ptr);
-}
diff --git a/dapl/openib_scm/dapl_ib_cq.c b/dapl/openib_scm/dapl_ib_cq.c
deleted file mode 100644
index 2af1889..0000000
--- a/dapl/openib_scm/dapl_ib_cq.c
+++ /dev/null
@@ -1,705 +0,0 @@
-/*
- * This Software is licensed under one of the following licenses:
- *
- * 1) under the terms of the "Common Public License 1.0" a copy of which is
- * available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/cpl.php.
- *
- * 2) under the terms of the "The BSD License" a copy of which is
- * available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/bsd-license.php.
- *
- * 3) under the terms of the "GNU General Public License (GPL) Version 2" a
- * copy of which is available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/gpl-license.php.
- *
- * Licensee has the right to choose one of the above licenses.
- *
- * Redistributions of source code must retain the above copyright
- * notice and one of the license notices.
- *
- * Redistributions in binary form must reproduce both the above copyright
- * notice, one of the license notices in the documentation
- * and/or other materials provided with the distribution.
- */
-
-/***************************************************************************
- *
- * Module: uDAPL
- *
- * Filename: dapl_ib_cq.c
- *
- * Author: Arlin Davis
- *
- * Created: 3/10/2005
- *
- * Description:
- *
- * The uDAPL openib provider - completion queue
- *
- ****************************************************************************
- * Source Control System Information
- *
- * $Id: $
- *
- * Copyright (c) 2005 Intel Corporation. All rights reserved.
- *
- **************************************************************************/
-
-#include "openib_osd.h"
-#include "dapl.h"
-#include "dapl_adapter_util.h"
-#include "dapl_lmr_util.h"
-#include "dapl_evd_util.h"
-#include "dapl_ring_buffer_util.h"
-
-#if defined(_WIN64) || defined(_WIN32)
-#include "..\..\..\..\..\etc\user\comp_channel.cpp"
-#include "..\..\..\..\..\etc\user\dlist.c"
-
-void dapli_cq_thread_destroy(struct dapl_hca *hca_ptr)
-{
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " cq_thread_destroy(%p)\n", hca_ptr);
-
- if (hca_ptr->ib_trans.cq_state != IB_THREAD_RUN)
- return;
-
- /* destroy cr_thread and lock */
- hca_ptr->ib_trans.cq_state = IB_THREAD_CANCEL;
- CompChannelCancel(&hca_ptr->ib_trans.ib_cq->comp_channel);
- dapl_dbg_log(DAPL_DBG_TYPE_CM, " cq_thread_destroy(%p) cancel\n",
- hca_ptr);
- while (hca_ptr->ib_trans.cq_state != IB_THREAD_EXIT) {
- dapl_os_sleep_usec(20000);
- }
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " cq_thread_destroy(%d) exit\n",
- dapl_os_getpid());
-}
-
-static void cq_thread(void *arg)
-{
- struct dapl_hca *hca_ptr = arg;
- struct dapl_evd *evd_ptr;
- struct ibv_cq *ibv_cq = NULL;
-
- hca_ptr->ib_trans.cq_state = IB_THREAD_RUN;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " cq_thread: ENTER hca %p\n", hca_ptr);
-
- /* wait on DTO event, or signal to abort */
- while (hca_ptr->ib_trans.cq_state == IB_THREAD_RUN) {
- if (!ibv_get_cq_event
- (hca_ptr->ib_trans.ib_cq, &ibv_cq, (void *)&evd_ptr)) {
-
- if (DAPL_BAD_HANDLE(evd_ptr, DAPL_MAGIC_EVD)) {
- ibv_ack_cq_events(ibv_cq, 1);
- return;
- }
-
- /* process DTO event via callback */
- dapl_evd_dto_callback(hca_ptr->ib_hca_handle,
- evd_ptr->ib_cq_handle,
- (void *)evd_ptr);
-
- ibv_ack_cq_events(ibv_cq, 1);
- }
- }
- hca_ptr->ib_trans.cq_state = IB_THREAD_EXIT;
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " cq_thread: EXIT: hca %p \n",
- hca_ptr);
-}
-
-#else // _WIN32 || _WIN64
-
-void dapli_cq_thread_destroy(struct dapl_hca *hca_ptr)
-{
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " cq_thread_destroy(%p)\n", hca_ptr);
-
- if (hca_ptr->ib_trans.cq_state != IB_THREAD_RUN)
- return;
-
- /* destroy cr_thread and lock */
- hca_ptr->ib_trans.cq_state = IB_THREAD_CANCEL;
- pthread_kill(hca_ptr->ib_trans.cq_thread, SIGUSR1);
- dapl_dbg_log(DAPL_DBG_TYPE_CM, " cq_thread_destroy(%p) cancel\n",
- hca_ptr);
- while (hca_ptr->ib_trans.cq_state != IB_THREAD_EXIT) {
- dapl_os_sleep_usec(20000);
- }
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " cq_thread_destroy(%d) exit\n",
- dapl_os_getpid());
-}
-
-/* catch the signal */
-static void ib_cq_handler(int signum)
-{
- return;
-}
-
-static void cq_thread(void *arg)
-{
- struct dapl_hca *hca_ptr = arg;
- struct dapl_evd *evd_ptr;
- struct ibv_cq *ibv_cq = NULL;
- sigset_t sigset;
-
- sigemptyset(&sigset);
- sigaddset(&sigset, SIGUSR1);
- pthread_sigmask(SIG_UNBLOCK, &sigset, NULL);
- signal(SIGUSR1, ib_cq_handler);
-
- hca_ptr->ib_trans.cq_state = IB_THREAD_RUN;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " cq_thread: ENTER hca %p\n", hca_ptr);
-
- /* wait on DTO event, or signal to abort */
- while (hca_ptr->ib_trans.cq_state == IB_THREAD_RUN) {
- struct pollfd cq_fd = {
- .fd = hca_ptr->ib_trans.ib_cq->fd,
- .events = POLLIN,
- .revents = 0
- };
- if ((poll(&cq_fd, 1, -1) == 1) &&
- (!ibv_get_cq_event
- (hca_ptr->ib_trans.ib_cq, &ibv_cq, (void *)&evd_ptr))) {
-
- if (DAPL_BAD_HANDLE(evd_ptr, DAPL_MAGIC_EVD)) {
- ibv_ack_cq_events(ibv_cq, 1);
- return;
- }
-
- /* process DTO event via callback */
- dapl_evd_dto_callback(hca_ptr->ib_hca_handle,
- evd_ptr->ib_cq_handle,
- (void *)evd_ptr);
-
- ibv_ack_cq_events(ibv_cq, 1);
- }
- }
- hca_ptr->ib_trans.cq_state = IB_THREAD_EXIT;
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " cq_thread: EXIT: hca %p \n",
- hca_ptr);
-}
-
-#endif // _WIN32 || _WIN64
-
-int dapli_cq_thread_init(struct dapl_hca *hca_ptr)
-{
- DAT_RETURN dat_status;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " cq_thread_init(%p)\n", hca_ptr);
-
- /* create thread to process inbound connect request */
- hca_ptr->ib_trans.cq_state = IB_THREAD_INIT;
- dat_status =
- dapl_os_thread_create(cq_thread, (void *)hca_ptr,
- &hca_ptr->ib_trans.cq_thread);
- if (dat_status != DAT_SUCCESS) {
- dapl_dbg_log(DAPL_DBG_TYPE_ERR,
- " cq_thread_init: failed to create thread\n");
- return 1;
- }
-
- /* wait for thread to start */
- while (hca_ptr->ib_trans.cq_state != IB_THREAD_RUN) {
- dapl_os_sleep_usec(20000);
- }
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " cq_thread_init(%d) exit\n",
- dapl_os_getpid());
- return 0;
-}
-
-/*
- * Map all verbs DTO completion codes to the DAT equivelent.
- *
- * Not returned by verbs: DAT_DTO_ERR_PARTIAL_PACKET
- */
-static struct ib_status_map {
- int ib_status;
- DAT_DTO_COMPLETION_STATUS dat_status;
-} ib_status_map[] = {
- /* 00 */ {
- IBV_WC_SUCCESS, DAT_DTO_SUCCESS},
- /* 01 */ {
- IBV_WC_LOC_LEN_ERR, DAT_DTO_ERR_LOCAL_LENGTH},
- /* 02 */ {
- IBV_WC_LOC_QP_OP_ERR, DAT_DTO_ERR_LOCAL_EP},
- /* 03 */ {
- IBV_WC_LOC_EEC_OP_ERR, DAT_DTO_ERR_TRANSPORT},
- /* 04 */ {
- IBV_WC_LOC_PROT_ERR, DAT_DTO_ERR_LOCAL_PROTECTION},
- /* 05 */ {
- IBV_WC_WR_FLUSH_ERR, DAT_DTO_ERR_FLUSHED},
- /* 06 */ {
- IBV_WC_MW_BIND_ERR, DAT_RMR_OPERATION_FAILED},
- /* 07 */ {
- IBV_WC_BAD_RESP_ERR, DAT_DTO_ERR_BAD_RESPONSE},
- /* 08 */ {
- IBV_WC_LOC_ACCESS_ERR, DAT_DTO_ERR_LOCAL_PROTECTION},
- /* 09 */ {
- IBV_WC_REM_INV_REQ_ERR, DAT_DTO_ERR_REMOTE_RESPONDER},
- /* 10 */ {
- IBV_WC_REM_ACCESS_ERR, DAT_DTO_ERR_REMOTE_ACCESS},
- /* 11 */ {
- IBV_WC_REM_OP_ERR, DAT_DTO_ERR_REMOTE_RESPONDER},
- /* 12 */ {
- IBV_WC_RETRY_EXC_ERR, DAT_DTO_ERR_TRANSPORT},
- /* 13 */ {
- IBV_WC_RNR_RETRY_EXC_ERR, DAT_DTO_ERR_RECEIVER_NOT_READY},
- /* 14 */ {
- IBV_WC_LOC_RDD_VIOL_ERR, DAT_DTO_ERR_LOCAL_PROTECTION},
- /* 15 */ {
- IBV_WC_REM_INV_RD_REQ_ERR, DAT_DTO_ERR_REMOTE_RESPONDER},
- /* 16 */ {
- IBV_WC_REM_ABORT_ERR, DAT_DTO_ERR_REMOTE_RESPONDER},
- /* 17 */ {
- IBV_WC_INV_EECN_ERR, DAT_DTO_ERR_TRANSPORT},
- /* 18 */ {
- IBV_WC_INV_EEC_STATE_ERR, DAT_DTO_ERR_TRANSPORT},
- /* 19 */ {
- IBV_WC_FATAL_ERR, DAT_DTO_ERR_TRANSPORT},
- /* 20 */ {
- IBV_WC_RESP_TIMEOUT_ERR, DAT_DTO_ERR_RECEIVER_NOT_READY},
- /* 21 */ {
-IBV_WC_GENERAL_ERR, DAT_DTO_ERR_TRANSPORT},};
-
-/*
- * dapls_ib_get_dto_status
- *
- * Return the DAT status of a DTO operation
- *
- * Input:
- * cqe_ptr pointer to completion queue entry
- *
- * Output:
- * none
- *
- * Returns:
- * Value from ib_status_map table above
- */
-
-DAT_DTO_COMPLETION_STATUS
-dapls_ib_get_dto_status(IN ib_work_completion_t * cqe_ptr)
-{
- uint32_t ib_status;
- int i;
-
- ib_status = DAPL_GET_CQE_STATUS(cqe_ptr);
-
- /*
- * Due to the implementation of verbs completion code, we need to
- * search the table for the correct value rather than assuming
- * linear distribution.
- */
- for (i = 0; i <= IBV_WC_GENERAL_ERR; i++) {
- if (ib_status == ib_status_map[i].ib_status) {
- if (ib_status != IBV_WC_SUCCESS) {
- dapl_dbg_log(DAPL_DBG_TYPE_DTO_COMP_ERR,
- " DTO completion ERROR: %d: op %#x\n",
- ib_status,
- DAPL_GET_CQE_OPTYPE(cqe_ptr));
- }
- return ib_status_map[i].dat_status;
- }
- }
-
- dapl_dbg_log(DAPL_DBG_TYPE_DTO_COMP_ERR,
- " DTO completion ERROR: %d: op %#x\n",
- ib_status, DAPL_GET_CQE_OPTYPE(cqe_ptr));
-
- return DAT_DTO_FAILURE;
-}
-
-DAT_RETURN dapls_ib_get_async_event(IN ib_error_record_t * err_record,
- OUT DAT_EVENT_NUMBER * async_event)
-{
- DAT_RETURN dat_status = DAT_SUCCESS;
- int err_code = err_record->event_type;
-
- switch (err_code) {
- /* OVERFLOW error */
- case IBV_EVENT_CQ_ERR:
- *async_event = DAT_ASYNC_ERROR_EVD_OVERFLOW;
- break;
- /* INTERNAL errors */
- case IBV_EVENT_DEVICE_FATAL:
- *async_event = DAT_ASYNC_ERROR_PROVIDER_INTERNAL_ERROR;
- break;
- /* CATASTROPHIC errors */
- case IBV_EVENT_PORT_ERR:
- *async_event = DAT_ASYNC_ERROR_IA_CATASTROPHIC;
- break;
- /* BROKEN QP error */
- case IBV_EVENT_SQ_DRAINED:
- case IBV_EVENT_QP_FATAL:
- case IBV_EVENT_QP_REQ_ERR:
- case IBV_EVENT_QP_ACCESS_ERR:
- *async_event = DAT_ASYNC_ERROR_EP_BROKEN;
- break;
-
- /* connection completion */
- case IBV_EVENT_COMM_EST:
- *async_event = DAT_CONNECTION_EVENT_ESTABLISHED;
- break;
-
- /* TODO: process HW state changes */
- case IBV_EVENT_PATH_MIG:
- case IBV_EVENT_PATH_MIG_ERR:
- case IBV_EVENT_PORT_ACTIVE:
- case IBV_EVENT_LID_CHANGE:
- case IBV_EVENT_PKEY_CHANGE:
- case IBV_EVENT_SM_CHANGE:
- default:
- dat_status = DAT_ERROR(DAT_NOT_IMPLEMENTED, 0);
- }
- return dat_status;
-}
-
-/*
- * dapl_ib_cq_alloc
- *
- * Alloc a CQ
- *
- * Input:
- * ia_handle IA handle
- * evd_ptr pointer to EVD struct
- * cqlen minimum QLen
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INSUFFICIENT_RESOURCES
- *
- */
-DAT_RETURN
-dapls_ib_cq_alloc(IN DAPL_IA * ia_ptr,
- IN DAPL_EVD * evd_ptr, IN DAT_COUNT * cqlen)
-{
- struct ibv_comp_channel *channel = ia_ptr->hca_ptr->ib_trans.ib_cq;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- "dapls_ib_cq_alloc: evd %p cqlen=%d \n", evd_ptr, *cqlen);
-
-#ifdef CQ_WAIT_OBJECT
- if (evd_ptr->cq_wait_obj_handle)
- channel = evd_ptr->cq_wait_obj_handle;
-#endif
-
- /* Call IB verbs to create CQ */
- evd_ptr->ib_cq_handle = ibv_create_cq(ia_ptr->hca_ptr->ib_hca_handle,
- *cqlen, evd_ptr, channel, 0);
-
- if (evd_ptr->ib_cq_handle == IB_INVALID_HANDLE)
- return DAT_INSUFFICIENT_RESOURCES;
-
- /* arm cq for events */
- dapls_set_cq_notify(ia_ptr, evd_ptr);
-
- /* update with returned cq entry size */
- *cqlen = evd_ptr->ib_cq_handle->cqe;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- "dapls_ib_cq_alloc: new_cq %p cqlen=%d \n",
- evd_ptr->ib_cq_handle, *cqlen);
-
- return DAT_SUCCESS;
-}
-
-/*
- * dapl_ib_cq_resize
- *
- * Alloc a CQ
- *
- * Input:
- * ia_handle IA handle
- * evd_ptr pointer to EVD struct
- * cqlen minimum QLen
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INVALID_PARAMETER
- *
- */
-DAT_RETURN
-dapls_ib_cq_resize(IN DAPL_IA * ia_ptr,
- IN DAPL_EVD * evd_ptr, IN DAT_COUNT * cqlen)
-{
- ib_cq_handle_t new_cq;
- struct ibv_comp_channel *channel = ia_ptr->hca_ptr->ib_trans.ib_cq;
-
- /* IB verbs doe not support resize. Try to re-create CQ
- * with new size. Can only be done if QP is not attached.
- * destroy EBUSY == QP still attached.
- */
-
-#ifdef CQ_WAIT_OBJECT
- if (evd_ptr->cq_wait_obj_handle)
- channel = evd_ptr->cq_wait_obj_handle;
-#endif
-
- /* Call IB verbs to create CQ */
- new_cq = ibv_create_cq(ia_ptr->hca_ptr->ib_hca_handle, *cqlen,
- evd_ptr, channel, 0);
-
- if (new_cq == IB_INVALID_HANDLE)
- return DAT_INSUFFICIENT_RESOURCES;
-
- /* destroy the original and replace if successful */
- if (ibv_destroy_cq(evd_ptr->ib_cq_handle)) {
- ibv_destroy_cq(new_cq);
- return (dapl_convert_errno(errno, "resize_cq"));
- }
-
- /* update EVD with new cq handle and size */
- evd_ptr->ib_cq_handle = new_cq;
- *cqlen = new_cq->cqe;
-
- /* arm cq for events */
- dapls_set_cq_notify(ia_ptr, evd_ptr);
-
- return DAT_SUCCESS;
-}
-
-/*
- * dapls_ib_cq_free
- *
- * destroy a CQ
- *
- * Input:
- * ia_handle IA handle
- * evd_ptr pointer to EVD struct
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INVALID_PARAMETER
- *
- */
-DAT_RETURN dapls_ib_cq_free(IN DAPL_IA * ia_ptr, IN DAPL_EVD * evd_ptr)
-{
- DAT_EVENT event;
- ib_work_completion_t wc;
-
- if (evd_ptr->ib_cq_handle != IB_INVALID_HANDLE) {
- /* pull off CQ and EVD entries and toss */
- while (ibv_poll_cq(evd_ptr->ib_cq_handle, 1, &wc) == 1) ;
- while (dapl_evd_dequeue(evd_ptr, &event) == DAT_SUCCESS) ;
- if (ibv_destroy_cq(evd_ptr->ib_cq_handle))
- return (dapl_convert_errno(errno, "ibv_destroy_cq"));
- evd_ptr->ib_cq_handle = IB_INVALID_HANDLE;
- }
- return DAT_SUCCESS;
-}
-
-/*
- * dapls_set_cq_notify
- *
- * Set the CQ notification for next
- *
- * Input:
- * hca_handl hca handle
- * DAPL_EVD evd handle
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * dapl_convert_errno
- */
-DAT_RETURN dapls_set_cq_notify(IN DAPL_IA * ia_ptr, IN DAPL_EVD * evd_ptr)
-{
- if (ibv_req_notify_cq(evd_ptr->ib_cq_handle, 0))
- return (dapl_convert_errno(errno, "notify_cq"));
- else
- return DAT_SUCCESS;
-}
-
-/*
- * dapls_ib_completion_notify
- *
- * Set the CQ notification type
- *
- * Input:
- * hca_handl hca handle
- * evd_ptr evd handle
- * type notification type
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * dapl_convert_errno
- */
-DAT_RETURN dapls_ib_completion_notify(IN ib_hca_handle_t hca_handle,
- IN DAPL_EVD * evd_ptr,
- IN ib_notification_type_t type)
-{
- if (ibv_req_notify_cq(evd_ptr->ib_cq_handle, type))
- return (dapl_convert_errno(errno, "notify_cq_type"));
- else
- return DAT_SUCCESS;
-}
-
-/*
- * dapls_ib_completion_poll
- *
- * CQ poll for completions
- *
- * Input:
- * hca_handl hca handle
- * evd_ptr evd handle
- * wc_ptr work completion
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_QUEUE_EMPTY
- *
- */
-DAT_RETURN dapls_ib_completion_poll(IN DAPL_HCA * hca_ptr,
- IN DAPL_EVD * evd_ptr,
- IN ib_work_completion_t * wc_ptr)
-{
- int ret;
-
- ret = ibv_poll_cq(evd_ptr->ib_cq_handle, 1, wc_ptr);
- if (ret == 1)
- return DAT_SUCCESS;
-
- return DAT_QUEUE_EMPTY;
-}
-
-#ifdef CQ_WAIT_OBJECT
-
-/* NEW common wait objects for providers with direct CQ wait objects */
-DAT_RETURN
-dapls_ib_wait_object_create(IN DAPL_EVD * evd_ptr,
- IN ib_wait_obj_handle_t * p_cq_wait_obj_handle)
-{
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " cq_object_create: (%p,%p)\n",
- evd_ptr, p_cq_wait_obj_handle);
-
- /* set cq_wait object to evd_ptr */
- *p_cq_wait_obj_handle =
- ibv_create_comp_channel(evd_ptr->header.owner_ia->hca_ptr->
- ib_hca_handle);
-
- return DAT_SUCCESS;
-}
-
-DAT_RETURN
-dapls_ib_wait_object_destroy(IN ib_wait_obj_handle_t p_cq_wait_obj_handle)
-{
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " cq_object_destroy: wait_obj=%p\n", p_cq_wait_obj_handle);
-
- ibv_destroy_comp_channel(p_cq_wait_obj_handle);
-
- return DAT_SUCCESS;
-}
-
-DAT_RETURN
-dapls_ib_wait_object_wakeup(IN ib_wait_obj_handle_t p_cq_wait_obj_handle)
-{
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " cq_object_wakeup: wait_obj=%p\n", p_cq_wait_obj_handle);
-
- /* no wake up mechanism */
- return DAT_SUCCESS;
-}
-
-#if defined(_WIN32) || defined(_WIN64)
-DAT_RETURN
-dapls_ib_wait_object_wait(IN ib_wait_obj_handle_t p_cq_wait_obj_handle,
- IN uint32_t timeout)
-{
- struct dapl_evd *evd_ptr;
- struct ibv_cq *ibv_cq = NULL;
- int status = 0;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " cq_object_wait: CQ channel %p time %d\n",
- p_cq_wait_obj_handle, timeout);
-
- /* uDAPL timeout values in usecs */
- p_cq_wait_obj_handle->comp_channel.Milliseconds = timeout / 1000;
-
- /* returned event */
- status = ibv_get_cq_event(p_cq_wait_obj_handle, &ibv_cq,
- (void *)&evd_ptr);
- if (status == 0) {
- ibv_ack_cq_events(ibv_cq, 1);
- }
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " cq_object_wait: RET evd %p ibv_cq %p %s\n",
- evd_ptr, ibv_cq, strerror(errno));
-
- return (dapl_convert_errno(status, "cq_wait_object_wait"));
-}
-#else //_WIN32 || _WIN64
-DAT_RETURN
-dapls_ib_wait_object_wait(IN ib_wait_obj_handle_t p_cq_wait_obj_handle,
- IN uint32_t timeout)
-{
- struct dapl_evd *evd_ptr;
- struct ibv_cq *ibv_cq = NULL;
- int status = 0;
- int timeout_ms = -1;
- struct pollfd cq_fd = {
- .fd = p_cq_wait_obj_handle->fd,
- .events = POLLIN,
- .revents = 0
- };
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " cq_object_wait: CQ channel %p time %d\n",
- p_cq_wait_obj_handle, timeout);
-
- /* uDAPL timeout values in usecs */
- if (timeout != DAT_TIMEOUT_INFINITE)
- timeout_ms = timeout / 1000;
-
- status = poll(&cq_fd, 1, timeout_ms);
-
- /* returned event */
- if (status > 0) {
- if (!ibv_get_cq_event(p_cq_wait_obj_handle,
- &ibv_cq, (void *)&evd_ptr)) {
- ibv_ack_cq_events(ibv_cq, 1);
- }
- status = 0;
-
- /* timeout */
- } else if (status == 0)
- status = ETIMEDOUT;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " cq_object_wait: RET evd %p ibv_cq %p %s\n",
- evd_ptr, ibv_cq, strerror(errno));
-
- return (dapl_convert_errno(status, "cq_wait_object_wait"));
-
-}
-#endif //_WIN32 || _WIN64
-#endif // CQ_WAIT_OBJECT
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * tab-width: 8
- * End:
- */
diff --git a/dapl/openib_scm/dapl_ib_mem.c b/dapl/openib_scm/dapl_ib_mem.c
deleted file mode 100644
index e45a2b3..0000000
--- a/dapl/openib_scm/dapl_ib_mem.c
+++ /dev/null
@@ -1,382 +0,0 @@
- /*
- * Copyright (c) 2005-2007 Intel Corporation. All rights reserved.
- *
- * This Software is licensed under one of the following licenses:
- *
- * 1) under the terms of the "Common Public License 1.0" a copy of which is
- * available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/cpl.php.
- *
- * 2) under the terms of the "The BSD License" a copy of which is
- * available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/bsd-license.php.
- *
- * 3) under the terms of the "GNU General Public License (GPL) Version 2" a
- * copy of which is available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/gpl-license.php.
- *
- * Licensee has the right to choose one of the above licenses.
- *
- * Redistributions of source code must retain the above copyright
- * notice and one of the license notices.
- *
- * Redistributions in binary form must reproduce both the above copyright
- * notice, one of the license notices in the documentation
- * and/or other materials provided with the distribution.
- */
-
-/**********************************************************************
- *
- * MODULE: dapl_ib_mem.c
- *
- * PURPOSE: Memory windows, registration, and protection domain
- *
- * $Id:$
- *
- **********************************************************************/
-
-#include "dapl.h"
-#include "dapl_adapter_util.h"
-#include "dapl_lmr_util.h"
-
-/*
- * dapls_convert_privileges
- *
- * Convert LMR privileges to provider
- *
- * Input:
- * DAT_MEM_PRIV_FLAGS
- *
- * Output:
- * none
- *
- * Returns:
- * ibv_access_flags
- *
- */
-STATIC _INLINE_ int dapls_convert_privileges(IN DAT_MEM_PRIV_FLAGS privileges)
-{
- int access = 0;
-
- /*
- * if (DAT_MEM_PRIV_LOCAL_READ_FLAG & privileges) do nothing
- */
- if (DAT_MEM_PRIV_LOCAL_WRITE_FLAG & privileges)
- access |= IBV_ACCESS_LOCAL_WRITE;
- if (DAT_MEM_PRIV_REMOTE_WRITE_FLAG & privileges)
- access |= IBV_ACCESS_REMOTE_WRITE;
- if (DAT_MEM_PRIV_REMOTE_READ_FLAG & privileges)
- access |= IBV_ACCESS_REMOTE_READ;
- if (DAT_MEM_PRIV_REMOTE_READ_FLAG & privileges)
- access |= IBV_ACCESS_REMOTE_READ;
- if (DAT_MEM_PRIV_REMOTE_READ_FLAG & privileges)
- access |= IBV_ACCESS_REMOTE_READ;
-#ifdef DAT_EXTENSIONS
- if (DAT_IB_MEM_PRIV_REMOTE_ATOMIC & privileges)
- access |= IBV_ACCESS_REMOTE_ATOMIC;
-#endif
-
- return access;
-}
-
-/*
- * dapl_ib_pd_alloc
- *
- * Alloc a PD
- *
- * Input:
- * ia_handle IA handle
- * pz pointer to PZ struct
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INSUFFICIENT_RESOURCES
- *
- */
-DAT_RETURN dapls_ib_pd_alloc(IN DAPL_IA * ia_ptr, IN DAPL_PZ * pz)
-{
- /* get a protection domain */
- pz->pd_handle = ibv_alloc_pd(ia_ptr->hca_ptr->ib_hca_handle);
- if (!pz->pd_handle)
- return (dapl_convert_errno(ENOMEM, "alloc_pd"));
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " pd_alloc: pd_handle=%p\n", pz->pd_handle);
-
- return DAT_SUCCESS;
-}
-
-/*
- * dapl_ib_pd_free
- *
- * Free a PD
- *
- * Input:
- * ia_handle IA handle
- * PZ_ptr pointer to PZ struct
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INVALID_STATE
- *
- */
-DAT_RETURN dapls_ib_pd_free(IN DAPL_PZ * pz)
-{
- if (pz->pd_handle != IB_INVALID_HANDLE) {
- if (ibv_dealloc_pd(pz->pd_handle))
- return (dapl_convert_errno(errno, "ibv_dealloc_pd"));
- pz->pd_handle = IB_INVALID_HANDLE;
- }
- return DAT_SUCCESS;
-}
-
-/*
- * dapl_ib_mr_register
- *
- * Register a virtual memory region
- *
- * Input:
- * ia_handle IA handle
- * lmr pointer to dapl_lmr struct
- * virt_addr virtual address of beginning of mem region
- * length length of memory region
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INSUFFICIENT_RESOURCES
- *
- */
-DAT_RETURN
-dapls_ib_mr_register(IN DAPL_IA * ia_ptr,
- IN DAPL_LMR * lmr,
- IN DAT_PVOID virt_addr,
- IN DAT_VLEN length,
- IN DAT_MEM_PRIV_FLAGS privileges, IN DAT_VA_TYPE va_type)
-{
- ib_pd_handle_t ib_pd_handle;
- struct ibv_device *ibv_dev = ia_ptr->hca_ptr->ib_hca_handle->device;
-
- ib_pd_handle = ((DAPL_PZ *) lmr->param.pz_handle)->pd_handle;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " mr_register: ia=%p, lmr=%p va=%p ln=%d pv=0x%x\n",
- ia_ptr, lmr, virt_addr, length, privileges);
-
- /* TODO: shared memory */
- if (lmr->param.mem_type == DAT_MEM_TYPE_SHARED_VIRTUAL) {
- dapl_dbg_log(DAPL_DBG_TYPE_ERR,
- " mr_register_shared: NOT IMPLEMENTED\n");
- return DAT_ERROR(DAT_NOT_IMPLEMENTED, DAT_NO_SUBTYPE);
- }
-
- /* iWARP only support */
- if ((va_type == DAT_VA_TYPE_ZB) &&
- (ibv_dev->transport_type != IBV_TRANSPORT_IWARP)) {
- dapl_dbg_log(DAPL_DBG_TYPE_ERR,
- " va_type == DAT_VA_TYPE_ZB: NOT SUPPORTED\n");
- return DAT_ERROR(DAT_NOT_IMPLEMENTED, DAT_NO_SUBTYPE);
- }
-
- /* local read is default on IB */
- lmr->mr_handle =
- ibv_reg_mr(((DAPL_PZ *) lmr->param.pz_handle)->pd_handle,
- virt_addr, length, dapls_convert_privileges(privileges));
-
- if (!lmr->mr_handle)
- return (dapl_convert_errno(ENOMEM, "reg_mr"));
-
- lmr->param.lmr_context = lmr->mr_handle->lkey;
- lmr->param.rmr_context = lmr->mr_handle->rkey;
- lmr->param.registered_size = length;
- lmr->param.registered_address = (DAT_VADDR) (uintptr_t) virt_addr;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " mr_register: mr=%p addr=%p pd %p ctx %p "
- "lkey=0x%x rkey=0x%x priv=%x\n",
- lmr->mr_handle, lmr->mr_handle->addr,
- lmr->mr_handle->pd, lmr->mr_handle->context,
- lmr->mr_handle->lkey, lmr->mr_handle->rkey,
- length, dapls_convert_privileges(privileges));
-
- return DAT_SUCCESS;
-}
-
-/*
- * dapl_ib_mr_deregister
- *
- * Free a memory region
- *
- * Input:
- * lmr pointer to dapl_lmr struct
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INVALID_STATE
- *
- */
-DAT_RETURN dapls_ib_mr_deregister(IN DAPL_LMR * lmr)
-{
- if (lmr->mr_handle != IB_INVALID_HANDLE) {
- if (ibv_dereg_mr(lmr->mr_handle))
- return (dapl_convert_errno(errno, "dereg_pd"));
- lmr->mr_handle = IB_INVALID_HANDLE;
- }
- return DAT_SUCCESS;
-}
-
-/*
- * dapl_ib_mr_register_shared
- *
- * Register a virtual memory region
- *
- * Input:
- * ia_ptr IA handle
- * lmr pointer to dapl_lmr struct
- * privileges
- * va_type
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INSUFFICIENT_RESOURCES
- *
- */
-DAT_RETURN
-dapls_ib_mr_register_shared(IN DAPL_IA * ia_ptr,
- IN DAPL_LMR * lmr,
- IN DAT_MEM_PRIV_FLAGS privileges,
- IN DAT_VA_TYPE va_type)
-{
- dapl_dbg_log(DAPL_DBG_TYPE_ERR,
- " mr_register_shared: NOT IMPLEMENTED\n");
-
- return DAT_ERROR(DAT_NOT_IMPLEMENTED, DAT_NO_SUBTYPE);
-}
-
-/*
- * dapls_ib_mw_alloc
- *
- * Bind a protection domain to a memory window
- *
- * Input:
- * rmr Initialized rmr to hold binding handles
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INSUFFICIENT_RESOURCES
- *
- */
-DAT_RETURN dapls_ib_mw_alloc(IN DAPL_RMR * rmr)
-{
-
- dapl_dbg_log(DAPL_DBG_TYPE_ERR, " mw_alloc: NOT IMPLEMENTED\n");
-
- return DAT_ERROR(DAT_NOT_IMPLEMENTED, DAT_NO_SUBTYPE);
-}
-
-/*
- * dapls_ib_mw_free
- *
- * Release bindings of a protection domain to a memory window
- *
- * Input:
- * rmr Initialized rmr to hold binding handles
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INVALID_STATE
- *
- */
-DAT_RETURN dapls_ib_mw_free(IN DAPL_RMR * rmr)
-{
- dapl_dbg_log(DAPL_DBG_TYPE_ERR, " mw_free: NOT IMPLEMENTED\n");
-
- return DAT_ERROR(DAT_NOT_IMPLEMENTED, DAT_NO_SUBTYPE);
-}
-
-/*
- * dapls_ib_mw_bind
- *
- * Bind a protection domain to a memory window
- *
- * Input:
- * rmr Initialized rmr to hold binding handles
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INVALID_PARAMETER;
- * DAT_INSUFFICIENT_RESOURCES
- *
- */
-DAT_RETURN
-dapls_ib_mw_bind(IN DAPL_RMR * rmr,
- IN DAPL_LMR * lmr,
- IN DAPL_EP * ep,
- IN DAPL_COOKIE * cookie,
- IN DAT_VADDR virtual_address,
- IN DAT_VLEN length,
- IN DAT_MEM_PRIV_FLAGS mem_priv, IN DAT_BOOLEAN is_signaled)
-{
- dapl_dbg_log(DAPL_DBG_TYPE_ERR, " mw_bind: NOT IMPLEMENTED\n");
-
- return DAT_ERROR(DAT_NOT_IMPLEMENTED, DAT_NO_SUBTYPE);
-}
-
-/*
- * dapls_ib_mw_unbind
- *
- * Unbind a protection domain from a memory window
- *
- * Input:
- * rmr Initialized rmr to hold binding handles
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INVALID_PARAMETER;
- * DAT_INVALID_STATE;
- * DAT_INSUFFICIENT_RESOURCES
- *
- */
-DAT_RETURN
-dapls_ib_mw_unbind(IN DAPL_RMR * rmr,
- IN DAPL_EP * ep,
- IN DAPL_COOKIE * cookie, IN DAT_BOOLEAN is_signaled)
-{
- dapl_dbg_log(DAPL_DBG_TYPE_ERR, " mw_unbind: NOT IMPLEMENTED\n");
-
- return DAT_ERROR(DAT_NOT_IMPLEMENTED, DAT_NO_SUBTYPE);
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * tab-width: 8
- * End:
- */
diff --git a/dapl/openib_scm/dapl_ib_qp.c b/dapl/openib_scm/dapl_ib_qp.c
deleted file mode 100644
index e14d4d9..0000000
--- a/dapl/openib_scm/dapl_ib_qp.c
+++ /dev/null
@@ -1,471 +0,0 @@
-/*
- * This Software is licensed under one of the following licenses:
- *
- * 1) under the terms of the "Common Public License 1.0" a copy of which is
- * available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/cpl.php.
- *
- * 2) under the terms of the "The BSD License" a copy of which is
- * available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/bsd-license.php.
- *
- * 3) under the terms of the "GNU General Public License (GPL) Version 2" a
- * copy of which is available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/gpl-license.php.
- *
- * Licensee has the right to choose one of the above licenses.
- *
- * Redistributions of source code must retain the above copyright
- * notice and one of the license notices.
- *
- * Redistributions in binary form must reproduce both the above copyright
- * notice, one of the license notices in the documentation
- * and/or other materials provided with the distribution.
- */
-
-/**********************************************************************
- *
- * MODULE: dapl_ib_qp.c
- *
- * PURPOSE: QP routines for access to ofa rdma verbs
- *
- * $Id: $
- **********************************************************************/
-
-#include "dapl.h"
-#include "dapl_adapter_util.h"
-
-/*
- * dapl_ib_qp_alloc
- *
- * Alloc a QP
- *
- * Input:
- * *ep_ptr pointer to EP INFO
- * ib_hca_handle provider HCA handle
- * ib_pd_handle provider protection domain handle
- * cq_recv provider recv CQ handle
- * cq_send provider send CQ handle
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INSUFFICIENT_RESOURCES
- * DAT_INTERNAL_ERROR
- *
- */
-DAT_RETURN
-dapls_ib_qp_alloc(IN DAPL_IA * ia_ptr,
- IN DAPL_EP * ep_ptr, IN DAPL_EP * ep_ctx_ptr)
-{
- DAT_EP_ATTR *attr;
- DAPL_EVD *rcv_evd, *req_evd;
- ib_cq_handle_t rcv_cq, req_cq;
- ib_pd_handle_t ib_pd_handle;
- struct ibv_qp_init_attr qp_create;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " qp_alloc: ia_ptr %p ep_ptr %p ep_ctx_ptr %p\n",
- ia_ptr, ep_ptr, ep_ctx_ptr);
-
- attr = &ep_ptr->param.ep_attr;
- ib_pd_handle = ((DAPL_PZ *) ep_ptr->param.pz_handle)->pd_handle;
- rcv_evd = (DAPL_EVD *) ep_ptr->param.recv_evd_handle;
- req_evd = (DAPL_EVD *) ep_ptr->param.request_evd_handle;
-
- /*
- * DAT allows usage model of EP's with no EVD's but IB does not.
- * Create a CQ with zero entries under the covers to support and
- * catch any invalid posting.
- */
- if (rcv_evd != DAT_HANDLE_NULL)
- rcv_cq = rcv_evd->ib_cq_handle;
- else if (!ia_ptr->hca_ptr->ib_trans.ib_cq_empty)
- rcv_cq = ia_ptr->hca_ptr->ib_trans.ib_cq_empty;
- else {
- struct ibv_comp_channel *channel =
- ia_ptr->hca_ptr->ib_trans.ib_cq;
-#ifdef CQ_WAIT_OBJECT
- if (rcv_evd->cq_wait_obj_handle)
- channel = rcv_evd->cq_wait_obj_handle;
-#endif
- /* Call IB verbs to create CQ */
- rcv_cq = ibv_create_cq(ia_ptr->hca_ptr->ib_hca_handle,
- 0, NULL, channel, 0);
-
- if (rcv_cq == IB_INVALID_HANDLE)
- return (dapl_convert_errno(ENOMEM, "create_cq"));
-
- ia_ptr->hca_ptr->ib_trans.ib_cq_empty = rcv_cq;
- }
- if (req_evd != DAT_HANDLE_NULL)
- req_cq = req_evd->ib_cq_handle;
- else
- req_cq = ia_ptr->hca_ptr->ib_trans.ib_cq_empty;
-
- /* Setup attributes and create qp */
- dapl_os_memzero((void *)&qp_create, sizeof(qp_create));
- qp_create.send_cq = req_cq;
- qp_create.cap.max_send_wr = attr->max_request_dtos;
- qp_create.cap.max_send_sge = attr->max_request_iov;
- qp_create.cap.max_inline_data =
- ia_ptr->hca_ptr->ib_trans.max_inline_send;
- qp_create.qp_type = IBV_QPT_RC;
-
-#ifdef DAT_EXTENSIONS
- if (attr->service_type == DAT_IB_SERVICE_TYPE_UD) {
- qp_create.qp_type = IBV_QPT_UD;
- if (attr->max_message_size >
- (128 << ia_ptr->hca_ptr->ib_trans.mtu)) {
- return (DAT_INVALID_PARAMETER | DAT_INVALID_ARG6);
- }
- }
-#endif
- qp_create.qp_context = (void *)ep_ptr;
-
- /* ibv assumes rcv_cq is never NULL, set to req_cq */
- if (rcv_cq == NULL) {
- qp_create.recv_cq = req_cq;
- qp_create.cap.max_recv_wr = 0;
- qp_create.cap.max_recv_sge = 0;
- } else {
- qp_create.recv_cq = rcv_cq;
- qp_create.cap.max_recv_wr = attr->max_recv_dtos;
- qp_create.cap.max_recv_sge = attr->max_recv_iov;
- }
-
- ep_ptr->qp_handle = ibv_create_qp(ib_pd_handle, &qp_create);
- if (!ep_ptr->qp_handle)
- return (dapl_convert_errno(ENOMEM, "create_qp"));
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " qp_alloc: qpn %p sq %d,%d rq %d,%d\n",
- ep_ptr->qp_handle->qp_num,
- qp_create.cap.max_send_wr, qp_create.cap.max_send_sge,
- qp_create.cap.max_recv_wr, qp_create.cap.max_recv_sge);
-
- /* Setup QP attributes for INIT state on the way out */
- if (dapls_modify_qp_state(ep_ptr->qp_handle,
- IBV_QPS_INIT, NULL) != DAT_SUCCESS) {
- ibv_destroy_qp(ep_ptr->qp_handle);
- ep_ptr->qp_handle = IB_INVALID_HANDLE;
- return DAT_INTERNAL_ERROR;
- }
-
- return DAT_SUCCESS;
-}
-
-/*
- * dapl_ib_qp_free
- *
- * Free a QP
- *
- * Input:
- * ia_handle IA handle
- * *ep_ptr pointer to EP INFO
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * dapl_convert_errno
- *
- */
-DAT_RETURN dapls_ib_qp_free(IN DAPL_IA * ia_ptr, IN DAPL_EP * ep_ptr)
-{
- dapl_dbg_log(DAPL_DBG_TYPE_EP, " qp_free: ep_ptr %p qp %p\n",
- ep_ptr, ep_ptr->qp_handle);
-
- if (ep_ptr->qp_handle != IB_INVALID_HANDLE) {
- /* force error state to flush queue, then destroy */
- dapls_modify_qp_state(ep_ptr->qp_handle, IBV_QPS_ERR, NULL);
-
- if (ibv_destroy_qp(ep_ptr->qp_handle))
- return (dapl_convert_errno(errno, "destroy_qp"));
-
- ep_ptr->qp_handle = IB_INVALID_HANDLE;
- }
-
- return DAT_SUCCESS;
-}
-
-/*
- * dapl_ib_qp_modify
- *
- * Set the QP to the parameters specified in an EP_PARAM
- *
- * The EP_PARAM structure that is provided has been
- * sanitized such that only non-zero values are valid.
- *
- * Input:
- * ib_hca_handle HCA handle
- * qp_handle QP handle
- * ep_attr Sanitized EP Params
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INSUFFICIENT_RESOURCES
- * DAT_INVALID_PARAMETER
- *
- */
-DAT_RETURN
-dapls_ib_qp_modify(IN DAPL_IA * ia_ptr,
- IN DAPL_EP * ep_ptr, IN DAT_EP_ATTR * attr)
-{
- struct ibv_qp_attr qp_attr;
-
- if (ep_ptr->qp_handle == IB_INVALID_HANDLE)
- return DAT_INVALID_PARAMETER;
-
- /*
- * EP state, qp_handle state should be an indication
- * of current state but the only way to be sure is with
- * a user mode ibv_query_qp call which is NOT available
- */
-
- /* move to error state if necessary */
- if ((ep_ptr->qp_state == IB_QP_STATE_ERROR) &&
- (ep_ptr->qp_handle->state != IBV_QPS_ERR)) {
- return (dapls_modify_qp_state(ep_ptr->qp_handle,
- IBV_QPS_ERR, NULL));
- }
-
- /*
- * Check if we have the right qp_state to modify attributes
- */
- if ((ep_ptr->qp_handle->state != IBV_QPS_RTR) &&
- (ep_ptr->qp_handle->state != IBV_QPS_RTS))
- return DAT_INVALID_STATE;
-
- /* Adjust to current EP attributes */
- dapl_os_memzero((void *)&qp_attr, sizeof(qp_attr));
- qp_attr.cap.max_send_wr = attr->max_request_dtos;
- qp_attr.cap.max_recv_wr = attr->max_recv_dtos;
- qp_attr.cap.max_send_sge = attr->max_request_iov;
- qp_attr.cap.max_recv_sge = attr->max_recv_iov;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- "modify_qp: qp %p sq %d,%d, rq %d,%d\n",
- ep_ptr->qp_handle,
- qp_attr.cap.max_send_wr, qp_attr.cap.max_send_sge,
- qp_attr.cap.max_recv_wr, qp_attr.cap.max_recv_sge);
-
- if (ibv_modify_qp(ep_ptr->qp_handle, &qp_attr, IBV_QP_CAP)) {
- dapl_dbg_log(DAPL_DBG_TYPE_ERR,
- "modify_qp: modify ep %p qp %p failed\n",
- ep_ptr, ep_ptr->qp_handle);
- return (dapl_convert_errno(errno, "modify_qp_state"));
- }
-
- return DAT_SUCCESS;
-}
-
-/*
- * dapls_ib_reinit_ep
- *
- * Move the QP to INIT state again.
- *
- * Input:
- * ep_ptr DAPL_EP
- *
- * Output:
- * none
- *
- * Returns:
- * void
- *
- */
-#if defined(_WIN32) || defined(_WIN64)
-void dapls_ib_reinit_ep(IN DAPL_EP * ep_ptr)
-{
- /* work around bug in low level driver - 3/24/09 */
- /* RTS -> RESET -> INIT -> ERROR QP transition crashes system */
- if (ep_ptr->qp_handle != IB_INVALID_HANDLE) {
- dapls_ib_qp_free(ep_ptr->header.owner_ia, ep_ptr);
- dapls_ib_qp_alloc(ep_ptr->header.owner_ia, ep_ptr, ep_ptr);
- }
-}
-#else // _WIN32 || _WIN64
-void dapls_ib_reinit_ep(IN DAPL_EP * ep_ptr)
-{
- if (ep_ptr->qp_handle != IB_INVALID_HANDLE &&
- ep_ptr->qp_handle->qp_type != IBV_QPT_UD) {
- /* move to RESET state and then to INIT */
- dapls_modify_qp_state(ep_ptr->qp_handle, IBV_QPS_RESET, 0);
- dapls_modify_qp_state(ep_ptr->qp_handle, IBV_QPS_INIT, 0);
- }
-}
-#endif // _WIN32 || _WIN64
-
-/*
- * Generic QP modify for init, reset, error, RTS, RTR
- * For UD, create_ah on RTR, qkey on INIT
- */
-DAT_RETURN
-dapls_modify_qp_state(IN ib_qp_handle_t qp_handle,
- IN ib_qp_state_t qp_state, IN struct ib_cm_handle *cm_ptr)
-{
- struct ibv_qp_attr qp_attr;
- enum ibv_qp_attr_mask mask = IBV_QP_STATE;
- DAPL_EP *ep_ptr = (DAPL_EP *) qp_handle->qp_context;
- DAPL_IA *ia_ptr = ep_ptr->header.owner_ia;
- ib_qp_cm_t *qp_cm = &cm_ptr->dst;
- int ret;
-
- dapl_os_memzero((void *)&qp_attr, sizeof(qp_attr));
- qp_attr.qp_state = qp_state;
- switch (qp_state) {
- /* additional attributes with RTR and RTS */
- case IBV_QPS_RTR:
- {
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " QPS_RTR: type %d state %d qpn %x lid %x"
- " port %x ep %p qp_state %d\n",
- qp_handle->qp_type, qp_handle->qp_type,
- qp_cm->qpn, qp_cm->lid, qp_cm->port,
- ep_ptr, ep_ptr->qp_state);
-
- mask |= IBV_QP_AV |
- IBV_QP_PATH_MTU |
- IBV_QP_DEST_QPN |
- IBV_QP_RQ_PSN |
- IBV_QP_MAX_DEST_RD_ATOMIC | IBV_QP_MIN_RNR_TIMER;
-
- qp_attr.dest_qp_num = qp_cm->qpn;
- qp_attr.rq_psn = 1;
- qp_attr.path_mtu = ia_ptr->hca_ptr->ib_trans.mtu;
- qp_attr.max_dest_rd_atomic =
- ep_ptr->param.ep_attr.max_rdma_read_out;
- qp_attr.min_rnr_timer =
- ia_ptr->hca_ptr->ib_trans.rnr_timer;
-
- /* address handle. RC and UD */
- qp_attr.ah_attr.dlid = qp_cm->lid;
- if (ia_ptr->hca_ptr->ib_trans.global) {
- qp_attr.ah_attr.is_global = 1;
- qp_attr.ah_attr.grh.dgid = qp_cm->gid;
- qp_attr.ah_attr.grh.hop_limit =
- ia_ptr->hca_ptr->ib_trans.hop_limit;
- qp_attr.ah_attr.grh.traffic_class =
- ia_ptr->hca_ptr->ib_trans.tclass;
- }
- qp_attr.ah_attr.sl = 0;
- qp_attr.ah_attr.src_path_bits = 0;
- qp_attr.ah_attr.port_num = ia_ptr->hca_ptr->port_num;
-#ifdef DAT_EXTENSIONS
- /* UD: create AH for remote side */
- if (qp_handle->qp_type == IBV_QPT_UD) {
- ib_pd_handle_t pz;
- pz = ((DAPL_PZ *)
- ep_ptr->param.pz_handle)->pd_handle;
- mask = IBV_QP_STATE;
- cm_ptr->ah = ibv_create_ah(pz,
- &qp_attr.ah_attr);
- if (!cm_ptr->ah)
- return (dapl_convert_errno(errno,
- "ibv_ah"));
-
- /* already RTR, multi remote AH's on QP */
- if (ep_ptr->qp_state == IBV_QPS_RTR ||
- ep_ptr->qp_state == IBV_QPS_RTS)
- return DAT_SUCCESS;
- }
-#endif
- break;
- }
- case IBV_QPS_RTS:
- {
- /* RC only */
- if (qp_handle->qp_type == IBV_QPT_RC) {
- mask |= IBV_QP_SQ_PSN |
- IBV_QP_TIMEOUT |
- IBV_QP_RETRY_CNT |
- IBV_QP_RNR_RETRY | IBV_QP_MAX_QP_RD_ATOMIC;
- qp_attr.timeout =
- ia_ptr->hca_ptr->ib_trans.ack_timer;
- qp_attr.retry_cnt =
- ia_ptr->hca_ptr->ib_trans.ack_retry;
- qp_attr.rnr_retry =
- ia_ptr->hca_ptr->ib_trans.rnr_retry;
- qp_attr.max_rd_atomic =
- ep_ptr->param.ep_attr.max_rdma_read_out;
- }
- /* RC and UD */
- qp_attr.qp_state = IBV_QPS_RTS;
- qp_attr.sq_psn = 1;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " QPS_RTS: psn %x rd_atomic %d ack %d "
- " retry %d rnr_retry %d ep %p qp_state %d\n",
- qp_attr.sq_psn, qp_attr.max_rd_atomic,
- qp_attr.timeout, qp_attr.retry_cnt,
- qp_attr.rnr_retry, ep_ptr,
- ep_ptr->qp_state);
-#ifdef DAT_EXTENSIONS
- if (qp_handle->qp_type == IBV_QPT_UD) {
- /* already RTS, multi remote AH's on QP */
- if (ep_ptr->qp_state == IBV_QPS_RTS)
- return DAT_SUCCESS;
- else
- mask = IBV_QP_STATE | IBV_QP_SQ_PSN;
- }
-#endif
- break;
- }
- case IBV_QPS_INIT:
- {
- mask |= IBV_QP_PKEY_INDEX | IBV_QP_PORT;
- if (qp_handle->qp_type == IBV_QPT_RC) {
- mask |= IBV_QP_ACCESS_FLAGS;
- qp_attr.qp_access_flags =
- IBV_ACCESS_LOCAL_WRITE |
- IBV_ACCESS_REMOTE_WRITE |
- IBV_ACCESS_REMOTE_READ |
- IBV_ACCESS_REMOTE_ATOMIC |
- IBV_ACCESS_MW_BIND;
- }
-#ifdef DAT_EXTENSIONS
- if (qp_handle->qp_type == IBV_QPT_UD) {
- /* already INIT, multi remote AH's on QP */
- if (ep_ptr->qp_state == IBV_QPS_INIT)
- return DAT_SUCCESS;
- mask |= IBV_QP_QKEY;
- qp_attr.qkey = SCM_UD_QKEY;
- }
-#endif
- qp_attr.pkey_index = 0;
- qp_attr.port_num = ia_ptr->hca_ptr->port_num;
-
- dapl_dbg_log(DAPL_DBG_TYPE_EP,
- " QPS_INIT: pi %x port %x acc %x qkey 0x%x\n",
- qp_attr.pkey_index, qp_attr.port_num,
- qp_attr.qp_access_flags, qp_attr.qkey);
- break;
- }
- default:
- break;
-
- }
-
- ret = ibv_modify_qp(qp_handle, &qp_attr, mask);
- if (ret == 0) {
- ep_ptr->qp_state = qp_state;
- return DAT_SUCCESS;
- } else {
- return (dapl_convert_errno(errno, "modify_qp_state"));
- }
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * tab-width: 8
- * End:
- */
diff --git a/dapl/openib_scm/dapl_ib_util.c b/dapl/openib_scm/dapl_ib_util.c
deleted file mode 100644
index c95b0c2..0000000
--- a/dapl/openib_scm/dapl_ib_util.c
+++ /dev/null
@@ -1,725 +0,0 @@
-/*
- * This Software is licensed under one of the following licenses:
- *
- * 1) under the terms of the "Common Public License 1.0" a copy of which is
- * available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/cpl.php.
- *
- * 2) under the terms of the "The BSD License" a copy of which is
- * available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/bsd-license.php.
- *
- * 3) under the terms of the "GNU General Public License (GPL) Version 2" a
- * copy of which is available from the Open Source Initiative, see
- * http://www.opensource.org/licenses/gpl-license.php.
- *
- * Licensee has the right to choose one of the above licenses.
- *
- * Redistributions of source code must retain the above copyright
- * notice and one of the license notices.
- *
- * Redistributions in binary form must reproduce both the above copyright
- * notice, one of the license notices in the documentation
- * and/or other materials provided with the distribution.
- */
-
-/***************************************************************************
- *
- * Module: uDAPL
- *
- * Filename: dapl_ib_util.c
- *
- * Author: Arlin Davis
- *
- * Created: 3/10/2005
- *
- * Description:
- *
- * The uDAPL openib provider - init, open, close, utilities
- *
- ****************************************************************************
- * Source Control System Information
- *
- * $Id: $
- *
- * Copyright (c) 2005 Intel Corporation. All rights reserved.
- *
- **************************************************************************/
-#ifdef RCSID
-static const char rcsid[] = "$Id: $";
-#endif
-
-#include "openib_osd.h"
-#include "dapl.h"
-#include "dapl_adapter_util.h"
-#include "dapl_ib_util.h"
-#include "dapl_osd.h"
-
-#include <stdlib.h>
-
-int g_dapl_loopback_connection = 0;
-DAPL_SOCKET g_scm[2];
-
-enum ibv_mtu dapl_ib_mtu(int mtu)
-{
- switch (mtu) {
- case 256:
- return IBV_MTU_256;
- case 512:
- return IBV_MTU_512;
- case 1024:
- return IBV_MTU_1024;
- case 2048:
- return IBV_MTU_2048;
- case 4096:
- return IBV_MTU_4096;
- default:
- return IBV_MTU_1024;
- }
-}
-
-char *dapl_ib_mtu_str(enum ibv_mtu mtu)
-{
- switch (mtu) {
- case IBV_MTU_256:
- return "256";
- case IBV_MTU_512:
- return "512";
- case IBV_MTU_1024:
- return "1024";
- case IBV_MTU_2048:
- return "2048";
- case IBV_MTU_4096:
- return "4096";
- default:
- return "1024";
- }
-}
-
-static DAT_RETURN getlocalipaddr(DAT_SOCK_ADDR * addr, int addr_len)
-{
- struct sockaddr_in *sin;
- struct addrinfo *res, hint, *ai;
- int ret;
- char hostname[256];
-
- if (addr_len < sizeof(*sin)) {
- return DAT_INTERNAL_ERROR;
- }
-
- ret = gethostname(hostname, 256);
- if (ret)
- return dapl_convert_errno(ret, "gethostname");
-
- memset(&hint, 0, sizeof hint);
- hint.ai_flags = AI_PASSIVE;
- hint.ai_family = AF_INET;
- hint.ai_socktype = SOCK_STREAM;
- hint.ai_protocol = IPPROTO_TCP;
-
- ret = getaddrinfo(hostname, NULL, &hint, &res);
- if (ret) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " getaddrinfo ERR: %d %s\n", ret, gai_strerror(ret));
- return DAT_INVALID_ADDRESS;
- }
-
- ret = DAT_INVALID_ADDRESS;
- for (ai = res; ai; ai = ai->ai_next) {
- sin = (struct sockaddr_in *)ai->ai_addr;
- if (*((uint32_t *) & sin->sin_addr) != htonl(0x7f000001)) {
- *((struct sockaddr_in *)addr) = *sin;
- ret = DAT_SUCCESS;
- break;
- }
- }
-
- freeaddrinfo(res);
- return ret;
-}
-
-/*
- * dapls_ib_init, dapls_ib_release
- *
- * Initialize Verb related items for device open
- *
- * Input:
- * none
- *
- * Output:
- * none
- *
- * Returns:
- * 0 success, -1 error
- *
- */
-int32_t dapls_ib_init(void)
-{
- DAPL_SOCKET listen_socket;
- struct sockaddr_in addr;
- socklen_t addrlen = sizeof(addr);
- int ret;
-
- listen_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
- if (listen_socket == DAPL_INVALID_SOCKET)
- return 1;
-
- memset(&addr, 0, sizeof addr);
- addr.sin_family = AF_INET;
- addr.sin_addr.s_addr = htonl(0x7f000001);
- ret = bind(listen_socket, (struct sockaddr *)&addr, sizeof addr);
- if (ret)
- goto err1;
-
- ret = getsockname(listen_socket, (struct sockaddr *)&addr, &addrlen);
- if (ret)
- goto err1;
-
- ret = listen(listen_socket, 0);
- if (ret)
- goto err1;
-
- g_scm[1] = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
- if (g_scm[1] == DAPL_INVALID_SOCKET)
- goto err1;
-
- ret = connect(g_scm[1], (struct sockaddr *)&addr, sizeof(addr));
- if (ret)
- goto err2;
-
- g_scm[0] = accept(listen_socket, NULL, NULL);
- if (g_scm[0] == DAPL_INVALID_SOCKET)
- goto err2;
-
- closesocket(listen_socket);
- return 0;
-
- err2:
- closesocket(g_scm[1]);
- err1:
- closesocket(listen_socket);
- return 1;
-}
-
-int32_t dapls_ib_release(void)
-{
- closesocket(g_scm[0]);
- closesocket(g_scm[1]);
- return 0;
-}
-
-#if defined(_WIN64) || defined(_WIN32)
-int dapls_config_comp_channel(struct ibv_comp_channel *channel)
-{
- return 0;
-}
-#else // _WIN64 || WIN32
-int dapls_config_comp_channel(struct ibv_comp_channel *channel)
-{
- int opts;
-
- opts = fcntl(channel->fd, F_GETFL); /* uCQ */
- if (opts < 0 || fcntl(channel->fd, F_SETFL, opts | O_NONBLOCK) < 0) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " dapls_create_comp_channel: fcntl on ib_cq->fd %d ERR %d %s\n",
- channel->fd, opts, strerror(errno));
- return errno;
- }
-
- return 0;
-}
-#endif
-
-/*
- * dapls_ib_open_hca
- *
- * Open HCA
- *
- * Input:
- * *hca_name pointer to provider device name
- * *ib_hca_handle_p pointer to provide HCA handle
- *
- * Output:
- * none
- *
- * Return:
- * DAT_SUCCESS
- * dapl_convert_errno
- *
- */
-DAT_RETURN dapls_ib_open_hca(IN IB_HCA_NAME hca_name, IN DAPL_HCA * hca_ptr)
-{
- struct ibv_device **dev_list;
- struct ibv_port_attr port_attr;
- int i;
- DAT_RETURN dat_status;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " open_hca: %s - %p\n", hca_name, hca_ptr);
-
- /* get the IP address of the device */
- dat_status = getlocalipaddr((DAT_SOCK_ADDR *) & hca_ptr->hca_address,
- sizeof(DAT_SOCK_ADDR6));
- if (dat_status != DAT_SUCCESS)
- return dat_status;
-
- /* Get list of all IB devices, find match, open */
- dev_list = ibv_get_device_list(NULL);
- if (!dev_list) {
- dapl_dbg_log(DAPL_DBG_TYPE_ERR,
- " open_hca: ibv_get_device_list() failed\n",
- hca_name);
- return DAT_INTERNAL_ERROR;
- }
-
- for (i = 0; dev_list[i]; ++i) {
- hca_ptr->ib_trans.ib_dev = dev_list[i];
- if (!strcmp(ibv_get_device_name(hca_ptr->ib_trans.ib_dev),
- hca_name))
- goto found;
- }
-
- dapl_log(DAPL_DBG_TYPE_ERR,
- " open_hca: device %s not found\n", hca_name);
- goto err;
-
- found:
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " open_hca: Found dev %s %016llx\n",
- ibv_get_device_name(hca_ptr->ib_trans.ib_dev),
- (unsigned long long)
- ntohll(ibv_get_device_guid(hca_ptr->ib_trans.ib_dev)));
-
- hca_ptr->ib_hca_handle = ibv_open_device(hca_ptr->ib_trans.ib_dev);
- if (!hca_ptr->ib_hca_handle) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " open_hca: dev open failed for %s, err=%s\n",
- ibv_get_device_name(hca_ptr->ib_trans.ib_dev),
- strerror(errno));
- goto err;
- }
-
- /* get lid for this hca-port, network order */
- if (ibv_query_port(hca_ptr->ib_hca_handle,
- (uint8_t) hca_ptr->port_num, &port_attr)) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " open_hca: get lid ERR for %s, err=%s\n",
- ibv_get_device_name(hca_ptr->ib_trans.ib_dev),
- strerror(errno));
- goto err;
- } else {
- hca_ptr->ib_trans.lid = htons(port_attr.lid);
- }
-
- /* get gid for this hca-port, network order */
- if (ibv_query_gid(hca_ptr->ib_hca_handle,
- (uint8_t) hca_ptr->port_num,
- 0, &hca_ptr->ib_trans.gid)) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " open_hca: query GID ERR for %s, err=%s\n",
- ibv_get_device_name(hca_ptr->ib_trans.ib_dev),
- strerror(errno));
- goto err;
- }
-
- /* set RC tunables via enviroment or default */
- hca_ptr->ib_trans.max_inline_send =
- dapl_os_get_env_val("DAPL_MAX_INLINE", INLINE_SEND_DEFAULT);
- hca_ptr->ib_trans.ack_retry =
- dapl_os_get_env_val("DAPL_ACK_RETRY", SCM_ACK_RETRY);
- hca_ptr->ib_trans.ack_timer =
- dapl_os_get_env_val("DAPL_ACK_TIMER", SCM_ACK_TIMER);
- hca_ptr->ib_trans.rnr_retry =
- dapl_os_get_env_val("DAPL_RNR_RETRY", SCM_RNR_RETRY);
- hca_ptr->ib_trans.rnr_timer =
- dapl_os_get_env_val("DAPL_RNR_TIMER", SCM_RNR_TIMER);
- hca_ptr->ib_trans.global =
- dapl_os_get_env_val("DAPL_GLOBAL_ROUTING", SCM_GLOBAL);
- hca_ptr->ib_trans.hop_limit =
- dapl_os_get_env_val("DAPL_HOP_LIMIT", SCM_HOP_LIMIT);
- hca_ptr->ib_trans.tclass =
- dapl_os_get_env_val("DAPL_TCLASS", SCM_TCLASS);
- hca_ptr->ib_trans.mtu =
- dapl_ib_mtu(dapl_os_get_env_val("DAPL_IB_MTU", SCM_IB_MTU));
-
-#ifndef CQ_WAIT_OBJECT
- /* initialize cq_lock */
- dat_status = dapl_os_lock_init(&hca_ptr->ib_trans.cq_lock);
- if (dat_status != DAT_SUCCESS) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " open_hca: failed to init cq_lock\n");
- goto bail;
- }
- /* EVD events without direct CQ channels, non-blocking */
- hca_ptr->ib_trans.ib_cq =
- ibv_create_comp_channel(hca_ptr->ib_hca_handle);
- if (hca_ptr->ib_trans.ib_cq == NULL) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " open_hca: ibv_create_comp_channel ERR %s\n",
- strerror(errno));
- goto bail;
- }
-
- if (dapls_config_comp_channel(hca_ptr->ib_trans.ib_cq)) {
- goto bail;
- }
-
- if (dapli_cq_thread_init(hca_ptr)) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " open_hca: cq_thread_init failed for %s\n",
- ibv_get_device_name(hca_ptr->ib_trans.ib_dev));
- goto bail;
- }
-#endif /* CQ_WAIT_OBJECT */
-
- /* initialize cr_list lock */
- dat_status = dapl_os_lock_init(&hca_ptr->ib_trans.lock);
- if (dat_status != DAT_SUCCESS) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " open_hca: failed to init cr_list lock\n");
- goto bail;
- }
-
- /* initialize CM list for listens on this HCA */
- dapl_llist_init_head(&hca_ptr->ib_trans.list);
-
- /* create thread to process inbound connect request */
- hca_ptr->ib_trans.cr_state = IB_THREAD_INIT;
- dat_status = dapl_os_thread_create(cr_thread,
- (void *)hca_ptr,
- &hca_ptr->ib_trans.thread);
- if (dat_status != DAT_SUCCESS) {
- dapl_log(DAPL_DBG_TYPE_ERR,
- " open_hca: failed to create thread\n");
- goto bail;
- }
-
- /* wait for thread */
- while (hca_ptr->ib_trans.cr_state != IB_THREAD_RUN) {
- dapl_os_sleep_usec(2000);
- }
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " open_hca: devname %s, port %d, hostname_IP %s\n",
- ibv_get_device_name(hca_ptr->ib_trans.ib_dev),
- hca_ptr->port_num, inet_ntoa(((struct sockaddr_in *)
- &hca_ptr->hca_address)->
- sin_addr));
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " open_hca: LID 0x%x GID Subnet 0x" F64x " ID 0x" F64x
- "\n", ntohs(hca_ptr->ib_trans.lid), (unsigned long long)
- htonll(hca_ptr->ib_trans.gid.global.subnet_prefix),
- (unsigned long long)htonll(hca_ptr->ib_trans.gid.global.
- interface_id));
-
- ibv_free_device_list(dev_list);
- return dat_status;
-
- bail:
- ibv_close_device(hca_ptr->ib_hca_handle);
- hca_ptr->ib_hca_handle = IB_INVALID_HANDLE;
- err:
- ibv_free_device_list(dev_list);
- return DAT_INTERNAL_ERROR;
-}
-
-/*
- * dapls_ib_close_hca
- *
- * Open HCA
- *
- * Input:
- * DAPL_HCA provide CA handle
- *
- * Output:
- * none
- *
- * Return:
- * DAT_SUCCESS
- * dapl_convert_errno
- *
- */
-DAT_RETURN dapls_ib_close_hca(IN DAPL_HCA * hca_ptr)
-{
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " close_hca: %p\n", hca_ptr);
-
-#ifndef CQ_WAIT_OBJECT
- dapli_cq_thread_destroy(hca_ptr);
- dapl_os_lock_destroy(&hca_ptr->ib_trans.cq_lock);
-#endif /* CQ_WAIT_OBJECT */
-
- if (hca_ptr->ib_hca_handle != IB_INVALID_HANDLE) {
- if (ibv_close_device(hca_ptr->ib_hca_handle))
- return (dapl_convert_errno(errno, "ib_close_device"));
- hca_ptr->ib_hca_handle = IB_INVALID_HANDLE;
- }
-
- /* destroy cr_thread and lock */
- hca_ptr->ib_trans.cr_state = IB_THREAD_CANCEL;
- if (send(g_scm[1], "w", sizeof "w", 0) == -1)
- dapl_log(DAPL_DBG_TYPE_UTIL,
- " thread_destroy: thread wakeup err = %s\n",
- strerror(errno));
- while (hca_ptr->ib_trans.cr_state != IB_THREAD_EXIT) {
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " close_hca: waiting for cr_thread\n");
- if (send(g_scm[1], "w", sizeof "w", 0) == -1)
- dapl_log(DAPL_DBG_TYPE_UTIL,
- " thread_destroy: thread wakeup err = %s\n",
- strerror(errno));
- dapl_os_sleep_usec(2000);
- }
- dapl_os_lock_destroy(&hca_ptr->ib_trans.lock);
-
- return (DAT_SUCCESS);
-}
-
-/*
- * dapls_ib_query_hca
- *
- * Query the hca attribute
- *
- * Input:
- * hca_handl hca handle
- * ia_attr attribute of the ia
- * ep_attr attribute of the ep
- * ip_addr ip address of DET NIC
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INVALID_HANDLE
- */
-
-DAT_RETURN dapls_ib_query_hca(IN DAPL_HCA * hca_ptr,
- OUT DAT_IA_ATTR * ia_attr,
- OUT DAT_EP_ATTR * ep_attr,
- OUT DAT_SOCK_ADDR6 * ip_addr)
-{
- struct ibv_device_attr dev_attr;
- struct ibv_port_attr port_attr;
-
- if (hca_ptr->ib_hca_handle == NULL) {
- dapl_dbg_log(DAPL_DBG_TYPE_ERR, " query_hca: BAD handle\n");
- return (DAT_INVALID_HANDLE);
- }
-
- /* local IP address of device, set during ia_open */
- if (ip_addr != NULL)
- memcpy(ip_addr, &hca_ptr->hca_address, sizeof(DAT_SOCK_ADDR6));
-
- if (ia_attr == NULL && ep_attr == NULL)
- return DAT_SUCCESS;
-
- /* query verbs for this device and port attributes */
- if (ibv_query_device(hca_ptr->ib_hca_handle, &dev_attr) ||
- ibv_query_port(hca_ptr->ib_hca_handle,
- hca_ptr->port_num, &port_attr))
- return (dapl_convert_errno(errno, "ib_query_hca"));
-
- if (ia_attr != NULL) {
- (void)dapl_os_memzero(ia_attr, sizeof(*ia_attr));
- ia_attr->adapter_name[DAT_NAME_MAX_LENGTH - 1] = '\0';
- ia_attr->vendor_name[DAT_NAME_MAX_LENGTH - 1] = '\0';
- ia_attr->ia_address_ptr =
- (DAT_IA_ADDRESS_PTR) & hca_ptr->hca_address;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " query_hca: %s %s \n",
- ibv_get_device_name(hca_ptr->ib_trans.ib_dev),
- inet_ntoa(((struct sockaddr_in *)
- &hca_ptr->hca_address)->sin_addr));
-
- ia_attr->hardware_version_major = dev_attr.hw_ver;
- /* ia_attr->hardware_version_minor = dev_attr.fw_ver; */
- ia_attr->max_eps = dev_attr.max_qp;
- ia_attr->max_dto_per_ep = dev_attr.max_qp_wr;
- ia_attr->max_rdma_read_in = dev_attr.max_qp_rd_atom;
- ia_attr->max_rdma_read_out = dev_attr.max_qp_init_rd_atom;
- ia_attr->max_rdma_read_per_ep_in = dev_attr.max_qp_rd_atom;
- ia_attr->max_rdma_read_per_ep_out =
- dev_attr.max_qp_init_rd_atom;
- ia_attr->max_rdma_read_per_ep_in_guaranteed = DAT_TRUE;
- ia_attr->max_rdma_read_per_ep_out_guaranteed = DAT_TRUE;
- ia_attr->max_evds = dev_attr.max_cq;
- ia_attr->max_evd_qlen = dev_attr.max_cqe;
- ia_attr->max_iov_segments_per_dto = dev_attr.max_sge;
- ia_attr->max_lmrs = dev_attr.max_mr;
- /* 32bit attribute from 64bit, 4G-1 limit, DAT v2 needs fix */
- ia_attr->max_lmr_block_size =
- (dev_attr.max_mr_size >> 32) ? ~0 : dev_attr.max_mr_size;
- ia_attr->max_rmrs = dev_attr.max_mw;
- ia_attr->max_lmr_virtual_address = dev_attr.max_mr_size;
- ia_attr->max_rmr_target_address = dev_attr.max_mr_size;
- ia_attr->max_pzs = dev_attr.max_pd;
- ia_attr->max_message_size = port_attr.max_msg_sz;
- ia_attr->max_rdma_size = port_attr.max_msg_sz;
- ia_attr->max_iov_segments_per_rdma_read = dev_attr.max_sge;
- ia_attr->max_iov_segments_per_rdma_write = dev_attr.max_sge;
- ia_attr->num_transport_attr = 0;
- ia_attr->transport_attr = NULL;
- ia_attr->num_vendor_attr = 0;
- ia_attr->vendor_attr = NULL;
-#ifdef DAT_EXTENSIONS
- ia_attr->extension_supported = DAT_EXTENSION_IB;
- ia_attr->extension_version = DAT_IB_EXTENSION_VERSION;
-#endif
- hca_ptr->ib_trans.mtu = DAPL_MIN(port_attr.active_mtu,
- hca_ptr->ib_trans.mtu);
- hca_ptr->ib_trans.ack_timer =
- DAPL_MAX(dev_attr.local_ca_ack_delay,
- hca_ptr->ib_trans.ack_timer);
-
- /* set MTU in transport specific named attribute */
- hca_ptr->ib_trans.named_attr.name = "DAT_IB_TRANSPORT_MTU";
- hca_ptr->ib_trans.named_attr.value =
- dapl_ib_mtu_str(hca_ptr->ib_trans.mtu);
-
- dapl_log(DAPL_DBG_TYPE_UTIL,
- " query_hca: (%x.%x) ep %d ep_q %d evd %d"
- " evd_q %d mtu %d\n",
- ia_attr->hardware_version_major,
- ia_attr->hardware_version_minor,
- ia_attr->max_eps, ia_attr->max_dto_per_ep,
- ia_attr->max_evds, ia_attr->max_evd_qlen,
- 128 << hca_ptr->ib_trans.mtu);
-
- dapl_log(DAPL_DBG_TYPE_UTIL,
- " query_hca: msg %llu rdma %llu iov %d lmr %d rmr %d"
- " ack_time %d mr %u\n",
- ia_attr->max_message_size, ia_attr->max_rdma_size,
- ia_attr->max_iov_segments_per_dto,
- ia_attr->max_lmrs, ia_attr->max_rmrs,
- hca_ptr->ib_trans.ack_timer,
- ia_attr->max_lmr_block_size);
- }
-
- if (ep_attr != NULL) {
- (void)dapl_os_memzero(ep_attr, sizeof(*ep_attr));
- ep_attr->max_message_size = port_attr.max_msg_sz;
- ep_attr->max_rdma_size = port_attr.max_msg_sz;
- ep_attr->max_recv_dtos = dev_attr.max_qp_wr;
- ep_attr->max_request_dtos = dev_attr.max_qp_wr;
- ep_attr->max_recv_iov = dev_attr.max_sge;
- ep_attr->max_request_iov = dev_attr.max_sge;
- ep_attr->max_rdma_read_in = dev_attr.max_qp_rd_atom;
- ep_attr->max_rdma_read_out = dev_attr.max_qp_init_rd_atom;
- ep_attr->max_rdma_read_iov = dev_attr.max_sge;
- ep_attr->max_rdma_write_iov = dev_attr.max_sge;
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " query_hca: MAX msg %llu mtu %d dto %d iov %d"
- " rdma i%d,o%d\n",
- ep_attr->max_message_size,
- ep_attr->max_recv_dtos, ep_attr->max_recv_iov,
- ep_attr->max_rdma_read_in,
- ep_attr->max_rdma_read_out);
- }
- return DAT_SUCCESS;
-}
-
-/*
- * dapls_ib_setup_async_callback
- *
- * Set up an asynchronous callbacks of various kinds
- *
- * Input:
- * ia_handle IA handle
- * handler_type type of handler to set up
- * callback_handle handle param for completion callbacks
- * callback callback routine pointer
- * context argument for callback routine
- *
- * Output:
- * none
- *
- * Returns:
- * DAT_SUCCESS
- * DAT_INSUFFICIENT_RESOURCES
- * DAT_INVALID_PARAMETER
- *
- */
-DAT_RETURN dapls_ib_setup_async_callback(IN DAPL_IA * ia_ptr,
- IN DAPL_ASYNC_HANDLER_TYPE
- handler_type, IN DAPL_EVD * evd_ptr,
- IN ib_async_handler_t callback,
- IN void *context)
-{
- ib_hca_transport_t *hca_ptr;
-
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " setup_async_cb: ia %p type %d handle %p cb %p ctx %p\n",
- ia_ptr, handler_type, evd_ptr, callback, context);
-
- hca_ptr = &ia_ptr->hca_ptr->ib_trans;
- switch (handler_type) {
- case DAPL_ASYNC_UNAFILIATED:
- hca_ptr->async_unafiliated = (ib_async_handler_t) callback;
- hca_ptr->async_un_ctx = context;
- break;
- case DAPL_ASYNC_CQ_ERROR:
- hca_ptr->async_cq_error = (ib_async_cq_handler_t) callback;
- break;
- case DAPL_ASYNC_CQ_COMPLETION:
- hca_ptr->async_cq = (ib_async_dto_handler_t) callback;
- break;
- case DAPL_ASYNC_QP_ERROR:
- hca_ptr->async_qp_error = (ib_async_qp_handler_t) callback;
- break;
- default:
- break;
- }
- return DAT_SUCCESS;
-}
-
-/*
- * dapls_set_provider_specific_attr
- *
- * Input:
- * attr_ptr Pointer provider specific attributes
- *
- * Output:
- * none
- *
- * Returns:
- * void
- */
-DAT_NAMED_ATTR ib_attrs[] = {
- {
- "DAT_IB_TRANSPORT_MTU", "1024"}
- ,
-#ifdef DAT_EXTENSIONS
- {
- "DAT_EXTENSION_INTERFACE", "TRUE"}
- ,
- {
- DAT_IB_ATTR_FETCH_AND_ADD, "TRUE"}
- ,
- {
- DAT_IB_ATTR_CMP_AND_SWAP, "TRUE"}
- ,
- {
- DAT_IB_ATTR_IMMED_DATA, "TRUE"}
- ,
- {
- DAT_IB_ATTR_UD, "TRUE"}
- ,
-#ifdef DAPL_COUNTERS
- {
- DAT_ATTR_COUNTERS, "TRUE"}
- ,
-#endif /* DAPL_COUNTERS */
-#endif
-};
-
-#define SPEC_ATTR_SIZE( x ) (sizeof( x ) / sizeof( DAT_NAMED_ATTR))
-
-void dapls_query_provider_specific_attr(IN DAPL_IA * ia_ptr,
- IN DAT_PROVIDER_ATTR * attr_ptr)
-{
- attr_ptr->num_provider_specific_attr = SPEC_ATTR_SIZE(ib_attrs);
- attr_ptr->provider_specific_attr = ib_attrs;
-
- /* set MTU to actual settings */
- ib_attrs[0].value = ia_ptr->hca_ptr->ib_trans.named_attr.value;
-}
diff --git a/dapl/openib_scm/dapl_ib_util.h b/dapl/openib_scm/dapl_ib_util.h
index 5493312..d382226 100644
--- a/dapl/openib_scm/dapl_ib_util.h
+++ b/dapl/openib_scm/dapl_ib_util.h
@@ -23,160 +23,48 @@
* and/or other materials provided with the distribution.
*/
-/***************************************************************************
- *
- * Module: uDAPL
- *
- * Filename: dapl_ib_util.h
- *
- * Author: Arlin Davis
- *
- * Created: 3/10/2005
- *
- * Description:
- *
- * The uDAPL openib provider - definitions, prototypes,
- *
- ****************************************************************************
- * Source Control System Information
- *
- * $Id: $
- *
- * Copyright (c) 2005 Intel Corporation. All rights reserved.
- *
- **************************************************************************/
-
#ifndef _DAPL_IB_UTIL_H_
#define _DAPL_IB_UTIL_H_
+#define _OPENIB_SCM_
-#include "openib_osd.h"
#include <infiniband/verbs.h>
+#include "openib_osd.h"
+#include "dapl_ib_common.h"
-#ifdef DAT_EXTENSIONS
-#include <dat2/dat_ib_extensions.h>
-#endif
-
-#ifndef __cplusplus
-#define false 0
-#define true 1
-#endif /*__cplusplus */
-
-/* Typedefs to map common DAPL provider types to IB verbs */
-typedef struct ibv_qp *ib_qp_handle_t;
-typedef struct ibv_cq *ib_cq_handle_t;
-typedef struct ibv_pd *ib_pd_handle_t;
-typedef struct ibv_mr *ib_mr_handle_t;
-typedef struct ibv_mw *ib_mw_handle_t;
-typedef struct ibv_wc ib_work_completion_t;
-
-/* HCA context type maps to IB verbs */
-typedef struct ibv_context *ib_hca_handle_t;
-typedef ib_hca_handle_t dapl_ibal_ca_t;
-
-/* destination info to exchange, define wire protocol version */
-#define DSCM_VER 4
-typedef struct _ib_qp_cm
-{
- uint16_t ver;
- uint16_t rej;
- uint16_t lid;
- uint16_t port;
- uint32_t qpn;
- uint32_t p_size;
- union ibv_gid gid;
- DAT_SOCK_ADDR6 ia_address;
- uint16_t qp_type;
-} ib_qp_cm_t;
-
-typedef enum scm_state
-{
- SCM_INIT,
- SCM_LISTEN,
- SCM_CONN_PENDING,
- SCM_RTU_PENDING,
- SCM_ACCEPTING,
- SCM_ACCEPTING_DATA,
- SCM_ACCEPTED,
- SCM_REJECTED,
- SCM_CONNECTED,
- SCM_DISCONNECTED,
- SCM_DESTROY
-} SCM_STATE;
-
+/* DAPL CM objects MUST include list_entry, ref_count, event for EP linking */
struct ib_cm_handle
{
- struct dapl_llist_entry entry;
+ struct dapl_llist_entry list_entry;
+ struct dapl_llist_entry local_entry;
+ DAPL_OS_WAIT_OBJECT event;
DAPL_OS_LOCK lock;
- SCM_STATE state;
+ int ref_count;
+ int state;
+ int retry;
DAPL_SOCKET socket;
struct dapl_hca *hca;
struct dapl_sp *sp;
struct dapl_ep *ep;
- ib_qp_cm_t dst;
- unsigned char p_data[256]; /* must follow ib_qp_cm_t */
+ ib_cm_msg_t msg;
struct ibv_ah *ah;
+ DAT_SOCK_ADDR6 addr;
};
-typedef struct ib_cm_handle *dp_ib_cm_handle_t;
+typedef struct ib_cm_handle *dp_ib_cm_handle_t;
typedef dp_ib_cm_handle_t ib_cm_srvc_handle_t;
-/* CM events */
-typedef enum
-{
- IB_CME_CONNECTED,
- IB_CME_DISCONNECTED,
- IB_CME_DISCONNECTED_ON_LINK_DOWN,
- IB_CME_CONNECTION_REQUEST_PENDING,
- IB_CME_CONNECTION_REQUEST_PENDING_PRIVATE_DATA,
- IB_CME_DESTINATION_REJECT,
- IB_CME_DESTINATION_REJECT_PRIVATE_DATA,
- IB_CME_DESTINATION_UNREACHABLE,
- IB_CME_TOO_MANY_CONNECTION_REQUESTS,
- IB_CME_LOCAL_FAILURE,
- IB_CM_LOCAL_FAILURE
-
-} ib_cm_events_t;
-
-/* Operation and state mappings */
-typedef int ib_send_op_type_t;
-typedef struct ibv_sge ib_data_segment_t;
-typedef enum ibv_qp_state ib_qp_state_t;
-typedef enum ibv_event_type ib_async_event_type;
-typedef struct ibv_async_event ib_error_record_t;
-
-/* CQ notifications */
-typedef enum
-{
- IB_NOTIFY_ON_NEXT_COMP,
- IB_NOTIFY_ON_SOLIC_COMP
-
-} ib_notification_type_t;
-
-/* other mappings */
-typedef int ib_bool_t;
-typedef union ibv_gid GID;
-typedef char *IB_HCA_NAME;
-typedef uint16_t ib_hca_port_t;
-typedef uint32_t ib_comp_handle_t;
-
-#ifdef CQ_WAIT_OBJECT
-typedef struct ibv_comp_channel *ib_wait_obj_handle_t;
-#endif
-
/* Definitions */
#define IB_INVALID_HANDLE NULL
/* inline send rdma threshold */
#define INLINE_SEND_DEFAULT 200
-/* qkey for UD QP's */
-#define SCM_UD_QKEY 0x78654321
-
/* RC timer - retry count defaults */
-#define SCM_ACK_TIMER 16 /* 5 bits, 4.096us*2^ack_timer. 16== 268ms */
-#define SCM_ACK_RETRY 7 /* 3 bits, 7 * 268ms = 1.8 seconds */
+#define SCM_ACK_TIMER 20 /* 5 bits, 4.096us*2^ack_timer. 16== 268ms, 20==4.2s */
+#define SCM_ACK_RETRY 7 /* 3 bits, 7 * 4.2 == 30 seconds */
#define SCM_RNR_TIMER 12 /* 5 bits, 12 =.64ms, 28 =163ms, 31 =491ms */
#define SCM_RNR_RETRY 7 /* 3 bits, 7 == infinite */
+#define SCM_CR_RETRY 5 /* retries for busy server, connect refused */
#define SCM_IB_MTU 2048
/* Global routing defaults */
@@ -184,101 +72,14 @@ typedef struct ibv_comp_channel *ib_wait_obj_handle_t;
#define SCM_HOP_LIMIT 0xff
#define SCM_TCLASS 0
-/* CM private data areas */
-#define IB_MAX_REQ_PDATA_SIZE 92
-#define IB_MAX_REP_PDATA_SIZE 196
-#define IB_MAX_REJ_PDATA_SIZE 148
-#define IB_MAX_DREQ_PDATA_SIZE 220
-#define IB_MAX_DREP_PDATA_SIZE 224
-#define IB_MAX_RTU_PDATA_SIZE 224
-
-/* DTO OPs, ordered for DAPL ENUM definitions */
-#define OP_RDMA_WRITE IBV_WR_RDMA_WRITE
-#define OP_RDMA_WRITE_IMM IBV_WR_RDMA_WRITE_WITH_IMM
-#define OP_SEND IBV_WR_SEND
-#define OP_SEND_IMM IBV_WR_SEND_WITH_IMM
-#define OP_RDMA_READ IBV_WR_RDMA_READ
-#define OP_COMP_AND_SWAP IBV_WR_ATOMIC_CMP_AND_SWP
-#define OP_FETCH_AND_ADD IBV_WR_ATOMIC_FETCH_AND_ADD
-#define OP_RECEIVE 7 /* internal op */
-#define OP_RECEIVE_IMM 8 /* rdma write with immed, internel op */
-#define OP_RECEIVE_MSG_IMM 9 /* recv msg with immed, internel op */
-#define OP_BIND_MW 10 /* internal op */
-#define OP_SEND_UD 11 /* internal op */
-#define OP_RECV_UD 12 /* internal op */
-#define OP_INVALID 0xff
-
-/* Definitions to map QP state */
-#define IB_QP_STATE_RESET IBV_QPS_RESET
-#define IB_QP_STATE_INIT IBV_QPS_INIT
-#define IB_QP_STATE_RTR IBV_QPS_RTR
-#define IB_QP_STATE_RTS IBV_QPS_RTS
-#define IB_QP_STATE_SQD IBV_QPS_SQD
-#define IB_QP_STATE_SQE IBV_QPS_SQE
-#define IB_QP_STATE_ERROR IBV_QPS_ERR
-
-/* Definitions for ibverbs/mthca return codes, should be defined in verbs.h */
-/* some are errno and some are -n values */
-
-/**
- * ibv_get_device_name - Return kernel device name
- * ibv_get_device_guid - Return device's node GUID
- * ibv_open_device - Return ibv_context or NULL
- * ibv_close_device - Return 0, (errno?)
- * ibv_get_async_event - Return 0, -1
- * ibv_alloc_pd - Return ibv_pd, NULL
- * ibv_dealloc_pd - Return 0, errno
- * ibv_reg_mr - Return ibv_mr, NULL
- * ibv_dereg_mr - Return 0, errno
- * ibv_create_cq - Return ibv_cq, NULL
- * ibv_destroy_cq - Return 0, errno
- * ibv_get_cq_event - Return 0 & ibv_cq/context, int
- * ibv_poll_cq - Return n & ibv_wc, 0 ok, -1 empty, -2 error
- * ibv_req_notify_cq - Return 0 (void?)
- * ibv_create_qp - Return ibv_qp, NULL
- * ibv_modify_qp - Return 0, errno
- * ibv_destroy_qp - Return 0, errno
- * ibv_post_send - Return 0, -1 & bad_wr
- * ibv_post_recv - Return 0, -1 & bad_wr
- */
-
-/* async handler for DTO, CQ, QP, and unafiliated */
-typedef void (*ib_async_dto_handler_t)(
- IN ib_hca_handle_t ib_hca_handle,
- IN ib_error_record_t *err_code,
- IN void *context);
-
-typedef void (*ib_async_cq_handler_t)(
- IN ib_hca_handle_t ib_hca_handle,
- IN ib_cq_handle_t ib_cq_handle,
- IN ib_error_record_t *err_code,
- IN void *context);
-
-typedef void (*ib_async_qp_handler_t)(
- IN ib_hca_handle_t ib_hca_handle,
- IN ib_qp_handle_t ib_qp_handle,
- IN ib_error_record_t *err_code,
- IN void *context);
-
-typedef void (*ib_async_handler_t)(
- IN ib_hca_handle_t ib_hca_handle,
- IN ib_error_record_t *err_code,
- IN void *context);
-
-typedef enum
-{
- IB_THREAD_INIT,
- IB_THREAD_RUN,
- IB_THREAD_CANCEL,
- IB_THREAD_EXIT
-
-} ib_thread_state_t;
-
/* ib_hca_transport_t, specific to this implementation */
typedef struct _ib_hca_transport
{
+ struct dapl_llist_entry entry;
+ int destroy;
union ibv_gid gid;
struct ibv_device *ib_dev;
+ struct ibv_context *ib_ctx;
ib_cq_handle_t ib_cq_empty;
DAPL_OS_LOCK cq_lock;
int max_inline_send;
@@ -294,6 +95,8 @@ typedef struct _ib_hca_transport
ib_async_cq_handler_t async_cq_error;
ib_async_dto_handler_t async_cq;
ib_async_qp_handler_t async_qp_error;
+ int rd_atom_in;
+ int rd_atom_out;
uint16_t lid;
uint8_t ack_timer;
uint8_t ack_retry;
@@ -303,79 +106,44 @@ typedef struct _ib_hca_transport
uint8_t hop_limit;
uint8_t tclass;
uint8_t mtu;
- DAT_NAMED_ATTR named_attr;
+ DAPL_SOCKET scm[2];
+ uint8_t sl;
+ uint16_t pkey;
+ int pkey_idx;
+ uint64_t guid;
+ char guid_str[32];
+ ib_named_attr_t na;
+#ifdef DAT_IB_COLLECTIVES
+ /* Collective member device and address information */
+ ib_thread_state_t coll_thread_state;
+ DAPL_OS_THREAD coll_thread;
+ DAPL_OS_LOCK coll_lock;
+ DAPL_OS_WAIT_OBJECT coll_event;
+ struct dapl_llist_entry *grp_list;
+ user_progress_func_t *user_func;
+ int l_sock;
+ struct sockaddr_in m_addr;
+ void *m_ctx;
+ void *m_info;
+ void *f_info;
+ int m_size;
+ int f_size;
+ int t_id;
+#endif
} ib_hca_transport_t;
-/* provider specfic fields for shared memory support */
-typedef uint32_t ib_shm_transport_t;
-
/* prototypes */
-int32_t dapls_ib_init (void);
-int32_t dapls_ib_release (void);
void cr_thread(void *arg);
int dapli_cq_thread_init(struct dapl_hca *hca_ptr);
void dapli_cq_thread_destroy(struct dapl_hca *hca_ptr);
-
-
-DAT_RETURN
-dapls_modify_qp_state ( IN ib_qp_handle_t qp_handle,
- IN ib_qp_state_t qp_state,
- IN struct ib_cm_handle *cm_ptr );
-
-/* inline functions */
-STATIC _INLINE_ IB_HCA_NAME dapl_ib_convert_name (IN char *name)
-{
- /* use ascii; name of local device */
- return dapl_os_strdup(name);
-}
-
-STATIC _INLINE_ void dapl_ib_release_name (IN IB_HCA_NAME name)
-{
- return;
-}
-
-/*
- * Convert errno to DAT_RETURN values
- */
-STATIC _INLINE_ DAT_RETURN
-dapl_convert_errno( IN int err, IN const char *str )
-{
- if (!err) return DAT_SUCCESS;
-
-#if DAPL_DBG
- if ((err != EAGAIN) && (err != ETIMEDOUT))
- dapl_dbg_log (DAPL_DBG_TYPE_ERR," %s %s\n", str, strerror(err));
-#endif
-
- switch( err )
- {
- case EOVERFLOW : return DAT_LENGTH_ERROR;
- case EACCES : return DAT_PRIVILEGES_VIOLATION;
- case EPERM : return DAT_PROTECTION_VIOLATION;
- case EINVAL : return DAT_INVALID_HANDLE;
- case EISCONN : return DAT_INVALID_STATE | DAT_INVALID_STATE_EP_CONNECTED;
- case ECONNREFUSED : return DAT_INVALID_STATE | DAT_INVALID_STATE_EP_NOTREADY;
- case ETIMEDOUT : return DAT_TIMEOUT_EXPIRED;
- case ENETUNREACH: return DAT_INVALID_ADDRESS | DAT_INVALID_ADDRESS_UNREACHABLE;
- case EADDRINUSE : return DAT_CONN_QUAL_IN_USE;
- case EALREADY : return DAT_INVALID_STATE | DAT_INVALID_STATE_EP_ACTCONNPENDING;
- case ENOMEM : return DAT_INSUFFICIENT_RESOURCES;
- case EAGAIN : return DAT_QUEUE_EMPTY;
- case EINTR : return DAT_INTERRUPTED_CALL;
- case EAFNOSUPPORT : return DAT_INVALID_ADDRESS | DAT_INVALID_ADDRESS_MALFORMED;
- case EFAULT :
- default : return DAT_INTERNAL_ERROR;
- }
- }
-
-/*
- * Definitions required only for DAT 1.1 builds
- */
-#define IB_ACCESS_LOCAL_READ IBV_ACCESS_LOCAL_WRITE
-#define IB_ACCESS_LOCAL_WRITE IBV_ACCESS_LOCAL_WRITE
-#define IB_ACCESS_REMOTE_READ IBV_ACCESS_REMOTE_READ
-#define IB_ACCESS_REMOTE_WRITE IBV_ACCESS_REMOTE_WRITE
-#define IB_ACCESS_MW_BIND IBV_ACCESS_LOCAL_WRITE
-#define IB_ACCESS_ATOMIC
+void dapli_async_event_cb(struct _ib_hca_transport *tp);
+void dapli_cq_event_cb(struct _ib_hca_transport *tp);
+void dapls_cm_acquire(dp_ib_cm_handle_t cm_ptr);
+void dapls_cm_release(dp_ib_cm_handle_t cm_ptr);
+void dapls_cm_free(dp_ib_cm_handle_t cm_ptr);
+
+#ifdef DAPL_COUNTERS
+void dapls_print_cm_list(IN DAPL_IA *ia_ptr);
+#endif
#endif /* _DAPL_IB_UTIL_H_ */
diff --git a/dapl/openib_scm/device.c b/dapl/openib_scm/device.c
new file mode 100644
index 0000000..77c64e3
--- /dev/null
+++ b/dapl/openib_scm/device.c
@@ -0,0 +1,787 @@
+/*
+ * This Software is licensed under one of the following licenses:
+ *
+ * 1) under the terms of the "Common Public License 1.0" a copy of which is
+ * available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/cpl.php.
+ *
+ * 2) under the terms of the "The BSD License" a copy of which is
+ * available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/bsd-license.php.
+ *
+ * 3) under the terms of the "GNU General Public License (GPL) Version 2" a
+ * copy of which is available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/gpl-license.php.
+ *
+ * Licensee has the right to choose one of the above licenses.
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice and one of the license notices.
+ *
+ * Redistributions in binary form must reproduce both the above copyright
+ * notice, one of the license notices in the documentation
+ * and/or other materials provided with the distribution.
+ */
+
+/***************************************************************************
+ *
+ * Module: uDAPL
+ *
+ * Filename: dapl_ib_util.c
+ *
+ * Author: Arlin Davis
+ *
+ * Created: 3/10/2005
+ *
+ * Description:
+ *
+ * The uDAPL openib provider - init, open, close, utilities
+ *
+ ****************************************************************************
+ * Source Control System Information
+ *
+ * $Id: $
+ *
+ * Copyright (c) 2005 Intel Corporation. All rights reserved.
+ *
+ **************************************************************************/
+#ifdef RCSID
+static const char rcsid[] = "$Id: $";
+#endif
+
+#include "openib_osd.h"
+#include "dapl.h"
+#include "dapl_adapter_util.h"
+#include "dapl_ib_util.h"
+#include "dapl_osd.h"
+
+#include <stdlib.h>
+
+#ifdef DAT_IB_COLLECTIVES
+#include <collectives/ib_collectives.h>
+#endif
+
+ib_thread_state_t g_ib_thread_state = 0;
+DAPL_OS_THREAD g_ib_thread;
+DAPL_OS_LOCK g_hca_lock;
+struct dapl_llist_entry *g_hca_list;
+
+void dapli_thread(void *arg);
+DAT_RETURN dapli_ib_thread_init(void);
+void dapli_ib_thread_destroy(void);
+
+#if defined(_WIN64) || defined(_WIN32)
+#include <rdma\winverbs.h>
+
+static COMP_SET ufds;
+
+static int dapls_os_init(void)
+{
+ return CompSetInit(&ufds);
+}
+
+static void dapls_os_release(void)
+{
+ CompSetCleanup(&ufds);
+}
+
+static int dapls_config_verbs(struct ibv_context *verbs)
+{
+ verbs->channel.Milliseconds = 0;
+ return 0;
+}
+
+static int dapls_config_comp_channel(struct ibv_comp_channel *channel)
+{
+ channel->comp_channel.Milliseconds = 0;
+ return 0;
+}
+
+static int dapls_thread_signal(void)
+{
+ CompSetCancel(&ufds);
+ return 0;
+}
+#else // _WIN64 || WIN32
+int g_ib_pipe[2];
+
+static int dapls_os_init(void)
+{
+ /* create pipe for waking up work thread */
+ return pipe(g_ib_pipe);
+}
+
+static void dapls_os_release(void)
+{
+ /* close pipe? */
+}
+
+static int dapls_config_fd(int fd)
+{
+ int opts;
+
+ opts = fcntl(fd, F_GETFL);
+ if (opts < 0 || fcntl(fd, F_SETFL, opts | O_NONBLOCK) < 0) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " dapls_config_fd: fcntl on fd %d ERR %d %s\n",
+ fd, opts, strerror(errno));
+ return errno;
+ }
+
+ return 0;
+}
+
+static int dapls_config_verbs(struct ibv_context *verbs)
+{
+ return dapls_config_fd(verbs->async_fd);
+}
+
+static int dapls_config_comp_channel(struct ibv_comp_channel *channel)
+{
+ return dapls_config_fd(channel->fd);
+}
+
+static int dapls_thread_signal(void)
+{
+ return write(g_ib_pipe[1], "w", sizeof "w");
+}
+#endif
+
+
+static int32_t create_cr_pipe(IN DAPL_HCA * hca_ptr)
+{
+ DAPL_SOCKET listen_socket;
+ struct sockaddr_in addr;
+ socklen_t addrlen = sizeof(addr);
+ int ret;
+
+ listen_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
+ if (listen_socket == DAPL_INVALID_SOCKET)
+ return 1;
+
+ memset(&addr, 0, sizeof addr);
+ addr.sin_family = AF_INET;
+ addr.sin_addr.s_addr = htonl(0x7f000001);
+ ret = bind(listen_socket, (struct sockaddr *)&addr, sizeof addr);
+ if (ret)
+ goto err1;
+
+ ret = getsockname(listen_socket, (struct sockaddr *)&addr, &addrlen);
+ if (ret)
+ goto err1;
+
+ ret = listen(listen_socket, 0);
+ if (ret)
+ goto err1;
+
+ hca_ptr->ib_trans.scm[1] = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
+ if (hca_ptr->ib_trans.scm[1] == DAPL_INVALID_SOCKET)
+ goto err1;
+
+ ret = connect(hca_ptr->ib_trans.scm[1],
+ (struct sockaddr *)&addr, sizeof(addr));
+ if (ret)
+ goto err2;
+
+ hca_ptr->ib_trans.scm[0] = accept(listen_socket, NULL, NULL);
+ if (hca_ptr->ib_trans.scm[0] == DAPL_INVALID_SOCKET)
+ goto err2;
+
+ closesocket(listen_socket);
+ return 0;
+
+ err2:
+ closesocket(hca_ptr->ib_trans.scm[1]);
+ err1:
+ closesocket(listen_socket);
+ return 1;
+}
+
+static void destroy_cr_pipe(IN DAPL_HCA * hca_ptr)
+{
+ closesocket(hca_ptr->ib_trans.scm[0]);
+ closesocket(hca_ptr->ib_trans.scm[1]);
+}
+
+
+/*
+ * dapls_ib_init, dapls_ib_release
+ *
+ * Initialize Verb related items for device open
+ *
+ * Input:
+ * none
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * 0 success, -1 error
+ *
+ */
+DAT_UINT32 g_parent = 0;
+int32_t dapls_ib_init(void)
+{
+ g_parent = dapl_os_getpid();
+
+ /* initialize hca_list */
+ dapl_os_lock_init(&g_hca_lock);
+ dapl_llist_init_head(&g_hca_list);
+
+ if (dapls_os_init())
+ return 1;
+
+ return 0;
+}
+
+int32_t dapls_ib_release(void)
+{
+ /* only parent init will cleanup */
+ if (dapl_os_getpid() != g_parent)
+ return 0;
+
+ dapli_ib_thread_destroy();
+ dapls_os_release();
+ return 0;
+}
+
+/*
+ * dapls_ib_open_hca
+ *
+ * Open HCA
+ *
+ * Input:
+ * *hca_name pointer to provider device name
+ * *ib_hca_handle_p pointer to provide HCA handle
+ *
+ * Output:
+ * none
+ *
+ * Return:
+ * DAT_SUCCESS
+ * dapl_convert_errno
+ *
+ */
+DAT_RETURN dapls_ib_open_hca(IN IB_HCA_NAME hca_name, IN DAPL_HCA * hca_ptr)
+{
+ struct ibv_device **dev_list;
+ struct ibv_port_attr port_attr;
+ int i;
+ DAT_RETURN dat_status;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " open_hca: %s - %p\n", hca_name, hca_ptr);
+
+ /* get the IP address of the device */
+ dat_status = getlocalipaddr((char *)&hca_ptr->hca_address,
+ sizeof(DAT_SOCK_ADDR6));
+ if (dat_status != DAT_SUCCESS)
+ return dat_status;
+
+#ifdef DAPL_DBG
+ /* DBG: unused port, set process id, lower 16 bits of pid */
+ ((struct sockaddr_in *)&hca_ptr->hca_address)->sin_port =
+ htons((uint16_t)dapl_os_getpid());
+#endif
+ /* Get list of all IB devices, find match, open */
+ dev_list = ibv_get_device_list(NULL);
+ if (!dev_list) {
+ dapl_dbg_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: ibv_get_device_list() failed\n",
+ hca_name);
+ return DAT_INTERNAL_ERROR;
+ }
+
+ for (i = 0; dev_list[i]; ++i) {
+ hca_ptr->ib_trans.ib_dev = dev_list[i];
+ if (!strcmp(ibv_get_device_name(hca_ptr->ib_trans.ib_dev),
+ hca_name))
+ goto found;
+ }
+
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: device %s not found\n", hca_name);
+ goto err;
+
+found:
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " open_hca: Found dev %s %016llx\n",
+ ibv_get_device_name(hca_ptr->ib_trans.ib_dev),
+ (unsigned long long)
+ ntohll(ibv_get_device_guid(hca_ptr->ib_trans.ib_dev)));
+
+ hca_ptr->ib_hca_handle = ibv_open_device(hca_ptr->ib_trans.ib_dev);
+ if (!hca_ptr->ib_hca_handle) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: dev open failed for %s, err=%s\n",
+ ibv_get_device_name(hca_ptr->ib_trans.ib_dev),
+ strerror(errno));
+ goto err;
+ }
+ hca_ptr->ib_trans.ib_ctx = hca_ptr->ib_hca_handle;
+ dapls_config_verbs(hca_ptr->ib_hca_handle);
+
+ /* get lid for this hca-port, network order */
+ if (ibv_query_port(hca_ptr->ib_hca_handle,
+ (uint8_t) hca_ptr->port_num, &port_attr)) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: get lid ERR for %s port=%d, err=%s\n",
+ ibv_get_device_name(hca_ptr->ib_trans.ib_dev),
+ hca_ptr->port_num,
+ strerror(errno));
+ goto err;
+ } else {
+ hca_ptr->ib_trans.lid = htons(port_attr.lid);
+ }
+
+ /* get gid for this hca-port, network order */
+ if (ibv_query_gid(hca_ptr->ib_hca_handle,
+ (uint8_t) hca_ptr->port_num,
+ 0, &hca_ptr->ib_trans.gid)) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: query GID ERR for %s, err=%s\n",
+ ibv_get_device_name(hca_ptr->ib_trans.ib_dev),
+ strerror(errno));
+ goto err;
+ }
+
+ /* set RC tunables via enviroment or default */
+ hca_ptr->ib_trans.max_inline_send =
+ dapl_os_get_env_val("DAPL_MAX_INLINE", INLINE_SEND_DEFAULT);
+ hca_ptr->ib_trans.ack_retry =
+ dapl_os_get_env_val("DAPL_ACK_RETRY", SCM_ACK_RETRY);
+ hca_ptr->ib_trans.ack_timer =
+ dapl_os_get_env_val("DAPL_ACK_TIMER", SCM_ACK_TIMER);
+ hca_ptr->ib_trans.rnr_retry =
+ dapl_os_get_env_val("DAPL_RNR_RETRY", SCM_RNR_RETRY);
+ hca_ptr->ib_trans.rnr_timer =
+ dapl_os_get_env_val("DAPL_RNR_TIMER", SCM_RNR_TIMER);
+ hca_ptr->ib_trans.global =
+ dapl_os_get_env_val("DAPL_GLOBAL_ROUTING", SCM_GLOBAL);
+ hca_ptr->ib_trans.hop_limit =
+ dapl_os_get_env_val("DAPL_HOP_LIMIT", SCM_HOP_LIMIT);
+ hca_ptr->ib_trans.tclass =
+ dapl_os_get_env_val("DAPL_TCLASS", SCM_TCLASS);
+ hca_ptr->ib_trans.mtu =
+ dapl_ib_mtu(dapl_os_get_env_val("DAPL_IB_MTU", SCM_IB_MTU));
+
+
+ /* EVD events without direct CQ channels, CNO support */
+ hca_ptr->ib_trans.ib_cq =
+ ibv_create_comp_channel(hca_ptr->ib_hca_handle);
+ if (hca_ptr->ib_trans.ib_cq == NULL) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: ibv_create_comp_channel ERR %s\n",
+ strerror(errno));
+ goto bail;
+ }
+ dapls_config_comp_channel(hca_ptr->ib_trans.ib_cq);
+
+ dat_status = dapli_ib_thread_init();
+ if (dat_status != DAT_SUCCESS) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: failed to init cq thread lock\n");
+ goto bail;
+ }
+ /*
+ * Put new hca_transport on list for async and CQ event processing
+ * Wakeup work thread to add to polling list
+ */
+ dapl_llist_init_entry((DAPL_LLIST_ENTRY *)&hca_ptr->ib_trans.entry);
+ dapl_os_lock(&g_hca_lock);
+ dapl_llist_add_tail(&g_hca_list,
+ (DAPL_LLIST_ENTRY *) &hca_ptr->ib_trans.entry,
+ &hca_ptr->ib_trans.entry);
+ if (dapls_thread_signal() == -1)
+ dapl_log(DAPL_DBG_TYPE_UTIL,
+ " open_hca: thread wakeup error = %s\n",
+ strerror(errno));
+ dapl_os_unlock(&g_hca_lock);
+
+ /* initialize cr_list lock */
+ dat_status = dapl_os_lock_init(&hca_ptr->ib_trans.lock);
+ if (dat_status != DAT_SUCCESS) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: failed to init cr_list lock\n");
+ goto bail;
+ }
+
+ /* initialize CM list for listens on this HCA */
+ dapl_llist_init_head(&hca_ptr->ib_trans.list);
+
+ /* initialize pipe, user level wakeup on select */
+ if (create_cr_pipe(hca_ptr)) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: failed to init cr pipe - %s\n",
+ strerror(errno));
+ goto bail;
+ }
+
+ /* create thread to process inbound connect request */
+ hca_ptr->ib_trans.cr_state = IB_THREAD_INIT;
+ dat_status = dapl_os_thread_create(cr_thread,
+ (void *)hca_ptr,
+ &hca_ptr->ib_trans.thread);
+ if (dat_status != DAT_SUCCESS) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: failed to create thread\n");
+ goto bail;
+ }
+
+ /* wait for thread */
+ while (hca_ptr->ib_trans.cr_state != IB_THREAD_RUN) {
+ dapl_os_sleep_usec(1000);
+ }
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " open_hca: devname %s, port %d, hostname_IP %s\n",
+ ibv_get_device_name(hca_ptr->ib_trans.ib_dev),
+ hca_ptr->port_num, inet_ntoa(((struct sockaddr_in *)
+ &hca_ptr->hca_address)->
+ sin_addr));
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " open_hca: LID 0x%x GID Subnet 0x" F64x " ID 0x" F64x
+ "\n", ntohs(hca_ptr->ib_trans.lid), (unsigned long long)
+ htonll(hca_ptr->ib_trans.gid.global.subnet_prefix),
+ (unsigned long long)htonll(hca_ptr->ib_trans.gid.global.
+ interface_id));
+
+#ifdef DAT_IB_COLLECTIVES
+ if (dapli_create_collective_service(hca_ptr))
+ goto bail;
+#endif
+
+ ibv_free_device_list(dev_list);
+ return dat_status;
+
+ bail:
+ ibv_close_device(hca_ptr->ib_hca_handle);
+ hca_ptr->ib_hca_handle = IB_INVALID_HANDLE;
+ err:
+ ibv_free_device_list(dev_list);
+ return DAT_INTERNAL_ERROR;
+}
+
+/*
+ * dapls_ib_close_hca
+ *
+ * Open HCA
+ *
+ * Input:
+ * DAPL_HCA provide CA handle
+ *
+ * Output:
+ * none
+ *
+ * Return:
+ * DAT_SUCCESS
+ * dapl_convert_errno
+ *
+ */
+DAT_RETURN dapls_ib_close_hca(IN DAPL_HCA * hca_ptr)
+{
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " close_hca: %p\n", hca_ptr);
+
+#ifdef DAT_IB_COLLECTIVES
+ dapli_free_collective_service(hca_ptr);
+#endif
+
+ dapl_os_lock(&g_hca_lock);
+ if (g_ib_thread_state != IB_THREAD_RUN) {
+ dapl_os_unlock(&g_hca_lock);
+ goto out;
+ }
+ dapl_os_unlock(&g_hca_lock);
+
+ /* destroy cr_thread and lock */
+ hca_ptr->ib_trans.cr_state = IB_THREAD_CANCEL;
+ send(hca_ptr->ib_trans.scm[1], "w", sizeof "w", 0);
+ while (hca_ptr->ib_trans.cr_state != IB_THREAD_EXIT) {
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " close_hca: waiting for cr_thread\n");
+ send(hca_ptr->ib_trans.scm[1], "w", sizeof "w", 0);
+ dapl_os_sleep_usec(1000);
+ }
+ dapl_os_lock_destroy(&hca_ptr->ib_trans.lock);
+ destroy_cr_pipe(hca_ptr); /* no longer need pipe */
+
+ /*
+ * Remove hca from async event processing list
+ * Wakeup work thread to remove from polling list
+ */
+ hca_ptr->ib_trans.destroy = 1;
+ if (dapls_thread_signal() == -1)
+ dapl_log(DAPL_DBG_TYPE_UTIL,
+ " destroy: thread wakeup error = %s\n",
+ strerror(errno));
+
+ /* wait for thread to remove HCA references */
+ while (hca_ptr->ib_trans.destroy != 2) {
+ if (dapls_thread_signal() == -1)
+ dapl_log(DAPL_DBG_TYPE_UTIL,
+ " destroy: thread wakeup error = %s\n",
+ strerror(errno));
+ dapl_os_sleep_usec(1000);
+ }
+
+out:
+ if (hca_ptr->ib_trans.ib_cq)
+ ibv_destroy_comp_channel(hca_ptr->ib_trans.ib_cq);
+
+ if (hca_ptr->ib_trans.ib_cq_empty) {
+ struct ibv_comp_channel *channel;
+ channel = hca_ptr->ib_trans.ib_cq_empty->channel;
+ ibv_destroy_cq(hca_ptr->ib_trans.ib_cq_empty);
+ ibv_destroy_comp_channel(channel);
+ }
+
+ if (hca_ptr->ib_hca_handle != IB_INVALID_HANDLE) {
+ if (ibv_close_device(hca_ptr->ib_hca_handle))
+ return (dapl_convert_errno(errno, "ib_close_device"));
+ hca_ptr->ib_hca_handle = IB_INVALID_HANDLE;
+ }
+ return (DAT_SUCCESS);
+}
+
+DAT_RETURN dapli_ib_thread_init(void)
+{
+ DAT_RETURN dat_status;
+
+ dapl_os_lock(&g_hca_lock);
+ if (g_ib_thread_state != IB_THREAD_INIT) {
+ dapl_os_unlock(&g_hca_lock);
+ return DAT_SUCCESS;
+ }
+
+ g_ib_thread_state = IB_THREAD_CREATE;
+ dapl_os_unlock(&g_hca_lock);
+
+ /* create thread to process inbound connect request */
+ dat_status = dapl_os_thread_create(dapli_thread, NULL, &g_ib_thread);
+ if (dat_status != DAT_SUCCESS)
+ return (dapl_convert_errno(errno,
+ "create_thread ERR:"
+ " check resource limits"));
+
+ /* wait for thread to start */
+ dapl_os_lock(&g_hca_lock);
+ while (g_ib_thread_state != IB_THREAD_RUN) {
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " ib_thread_init: waiting for ib_thread\n");
+ dapl_os_unlock(&g_hca_lock);
+ dapl_os_sleep_usec(1000);
+ dapl_os_lock(&g_hca_lock);
+ }
+ dapl_os_unlock(&g_hca_lock);
+
+ return DAT_SUCCESS;
+}
+
+void dapli_ib_thread_destroy(void)
+{
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " ib_thread_destroy(%d)\n", dapl_os_getpid());
+ /*
+ * wait for async thread to terminate.
+ * pthread_join would be the correct method
+ * but some applications have some issues
+ */
+
+ /* destroy ib_thread, wait for termination, if not already */
+ dapl_os_lock(&g_hca_lock);
+ if (g_ib_thread_state != IB_THREAD_RUN)
+ goto bail;
+
+ g_ib_thread_state = IB_THREAD_CANCEL;
+ while (g_ib_thread_state != IB_THREAD_EXIT) {
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " ib_thread_destroy: waiting for ib_thread\n");
+ if (dapls_thread_signal() == -1)
+ dapl_log(DAPL_DBG_TYPE_UTIL,
+ " destroy: thread wakeup error = %s\n",
+ strerror(errno));
+ dapl_os_unlock(&g_hca_lock);
+ dapl_os_sleep_usec(2000);
+ dapl_os_lock(&g_hca_lock);
+ }
+bail:
+ dapl_os_unlock(&g_hca_lock);
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " ib_thread_destroy(%d) exit\n", dapl_os_getpid());
+}
+
+
+#if defined(_WIN64) || defined(_WIN32)
+/* work thread for uAT, uCM, CQ, and async events */
+void dapli_thread(void *arg)
+{
+ struct _ib_hca_transport *hca;
+ struct _ib_hca_transport *uhca[8];
+ int ret, idx, cnt;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " ib_thread(%d,0x%x): ENTER: \n",
+ dapl_os_getpid(), g_ib_thread);
+
+ dapl_os_lock(&g_hca_lock);
+ for (g_ib_thread_state = IB_THREAD_RUN;
+ g_ib_thread_state == IB_THREAD_RUN;
+ dapl_os_lock(&g_hca_lock)) {
+
+ CompSetZero(&ufds);
+ idx = 0;
+ hca = dapl_llist_is_empty(&g_hca_list) ? NULL :
+ dapl_llist_peek_head(&g_hca_list);
+
+ while (hca) {
+ CompSetAdd(&hca->ib_ctx->channel, &ufds);
+ CompSetAdd(&hca->ib_cq->comp_channel, &ufds);
+ uhca[idx++] = hca;
+ hca = dapl_llist_next_entry(&g_hca_list,
+ (DAPL_LLIST_ENTRY *)
+ &hca->entry);
+ }
+ cnt = idx;
+
+ dapl_os_unlock(&g_hca_lock);
+ ret = CompSetPoll(&ufds, INFINITE);
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " ib_thread(%d) poll_event 0x%x\n",
+ dapl_os_getpid(), ret);
+
+
+ /* check and process ASYNC events, per device */
+ for (idx = 0; idx < cnt; idx++) {
+ if (uhca[idx]->destroy == 1) {
+ dapl_os_lock(&g_hca_lock);
+ dapl_llist_remove_entry(&g_hca_list,
+ (DAPL_LLIST_ENTRY *)
+ &uhca[idx]->entry);
+ dapl_os_unlock(&g_hca_lock);
+ uhca[idx]->destroy = 2;
+ } else {
+ dapli_cq_event_cb(uhca[idx]);
+ dapli_async_event_cb(uhca[idx]);
+ }
+ }
+ }
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " ib_thread(%d) EXIT\n",
+ dapl_os_getpid());
+ g_ib_thread_state = IB_THREAD_EXIT;
+ dapl_os_unlock(&g_hca_lock);
+}
+#else // _WIN64 || WIN32
+
+/* work thread for uAT, uCM, CQ, and async events */
+void dapli_thread(void *arg)
+{
+ struct pollfd ufds[__FD_SETSIZE];
+ struct _ib_hca_transport *uhca[__FD_SETSIZE] = { NULL };
+ struct _ib_hca_transport *hca;
+ int ret, idx, fds;
+ char rbuf[2];
+
+ dapl_dbg_log(DAPL_DBG_TYPE_THREAD,
+ " ib_thread(%d,0x%x): ENTER: pipe %d \n",
+ dapl_os_getpid(), g_ib_thread, g_ib_pipe[0]);
+
+ /* Poll across pipe, CM, AT never changes */
+ dapl_os_lock(&g_hca_lock);
+ g_ib_thread_state = IB_THREAD_RUN;
+
+ ufds[0].fd = g_ib_pipe[0]; /* pipe */
+ ufds[0].events = POLLIN;
+
+ while (g_ib_thread_state == IB_THREAD_RUN) {
+
+ /* build ufds after pipe and uCMA events */
+ ufds[0].revents = 0;
+ idx = 0;
+
+ /* Walk HCA list and setup async and CQ events */
+ if (!dapl_llist_is_empty(&g_hca_list))
+ hca = dapl_llist_peek_head(&g_hca_list);
+ else
+ hca = NULL;
+
+ while (hca) {
+
+ /* uASYNC events */
+ ufds[++idx].fd = hca->ib_ctx->async_fd;
+ ufds[idx].events = POLLIN;
+ ufds[idx].revents = 0;
+ uhca[idx] = hca;
+
+ /* CQ events are non-direct with CNO's */
+ ufds[++idx].fd = hca->ib_cq->fd;
+ ufds[idx].events = POLLIN;
+ ufds[idx].revents = 0;
+ uhca[idx] = hca;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_THREAD,
+ " ib_thread(%d) poll_fd: hca[%d]=%p,"
+ " async=%d pipe=%d \n",
+ dapl_os_getpid(), hca, ufds[idx - 1].fd,
+ ufds[0].fd);
+
+ hca = dapl_llist_next_entry(&g_hca_list,
+ (DAPL_LLIST_ENTRY *)
+ &hca->entry);
+ }
+
+ /* unlock, and setup poll */
+ fds = idx + 1;
+ dapl_os_unlock(&g_hca_lock);
+ ret = poll(ufds, fds, -1);
+ if (ret <= 0) {
+ dapl_dbg_log(DAPL_DBG_TYPE_THREAD,
+ " ib_thread(%d): ERR %s poll\n",
+ dapl_os_getpid(), strerror(errno));
+ dapl_os_lock(&g_hca_lock);
+ continue;
+ }
+
+ dapl_dbg_log(DAPL_DBG_TYPE_THREAD,
+ " ib_thread(%d) poll_event: "
+ " async=0x%x pipe=0x%x \n",
+ dapl_os_getpid(), ufds[idx].revents,
+ ufds[0].revents);
+
+ /* check and process CQ and ASYNC events, per device */
+ for (idx = 1; idx < fds; idx++) {
+ if (ufds[idx].revents == POLLIN) {
+ dapli_cq_event_cb(uhca[idx]);
+ dapli_async_event_cb(uhca[idx]);
+ }
+ }
+
+ /* check and process user events, PIPE */
+ if (ufds[0].revents == POLLIN) {
+ if (read(g_ib_pipe[0], rbuf, 2) == -1)
+ dapl_log(DAPL_DBG_TYPE_THREAD,
+ " cr_thread: pipe rd err= %s\n",
+ strerror(errno));
+
+ /* cleanup any device on list marked for destroy */
+ for (idx = 1; idx < fds; idx++) {
+ if (uhca[idx] && uhca[idx]->destroy == 1) {
+ dapl_os_lock(&g_hca_lock);
+ dapl_llist_remove_entry(
+ &g_hca_list,
+ (DAPL_LLIST_ENTRY*)
+ &uhca[idx]->entry);
+ dapl_os_unlock(&g_hca_lock);
+ uhca[idx]->destroy = 2;
+ }
+ }
+ }
+ dapl_os_lock(&g_hca_lock);
+ }
+
+ dapl_dbg_log(DAPL_DBG_TYPE_THREAD, " ib_thread(%d) EXIT\n",
+ dapl_os_getpid());
+ g_ib_thread_state = IB_THREAD_EXIT;
+ dapl_os_unlock(&g_hca_lock);
+}
+#endif
diff --git a/dapl/openib_scm/linux/openib_osd.h b/dapl/openib_scm/linux/openib_osd.h
index 235a82e..a015188 100644
--- a/dapl/openib_scm/linux/openib_osd.h
+++ b/dapl/openib_scm/linux/openib_osd.h
@@ -14,7 +14,7 @@
#define DAPL_SOCKET int
#define DAPL_INVALID_SOCKET -1
-#define DAPL_FD_SETSIZE 8192
+#define DAPL_FD_SETSIZE 16384
#define closesocket close
diff --git a/dapl/openib_ucm/cm.c b/dapl/openib_ucm/cm.c
new file mode 100644
index 0000000..d6f923e
--- /dev/null
+++ b/dapl/openib_ucm/cm.c
@@ -0,0 +1,2382 @@
+/*
+ * Copyright (c) 2009 Intel Corporation. All rights reserved.
+ *
+ * This Software is licensed under one of the following licenses:
+ *
+ * 1) under the terms of the "Common Public License 1.0" a copy of which is
+ * available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/cpl.php.
+ *
+ * 2) under the terms of the "The BSD License" a copy of which is
+ * available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/bsd-license.php.
+ *
+ * 3) under the terms of the "GNU General Public License (GPL) Version 2" a
+ * copy of which is available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/gpl-license.php.
+ *
+ * Licensee has the right to choose one of the above licenses.
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice and one of the license notices.
+ *
+ * Redistributions in binary form must reproduce both the above copyright
+ * notice, one of the license notices in the documentation
+ * and/or other materials provided with the distribution.
+ */
+
+#include "dapl.h"
+#include "dapl_adapter_util.h"
+#include "dapl_evd_util.h"
+#include "dapl_cr_util.h"
+#include "dapl_name_service.h"
+#include "dapl_ib_util.h"
+#include "dapl_ep_util.h"
+#include "dapl_sp_util.h"
+#include "dapl_osd.h"
+
+
+#if defined(_WIN32)
+#include <rdma\winverbs.h>
+#else // _WIN32
+enum DAPL_FD_EVENTS {
+ DAPL_FD_READ = POLLIN,
+ DAPL_FD_WRITE = POLLOUT,
+ DAPL_FD_ERROR = POLLERR
+};
+
+struct dapl_fd_set {
+ int index;
+ struct pollfd set[DAPL_FD_SETSIZE];
+};
+
+static struct dapl_fd_set *dapl_alloc_fd_set(void)
+{
+ return dapl_os_alloc(sizeof(struct dapl_fd_set));
+}
+
+static void dapl_fd_zero(struct dapl_fd_set *set)
+{
+ set->index = 0;
+}
+
+static int dapl_fd_set(DAPL_SOCKET s, struct dapl_fd_set *set,
+ enum DAPL_FD_EVENTS event)
+{
+ if (set->index == DAPL_FD_SETSIZE - 1) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ "SCM ERR: cm_thread exceeded FD_SETSIZE %d\n",
+ set->index + 1);
+ return -1;
+ }
+
+ set->set[set->index].fd = s;
+ set->set[set->index].revents = 0;
+ set->set[set->index++].events = event;
+ return 0;
+}
+
+static enum DAPL_FD_EVENTS dapl_poll(DAPL_SOCKET s, enum DAPL_FD_EVENTS event)
+{
+ struct pollfd fds;
+ int ret;
+
+ fds.fd = s;
+ fds.events = event;
+ fds.revents = 0;
+ ret = poll(&fds, 1, 0);
+ dapl_log(DAPL_DBG_TYPE_CM, " dapl_poll: fd=%d ret=%d, evnts=0x%x\n",
+ s, ret, fds.revents);
+ if (ret == 0)
+ return 0;
+ else if (fds.revents & (POLLERR | POLLHUP | POLLNVAL))
+ return DAPL_FD_ERROR;
+ else
+ return fds.revents;
+}
+
+static int dapl_select(struct dapl_fd_set *set, int time_ms)
+{
+ int ret;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_CM, " dapl_select: sleep, fds=%d\n",
+ set->index);
+ ret = poll(set->set, set->index, time_ms);
+ dapl_dbg_log(DAPL_DBG_TYPE_CM, " dapl_select: wakeup, ret=0x%x\n", ret);
+ return ret;
+}
+#endif
+
+/* forward declarations */
+static int ucm_reply(dp_ib_cm_handle_t cm);
+static void ucm_accept(ib_cm_srvc_handle_t cm, ib_cm_msg_t *msg);
+static void ucm_connect_rtu(dp_ib_cm_handle_t cm, ib_cm_msg_t *msg);
+static void ucm_accept_rtu(dp_ib_cm_handle_t cm, ib_cm_msg_t *msg);
+static int ucm_send(ib_hca_transport_t *tp, ib_cm_msg_t *msg, DAT_PVOID p_data, DAT_COUNT p_size);
+static void ucm_disconnect_final(dp_ib_cm_handle_t cm);
+DAT_RETURN dapli_cm_disconnect(dp_ib_cm_handle_t cm);
+DAT_RETURN dapli_cm_connect(DAPL_EP *ep, dp_ib_cm_handle_t cm);
+
+/* Service ids - port space */
+static uint16_t ucm_get_port(ib_hca_transport_t *tp, uint16_t port)
+{
+ int i = 0;
+
+ dapl_os_lock(&tp->plock);
+ /* get specific ID */
+ if (port) {
+ if (tp->sid[port] == 0) {
+ tp->sid[port] = 1;
+ i = port;
+ }
+ goto done;
+ }
+
+ /* get any free ID */
+ for (i = 0xffff; i > 0; i--) {
+ if (tp->sid[i] == 0) {
+ tp->sid[i] = 1;
+ break;
+ }
+ }
+done:
+ dapl_os_unlock(&tp->plock);
+ return i;
+}
+
+static void ucm_free_port(ib_hca_transport_t *tp, uint16_t port)
+{
+ dapl_os_lock(&tp->plock);
+ tp->sid[port] = 0;
+ dapl_os_unlock(&tp->plock);
+}
+
+static void ucm_check_timers(dp_ib_cm_handle_t cm, int *timer)
+{
+ DAPL_OS_TIMEVAL time;
+
+ dapl_os_lock(&cm->lock);
+ dapl_os_get_time(&time);
+ switch (cm->state) {
+ case DCM_REP_PENDING:
+ *timer = cm->hca->ib_trans.cm_timer;
+ /* wait longer each retry */
+ if ((time - cm->timer)/1000 >
+ (cm->hca->ib_trans.rep_time << cm->retries)) {
+ dapl_log(DAPL_DBG_TYPE_CM_WARN,
+ " CM_REQ retry %p %d [lid, port, cqp, iqp]:"
+ " %x %x %x %x -> %x %x %x %x Time(ms) %d > %d\n",
+ cm, cm->retries+1,
+ ntohs(cm->msg.saddr.ib.lid), ntohs(cm->msg.sport),
+ ntohl(cm->msg.sqpn), ntohl(cm->msg.saddr.ib.qpn),
+ ntohs(cm->msg.daddr.ib.lid), ntohs(cm->msg.dport),
+ ntohl(cm->msg.dqpn), ntohl(cm->msg.daddr.ib.qpn),
+ (time - cm->timer)/1000,
+ cm->hca->ib_trans.rep_time << cm->retries);
+ cm->retries++;
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)), DCNT_IA_CM_ERR_REQ_RETRY);
+ dapl_os_unlock(&cm->lock);
+ dapli_cm_connect(cm->ep, cm);
+ return;
+ }
+ break;
+ case DCM_RTU_PENDING:
+ *timer = cm->hca->ib_trans.cm_timer;
+ if ((time - cm->timer)/1000 >
+ (cm->hca->ib_trans.rtu_time << cm->retries)) {
+ dapl_log(DAPL_DBG_TYPE_CM_WARN,
+ " CM_REPLY retry %d %s [lid, port, cqp, iqp]:"
+ " %x %x %x %x -> %x %x %x %x r_pid %x Time(ms) %d > %d\n",
+ cm->retries+1,
+ dapl_cm_op_str(ntohs(cm->msg.op)),
+ ntohs(cm->msg.saddr.ib.lid), ntohs(cm->msg.sport),
+ ntohl(cm->msg.sqpn), ntohl(cm->msg.saddr.ib.qpn),
+ ntohs(cm->msg.daddr.ib.lid), ntohs(cm->msg.dport),
+ ntohl(cm->msg.dqpn), ntohl(cm->msg.daddr.ib.qpn),
+ ntohl(cm->msg.d_id),
+ (time - cm->timer)/1000,
+ cm->hca->ib_trans.rtu_time << cm->retries);
+ cm->retries++;
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)), DCNT_IA_CM_ERR_REP_RETRY);
+ dapl_os_unlock(&cm->lock);
+ ucm_reply(cm);
+ return;
+ }
+ break;
+ case DCM_DISC_PENDING:
+ *timer = cm->hca->ib_trans.cm_timer;
+ /* wait longer each retry */
+ if ((time - cm->timer)/1000 >
+ (cm->hca->ib_trans.rtu_time << cm->retries)) {
+ dapl_log(DAPL_DBG_TYPE_CM_WARN,
+ " CM_DREQ retry %d [lid, port, cqp, iqp]:"
+ " %x %x %x %x -> %x %x %x %x r_pid %x Time(ms) %d > %d\n",
+ cm->retries+1,
+ ntohs(cm->msg.saddr.ib.lid), ntohs(cm->msg.sport),
+ ntohl(cm->msg.sqpn), ntohl(cm->msg.saddr.ib.qpn),
+ ntohs(cm->msg.daddr.ib.lid), ntohs(cm->msg.dport),
+ ntohl(cm->msg.dqpn), ntohl(cm->msg.daddr.ib.qpn),
+ ntohl(cm->msg.d_id),
+ (time - cm->timer)/1000,
+ cm->hca->ib_trans.rtu_time << cm->retries);
+ cm->retries++;
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)), DCNT_IA_CM_ERR_DREQ_RETRY);
+ dapl_os_unlock(&cm->lock);
+ dapli_cm_disconnect(cm);
+ return;
+ }
+ break;
+ default:
+ break;
+ }
+ dapl_os_unlock(&cm->lock);
+}
+
+/* SEND CM MESSAGE PROCESSING */
+
+/* Get CM UD message from send queue, called with s_lock held */
+static ib_cm_msg_t *ucm_get_smsg(ib_hca_transport_t *tp)
+{
+ ib_cm_msg_t *msg = NULL;
+ int ret, polled = 1, hd = tp->s_hd;
+
+ hd++;
+
+ if (hd == tp->qpe)
+ hd = 0;
+retry:
+ if (hd == tp->s_tl) {
+ msg = NULL;
+ if (polled % 1000000 == 0)
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ " ucm_get_smsg: FULLq hd %d == tl %d,"
+ " completions stalled, polls=%d\n",
+ hd, tp->s_tl, polled);
+ }
+ else {
+ msg = &tp->sbuf[hd];
+ tp->s_hd = hd; /* new hd */
+ }
+
+ /* if empty, process some completions */
+ if (msg == NULL) {
+ struct ibv_wc wc;
+
+ /* process completions, based on UCM_TX_BURST */
+ ret = ibv_poll_cq(tp->scq, 1, &wc);
+ if (ret < 0) {
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ " get_smsg: cq %p %s\n",
+ tp->scq, strerror(errno));
+ return NULL;
+ }
+ /* free up completed sends, update tail */
+ if (ret > 0)
+ tp->s_tl = (int)wc.wr_id;
+
+ polled++;
+ goto retry;
+ }
+ DAPL_CNTR_DATA(((DAPL_IA *)dapl_llist_peek_head(&tp->hca->ia_list_head)), DCNT_IA_CM_ERR_REQ_FULLQ, polled > 1 ? 1:0);
+ DAPL_CNTR_DATA(((DAPL_IA *)dapl_llist_peek_head(&tp->hca->ia_list_head)), DCNT_IA_CM_REQ_FULLQ_POLL, polled - 1);
+ return msg;
+}
+
+/* RECEIVE CM MESSAGE PROCESSING */
+
+static int ucm_post_rmsg(ib_hca_transport_t *tp, ib_cm_msg_t *msg)
+{
+ struct ibv_recv_wr recv_wr, *recv_err;
+ struct ibv_sge sge;
+
+ recv_wr.next = NULL;
+ recv_wr.sg_list = &sge;
+ recv_wr.num_sge = 1;
+ recv_wr.wr_id = (uint64_t)(uintptr_t) msg;
+ sge.length = sizeof(ib_cm_msg_t) + sizeof(struct ibv_grh);
+ sge.lkey = tp->mr_rbuf->lkey;
+ sge.addr = (uintptr_t)((char *)msg - sizeof(struct ibv_grh));
+
+ return (ibv_post_recv(tp->qp, &recv_wr, &recv_err));
+}
+
+static int ucm_reject(ib_hca_transport_t *tp, ib_cm_msg_t *msg)
+{
+ ib_cm_msg_t smsg;
+
+ /* setup op, rearrange the src, dst cm and addr info */
+ (void)dapl_os_memzero(&smsg, sizeof(smsg));
+ smsg.ver = htons(DCM_VER);
+ smsg.op = htons(DCM_REJ_CM);
+ smsg.dport = msg->sport;
+ smsg.dqpn = msg->sqpn;
+ smsg.sport = msg->dport;
+ smsg.sqpn = msg->dqpn;
+
+ dapl_os_memcpy(&smsg.daddr, &msg->saddr, sizeof(union dcm_addr));
+
+ /* no dst_addr IB info in REQ, init lid, gid, get type from saddr */
+ smsg.saddr.ib.lid = tp->addr.ib.lid;
+ smsg.saddr.ib.qp_type = msg->saddr.ib.qp_type;
+ dapl_os_memcpy(&smsg.saddr.ib.gid[0],
+ &tp->addr.ib.gid, 16);
+
+ dapl_os_memcpy(&smsg.saddr, &msg->daddr, sizeof(union dcm_addr));
+
+ dapl_dbg_log(DAPL_DBG_TYPE_CM,
+ " CM reject -> LID %x, QPN %x PORT %x\n",
+ ntohs(smsg.daddr.ib.lid),
+ ntohl(smsg.dqpn), ntohs(smsg.dport));
+
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&tp->hca->ia_list_head)), DCNT_IA_CM_ERR_REJ_TX);
+ return (ucm_send(tp, &smsg, NULL, 0));
+}
+
+static void ucm_process_recv(ib_hca_transport_t *tp,
+ ib_cm_msg_t *msg,
+ dp_ib_cm_handle_t cm)
+{
+ dapl_os_lock(&cm->lock);
+ switch (cm->state) {
+ case DCM_LISTEN: /* passive */
+ dapl_os_unlock(&cm->lock);
+ ucm_accept(cm, msg);
+ break;
+ case DCM_RTU_PENDING: /* passive */
+ dapl_os_unlock(&cm->lock);
+ ucm_accept_rtu(cm, msg);
+ break;
+ case DCM_REP_PENDING: /* active */
+ dapl_os_unlock(&cm->lock);
+ ucm_connect_rtu(cm, msg);
+ break;
+ case DCM_CONNECTED: /* active and passive */
+ /* DREQ, change state and process */
+ cm->retries = 2;
+ if (ntohs(msg->op) == DCM_DREQ) {
+ cm->state = DCM_DISC_RECV;
+ dapl_os_unlock(&cm->lock);
+ dapli_cm_disconnect(cm);
+ break;
+ }
+ /* active: RTU was dropped, resend */
+ if (ntohs(msg->op) == DCM_REP) {
+ dapl_log(DAPL_DBG_TYPE_CM_WARN,
+ " RESEND RTU: op %s st %s [lid, port, cqp, iqp]:"
+ " %x %x %x %x -> %x %x %x %x r_pid %x\n",
+ dapl_cm_op_str(ntohs(cm->msg.op)),
+ dapl_cm_state_str(cm->state),
+ ntohs(cm->msg.saddr.ib.lid), ntohs(cm->msg.sport),
+ ntohl(cm->msg.sqpn), ntohl(cm->msg.saddr.ib.qpn),
+ ntohs(cm->msg.daddr.ib.lid), ntohs(cm->msg.dport),
+ ntohl(cm->msg.dqpn), ntohl(cm->msg.daddr.ib.qpn),
+ ntohl(cm->msg.d_id));
+
+ cm->msg.op = htons(DCM_RTU);
+ ucm_send(&cm->hca->ib_trans, &cm->msg, NULL, 0);
+
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)), DCNT_IA_CM_ERR_RTU_RETRY);
+ }
+ dapl_os_unlock(&cm->lock);
+ break;
+ case DCM_DISC_PENDING: /* active and passive */
+ /* DREQ or DREP, finalize */
+ dapl_os_unlock(&cm->lock);
+ ucm_disconnect_final(cm);
+ break;
+ case DCM_DISCONNECTED:
+ case DCM_FREE:
+ /* DREQ dropped, resend */
+ if (ntohs(msg->op) == DCM_DREQ) {
+ dapl_log(DAPL_DBG_TYPE_CM_WARN,
+ " RESEND DREP: op %s st %s [lid, port, qpn]:"
+ " %x %x %x -> %x %x %x\n",
+ dapl_cm_op_str(ntohs(msg->op)),
+ dapl_cm_state_str(cm->state),
+ ntohs(msg->saddr.ib.lid),
+ ntohs(msg->sport),
+ ntohl(msg->saddr.ib.qpn),
+ ntohs(msg->daddr.ib.lid),
+ ntohs(msg->dport),
+ ntohl(msg->daddr.ib.qpn));
+ cm->msg.op = htons(DCM_DREP);
+ ucm_send(&cm->hca->ib_trans, &cm->msg, NULL, 0);
+
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)), DCNT_IA_CM_ERR_DREP_RETRY);
+
+ } else if (ntohs(msg->op) != DCM_DREP){
+ /* DREP ok to ignore, any other print warning */
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ " ucm_recv: UNEXPECTED MSG on cm %p"
+ " <- op %s, st %s spsp %x sqpn %x\n",
+ cm, dapl_cm_op_str(ntohs(msg->op)),
+ dapl_cm_state_str(cm->state),
+ ntohs(msg->sport), ntohl(msg->sqpn));
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)), DCNT_IA_CM_ERR_UNEXPECTED);
+ }
+ dapl_os_unlock(&cm->lock);
+ break;
+ case DCM_REJECTED:
+ if (ntohs(msg->op) == DCM_REJ_USER) {
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)), DCNT_IA_CM_USER_REJ_RX);
+ dapl_os_unlock(&cm->lock);
+ break;
+ }
+ default:
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ " ucm_recv: Warning, UNKNOWN state"
+ " <- op %s, %s spsp %x sqpn %x slid %x\n",
+ dapl_cm_op_str(ntohs(msg->op)),
+ dapl_cm_state_str(cm->state),
+ ntohs(msg->sport), ntohl(msg->sqpn),
+ ntohs(msg->saddr.ib.lid));
+ dapl_os_unlock(&cm->lock);
+ break;
+ }
+}
+
+/* Find matching CM object for this receive message, return CM reference, timer */
+dp_ib_cm_handle_t ucm_cm_find(ib_hca_transport_t *tp, ib_cm_msg_t *msg)
+{
+ dp_ib_cm_handle_t cm = NULL, next, found = NULL;
+ struct dapl_llist_entry **list;
+ DAPL_OS_LOCK *lock;
+ int listenq = 0;
+
+ /* conn list first, duplicate requests for DCM_REQ */
+ list = &tp->list;
+ lock = &tp->lock;
+
+retry_listenq:
+ dapl_os_lock(lock);
+ if (!dapl_llist_is_empty(list))
+ next = dapl_llist_peek_head(list);
+ else
+ next = NULL;
+
+ while (next) {
+ cm = next;
+ next = dapl_llist_next_entry(list,
+ (DAPL_LLIST_ENTRY *)&cm->local_entry);
+ if (cm->state == DCM_DESTROY || cm->state == DCM_FREE)
+ continue;
+
+ /* CM sPORT + QPN, match is good enough for listenq */
+ if (listenq &&
+ cm->msg.sport == msg->dport &&
+ cm->msg.sqpn == msg->dqpn) {
+ found = cm;
+ break;
+ }
+ /* connectq, check src and dst plus id's, check duplicate conn_reqs */
+ if (!listenq &&
+ cm->msg.sport == msg->dport && cm->msg.sqpn == msg->dqpn &&
+ cm->msg.dport == msg->sport && cm->msg.dqpn == msg->sqpn &&
+ cm->msg.daddr.ib.lid == msg->saddr.ib.lid) {
+ if (ntohs(msg->op) != DCM_REQ) {
+ found = cm;
+ break;
+ } else {
+ /* duplicate; bail and throw away */
+ dapl_os_unlock(lock);
+ dapl_log(DAPL_DBG_TYPE_CM_WARN,
+ " DUPLICATE: cm %p op %s (%s) st %s"
+ " [lid, port, cqp, iqp]:"
+ " %x %x %x %x <- (%x %x %x %x :"
+ " %x %x %x %x) -> %x %x %x %x\n",
+ cm, dapl_cm_op_str(ntohs(msg->op)),
+ dapl_cm_op_str(ntohs(cm->msg.op)),
+ dapl_cm_state_str(cm->state),
+ ntohs(cm->msg.daddr.ib.lid), ntohs(cm->msg.dport),
+ ntohl(cm->msg.dqpn), ntohl(cm->msg.daddr.ib.qpn),
+ ntohs(msg->saddr.ib.lid), ntohs(msg->sport),
+ ntohl(msg->sqpn), ntohl(msg->saddr.ib.qpn),
+ ntohs(msg->daddr.ib.lid), ntohs(msg->dport),
+ ntohl(msg->dqpn), ntohl(msg->daddr.ib.qpn),
+ ntohs(cm->msg.saddr.ib.lid), ntohs(cm->msg.sport),
+ ntohl(cm->msg.sqpn), ntohl(cm->msg.saddr.ib.qpn));
+
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)), DCNT_IA_CM_ERR_REQ_DUP);
+
+ return NULL;
+ }
+ }
+ }
+ dapl_os_unlock(lock);
+
+ /* no duplicate request on connq, check listenq for new request */
+ if (ntohs(msg->op) == DCM_REQ && !listenq && !found) {
+ listenq = 1;
+ list = &tp->llist;
+ lock = &tp->llock;
+ goto retry_listenq;
+ }
+
+ /* not match on listenq for valid request, send reject */
+ if (ntohs(msg->op) == DCM_REQ && !found) {
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ " ucm_recv: NO LISTENER for %s %x %x i%x c%x"
+ " < %x %x %x, sending reject\n",
+ dapl_cm_op_str(ntohs(msg->op)),
+ ntohs(msg->daddr.ib.lid), ntohs(msg->dport),
+ ntohl(msg->daddr.ib.qpn), ntohl(msg->sqpn),
+ ntohs(msg->saddr.ib.lid), ntohs(msg->sport),
+ ntohl(msg->saddr.ib.qpn));
+
+ ucm_reject(tp, msg);
+ }
+
+ if (!found) {
+ dapl_log(DAPL_DBG_TYPE_CM_WARN,
+ " NO MATCH: op %s [lid, port, cqp, iqp, pid]:"
+ " %x %x %x %x %x <- %x %x %x %x l_pid %x r_pid %x\n",
+ dapl_cm_op_str(ntohs(msg->op)),
+ ntohs(msg->daddr.ib.lid), ntohs(msg->dport),
+ ntohl(msg->dqpn), ntohl(msg->daddr.ib.qpn),
+ ntohl(msg->d_id), ntohs(msg->saddr.ib.lid),
+ ntohs(msg->sport), ntohl(msg->sqpn),
+ ntohl(msg->saddr.ib.qpn), ntohl(msg->s_id),
+ ntohl(msg->d_id));
+
+ if (ntohs(msg->op) == DCM_DREP) {
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)), DCNT_IA_CM_ERR_DREP_DUP);
+ }
+ }
+
+ return found;
+}
+
+/* Get rmsgs from CM completion queue, 10 at a time */
+static void ucm_recv(ib_hca_transport_t *tp)
+{
+ struct ibv_wc wc[10];
+ ib_cm_msg_t *msg;
+ dp_ib_cm_handle_t cm;
+ int i, ret, notify = 0;
+ struct ibv_cq *ibv_cq = NULL;
+ DAPL_HCA *hca;
+
+ /* POLLIN on channel FD */
+ ret = ibv_get_cq_event(tp->rch, &ibv_cq, (void *)&hca);
+ if (ret == 0) {
+ ibv_ack_cq_events(ibv_cq, 1);
+ }
+retry:
+ ret = ibv_poll_cq(tp->rcq, 10, wc);
+ if (ret <= 0) {
+ if (!ret && !notify) {
+ ibv_req_notify_cq(tp->rcq, 0);
+ notify = 1;
+ goto retry;
+ }
+ return;
+ } else
+ notify = 0;
+
+ for (i = 0; i < ret; i++) {
+ msg = (ib_cm_msg_t*) (uintptr_t) wc[i].wr_id;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_CM,
+ " ucm_recv: stat=%d op=%s ln=%d id=%p sqp=%x\n",
+ wc[i].status, dapl_cm_op_str(ntohs(msg->op)),
+ wc[i].byte_len,
+ (void*)wc[i].wr_id, wc[i].src_qp);
+
+ /* validate CM message, version */
+ if (ntohs(msg->ver) < DCM_VER_MIN) {
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ " ucm_recv: UNKNOWN msg %p, ver %d\n",
+ msg, msg->ver);
+ ucm_post_rmsg(tp, msg);
+ continue;
+ }
+ if (!(cm = ucm_cm_find(tp, msg))) {
+ ucm_post_rmsg(tp, msg);
+ continue;
+ }
+
+ /* match, process it */
+ ucm_process_recv(tp, msg, cm);
+ ucm_post_rmsg(tp, msg);
+ }
+
+ /* finished this batch of WC's, poll and rearm */
+ goto retry;
+}
+
+/* ACTIVE/PASSIVE: build and send CM message out of CM object */
+static int ucm_send(ib_hca_transport_t *tp, ib_cm_msg_t *msg, DAT_PVOID p_data, DAT_COUNT p_size)
+{
+ ib_cm_msg_t *smsg = NULL;
+ struct ibv_send_wr wr, *bad_wr;
+ struct ibv_sge sge;
+ int len, ret = -1;
+ uint16_t dlid = ntohs(msg->daddr.ib.lid);
+
+ /* Get message from send queue, copy data, and send */
+ dapl_os_lock(&tp->slock);
+ if ((smsg = ucm_get_smsg(tp)) == NULL) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " ucm_send ERR: get_smsg(hd=%d,tl=%d) \n",
+ tp->s_hd, tp->s_tl);
+ goto bail;
+ }
+
+ len = (sizeof(*msg) - DCM_MAX_PDATA_SIZE);
+ dapl_os_memcpy(smsg, msg, len);
+ if (p_size) {
+ smsg->p_size = ntohs(p_size);
+ dapl_os_memcpy(&smsg->p_data, p_data, p_size);
+ }
+
+ wr.next = NULL;
+ wr.sg_list = &sge;
+ wr.num_sge = 1;
+ wr.opcode = IBV_WR_SEND;
+ wr.wr_id = (unsigned long)tp->s_hd;
+ wr.send_flags = (wr.wr_id % tp->burst) ? 0 : IBV_SEND_SIGNALED;
+ if (len <= tp->max_inline_send)
+ wr.send_flags |= IBV_SEND_INLINE;
+
+ sge.length = len + p_size;
+ sge.lkey = tp->mr_sbuf->lkey;
+ sge.addr = (uintptr_t)smsg;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_CM,
+ " ucm_send: op %s ln %d lid %x c_qpn %x rport %x\n",
+ dapl_cm_op_str(ntohs(smsg->op)),
+ sge.length, htons(smsg->daddr.ib.lid),
+ htonl(smsg->dqpn), htons(smsg->dport));
+
+ /* empty slot, then create AH */
+ if (!tp->ah[dlid]) {
+ tp->ah[dlid] =
+ dapls_create_ah(tp->hca, tp->pd, tp->qp,
+ htons(dlid), NULL);
+ if (!tp->ah[dlid])
+ goto bail;
+ }
+
+ wr.wr.ud.ah = tp->ah[dlid];
+ wr.wr.ud.remote_qpn = ntohl(smsg->dqpn);
+ wr.wr.ud.remote_qkey = DAT_UD_QKEY;
+
+ ret = ibv_post_send(tp->qp, &wr, &bad_wr);
+ if (ret) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " ucm_send ERR: post_send() %s\n",
+ strerror(errno) );
+ }
+
+bail:
+ dapl_os_unlock(&tp->slock);
+ return ret;
+}
+
+/* ACTIVE/PASSIVE: CM objects */
+static void dapli_cm_dealloc(dp_ib_cm_handle_t cm) {
+
+ dapl_os_assert(!cm->ref_count);
+ dapl_os_lock_destroy(&cm->lock);
+ dapl_os_wait_object_destroy(&cm->d_event);
+ dapl_os_wait_object_destroy(&cm->f_event);
+ dapl_os_free(cm, sizeof(*cm));
+}
+
+void dapls_cm_acquire(dp_ib_cm_handle_t cm)
+{
+ dapl_os_lock(&cm->lock);
+ cm->ref_count++;
+ dapl_os_unlock(&cm->lock);
+}
+
+void dapls_cm_release(dp_ib_cm_handle_t cm)
+{
+ dapl_os_lock(&cm->lock);
+ cm->ref_count--;
+ if (cm->ref_count) {
+ if (cm->ref_count == 1)
+ dapl_os_wait_object_wakeup(&cm->f_event);
+ dapl_os_unlock(&cm->lock);
+ return;
+ }
+ /* client, release local conn id port */
+ if (!cm->sp && cm->msg.sport)
+ ucm_free_port(&cm->hca->ib_trans, ntohs(cm->msg.sport));
+
+ /* clean up any UD address handles */
+ if (cm->ah) {
+ ibv_destroy_ah(cm->ah);
+ cm->ah = NULL;
+ }
+ dapl_os_unlock(&cm->lock);
+ dapli_cm_dealloc(cm);
+}
+
+dp_ib_cm_handle_t dapls_ib_cm_create(DAPL_EP *ep)
+{
+ dp_ib_cm_handle_t cm;
+
+ /* Allocate CM, init lock, and initialize */
+ if ((cm = dapl_os_alloc(sizeof(*cm))) == NULL)
+ return NULL;
+
+ (void)dapl_os_memzero(cm, sizeof(*cm));
+ if (dapl_os_lock_init(&cm->lock))
+ goto bail;
+
+ if (dapl_os_wait_object_init(&cm->f_event)) {
+ dapl_os_lock_destroy(&cm->lock);
+ goto bail;
+ }
+ if (dapl_os_wait_object_init(&cm->d_event)) {
+ dapl_os_lock_destroy(&cm->lock);
+ dapl_os_wait_object_destroy(&cm->f_event);
+ goto bail;
+ }
+ dapls_cm_acquire(cm);
+
+ cm->msg.ver = htons(DCM_VER);
+ cm->msg.s_id = htonl(dapl_os_getpid()); /* process id for src id */
+
+ /* ACTIVE: init source address QP info from local EP */
+ if (ep) {
+ DAPL_HCA *hca = ep->header.owner_ia->hca_ptr;
+
+ cm->msg.sport = htons(ucm_get_port(&hca->ib_trans, 0));
+ if (!cm->msg.sport) {
+ dapl_os_wait_object_destroy(&cm->f_event);
+ dapl_os_wait_object_destroy(&cm->d_event);
+ dapl_os_lock_destroy(&cm->lock);
+ goto bail;
+ }
+ /* link CM object to EP */
+ dapl_ep_link_cm(ep, cm);
+ cm->hca = hca;
+ cm->ep = ep;
+
+ /* IB info in network order */
+ cm->msg.sqpn = htonl(hca->ib_trans.qp->qp_num); /* ucm */
+ cm->msg.saddr.ib.qpn = htonl(ep->qp_handle->qp_num); /* ep */
+ cm->msg.saddr.ib.qp_type = ep->qp_handle->qp_type;
+ cm->msg.saddr.ib.lid = hca->ib_trans.addr.ib.lid;
+ dapl_os_memcpy(&cm->msg.saddr.ib.gid[0],
+ &hca->ib_trans.addr.ib.gid, 16);
+ }
+ return cm;
+bail:
+ dapl_os_free(cm, sizeof(*cm));
+ return NULL;
+}
+
+/* schedule destruction of CM object, clean UD CR */
+void dapli_cm_free(dp_ib_cm_handle_t cm)
+{
+ DAPL_SP *sp_ptr = cm->sp;
+
+ dapl_log(DAPL_DBG_TYPE_CM,
+ " dapli_cm_free: cm %p %s ep %p sp %p cr_cnt %d refs=%d\n",
+ cm, dapl_cm_state_str(cm->state),
+ cm->ep, sp_ptr, sp_ptr ? sp_ptr->cr_list_count:0, cm->ref_count);
+
+ dapl_os_lock(&cm->lock);
+ if (sp_ptr && cm->state == DCM_CONNECTED &&
+ cm->msg.daddr.ib.qp_type == IBV_QPT_UD) {
+ dapl_os_lock(&sp_ptr->header.lock);
+ cm->cr = dapl_sp_search_cr(sp_ptr, cm);
+ dapl_log(DAPL_DBG_TYPE_CM, " dapli_cm_free: UD CR %p\n", cm->cr);
+
+ if (cm->cr != NULL) {
+ dapl_sp_remove_cr(sp_ptr, cm->cr);
+ /* free CR at EP destroy */
+ }
+ dapl_os_unlock(&sp_ptr->header.lock);
+ }
+ cm->state = DCM_FREE;
+ dapls_thread_signal(&cm->hca->ib_trans.signal);
+ dapl_os_unlock(&cm->lock);
+}
+
+/* Blocking, ONLY called from dat_ep_free */
+void dapls_cm_free(dp_ib_cm_handle_t cm)
+{
+ dapl_log(DAPL_DBG_TYPE_CM,
+ " dapl_cm_free: cm %p %s ep %p refs=%d\n",
+ cm, dapl_cm_state_str(cm->state),
+ cm->ep, cm->ref_count);
+
+ /* free from internal workq, wait until EP is last ref */
+ dapl_os_lock(&cm->lock);
+ if (cm->state != DCM_FREE)
+ cm->state = DCM_FREE;
+
+ if (cm->cr)
+ dapls_cr_free(cm->cr);
+
+ if (cm->ref_count != 1) {
+ dapls_thread_signal(&cm->hca->ib_trans.signal);
+ dapl_os_unlock(&cm->lock);
+ dapl_os_wait_object_wait(&cm->f_event, DAT_TIMEOUT_INFINITE);
+ dapl_os_lock(&cm->lock);
+ }
+ dapl_os_unlock(&cm->lock);
+
+ /* unlink, dequeue from EP. Final ref so release will destroy */
+ dapl_ep_unlink_cm(cm->ep, cm);
+}
+
+/* ACTIVE/PASSIVE: queue up connection object on CM list */
+static void dapli_queue_conn(dp_ib_cm_handle_t cm)
+{
+ /* add to work queue, list, for cm thread processing */
+ dapl_llist_init_entry((DAPL_LLIST_ENTRY *)&cm->local_entry);
+ dapl_os_lock(&cm->hca->ib_trans.lock);
+ dapls_cm_acquire(cm);
+ dapl_llist_add_tail(&cm->hca->ib_trans.list,
+ (DAPL_LLIST_ENTRY *)&cm->local_entry, cm);
+ dapl_os_unlock(&cm->hca->ib_trans.lock);
+ dapls_thread_signal(&cm->hca->ib_trans.signal);
+}
+
+/* PASSIVE: queue up listen object on listen list */
+static void dapli_queue_listen(dp_ib_cm_handle_t cm)
+{
+ /* add to work queue, llist, for cm thread processing */
+ dapl_llist_init_entry((DAPL_LLIST_ENTRY *)&cm->local_entry);
+ dapl_os_lock(&cm->hca->ib_trans.llock);
+ dapls_cm_acquire(cm);
+ dapl_llist_add_tail(&cm->hca->ib_trans.llist,
+ (DAPL_LLIST_ENTRY *)&cm->local_entry, cm);
+ dapl_os_unlock(&cm->hca->ib_trans.llock);
+}
+
+static void dapli_dequeue_listen(dp_ib_cm_handle_t cm)
+{
+ DAPL_HCA *hca = cm->hca;
+
+ dapl_os_lock(&hca->ib_trans.llock);
+ dapl_llist_remove_entry(&hca->ib_trans.llist,
+ (DAPL_LLIST_ENTRY *)&cm->local_entry);
+ dapls_cm_release(cm);
+ dapl_os_unlock(&hca->ib_trans.llock);
+}
+
+/* called with local LIST and CM object lock */
+static void dapli_cm_dequeue(dp_ib_cm_handle_t cm)
+{
+ /* Remove from work queue, cr thread processing */
+ dapl_llist_remove_entry(&cm->hca->ib_trans.list,
+ (DAPL_LLIST_ENTRY *)&cm->local_entry);
+ dapls_cm_release(cm);
+}
+
+static void ucm_disconnect_final(dp_ib_cm_handle_t cm)
+{
+ /* no EP attachment or not RC, nothing to process */
+ if (cm->ep == NULL ||
+ cm->ep->param.ep_attr.service_type != DAT_SERVICE_TYPE_RC)
+ return;
+
+ dapl_os_lock(&cm->lock);
+ if ((cm->state == DCM_DISCONNECTED) || (cm->state == DCM_FREE)) {
+ dapl_os_unlock(&cm->lock);
+ return;
+ }
+
+ cm->state = DCM_DISCONNECTED;
+ dapl_os_unlock(&cm->lock);
+
+ if (cm->sp)
+ dapls_cr_callback(cm, IB_CME_DISCONNECTED, NULL, 0, cm->sp);
+ else
+ dapl_evd_connection_callback(cm, IB_CME_DISCONNECTED, NULL, 0, cm->ep);
+
+ dapl_os_wait_object_wakeup(&cm->d_event);
+
+}
+
+/*
+ * called from consumer thread via ep_disconnect/ep_free or
+ * from cm_thread when receiving DREQ
+ */
+DAT_RETURN dapli_cm_disconnect(dp_ib_cm_handle_t cm)
+{
+ int finalize = 1;
+ int wakeup = 0;
+
+ dapl_os_lock(&cm->lock);
+ switch (cm->state) {
+ case DCM_CONNECTED:
+ /* CONSUMER: move to err state to flush, if not UD */
+ if (cm->ep->qp_handle->qp_type != IBV_QPT_UD)
+ dapls_modify_qp_state(cm->ep->qp_handle, IBV_QPS_ERR,0,0,0);
+
+ /* send DREQ, event after DREP or DREQ timeout */
+ cm->state = DCM_DISC_PENDING;
+ cm->msg.op = htons(DCM_DREQ);
+ finalize = 0; /* wait for DREP, wakeup timer after DREQ sent */
+ wakeup = 1;
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)), DCNT_IA_CM_DREQ_TX);
+ break;
+ case DCM_DISC_PENDING:
+ /* DREQ timeout, resend until retries exhausted */
+ cm->msg.op = htons(DCM_DREQ);
+ if (cm->retries >= cm->hca->ib_trans.retries) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " CM_DREQ: RETRIES EXHAUSTED:"
+ " %x %x %x -> %x %x %x\n",
+ htons(cm->msg.saddr.ib.lid),
+ htonl(cm->msg.saddr.ib.qpn),
+ htons(cm->msg.sport),
+ htons(cm->msg.daddr.ib.lid),
+ htonl(cm->msg.dqpn),
+ htons(cm->msg.dport));
+ finalize = 1;
+ }
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)), DCNT_IA_CM_ERR_DREQ_RETRY);
+ break;
+ case DCM_DISC_RECV:
+ /* CM_THREAD: move to err state to flush, if not UD */
+ if (cm->ep->qp_handle->qp_type != IBV_QPT_UD)
+ dapls_modify_qp_state(cm->ep->qp_handle, IBV_QPS_ERR,0,0,0);
+
+ /* DREQ received, send DREP and schedule event, finalize */
+ cm->msg.op = htons(DCM_DREP);
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)), DCNT_IA_CM_DREP_TX);
+ break;
+ case DCM_DISCONNECTED:
+ dapl_os_unlock(&cm->lock);
+ return DAT_SUCCESS;
+ default:
+ dapl_log(DAPL_DBG_TYPE_EP,
+ " disconnect UNKNOWN state: ep %p cm %p %s %s"
+ " %x %x %x %s %x %x %x r_id %x l_id %x\n",
+ cm->ep, cm,
+ cm->msg.saddr.ib.qp_type == IBV_QPT_RC ? "RC" : "UD",
+ dapl_cm_state_str(cm->state),
+ ntohs(cm->msg.saddr.ib.lid),
+ ntohs(cm->msg.sport),
+ ntohl(cm->msg.saddr.ib.qpn),
+ cm->sp ? "<-" : "->",
+ ntohs(cm->msg.daddr.ib.lid),
+ ntohs(cm->msg.dport),
+ ntohl(cm->msg.daddr.ib.qpn),
+ ntohl(cm->msg.d_id),
+ ntohl(cm->msg.s_id));
+
+ dapl_os_unlock(&cm->lock);
+ return DAT_SUCCESS;
+ }
+
+ dapl_os_get_time(&cm->timer); /* reply expected */
+ ucm_send(&cm->hca->ib_trans, &cm->msg, NULL, 0);
+ dapl_os_unlock(&cm->lock);
+
+ if (wakeup)
+ dapls_thread_signal(&cm->hca->ib_trans.signal);
+
+ if (finalize)
+ ucm_disconnect_final(cm);
+
+ return DAT_SUCCESS;
+}
+
+/*
+ * ACTIVE: get remote CM SID server info from r_addr.
+ * send, or resend CM msg via UD CM QP
+ */
+DAT_RETURN
+dapli_cm_connect(DAPL_EP *ep, dp_ib_cm_handle_t cm)
+{
+ dapl_log(DAPL_DBG_TYPE_EP,
+ " connect: lid %x i_qpn %x lport %x p_sz=%d -> "
+ " lid %x c_qpn %x rport %x\n",
+ htons(cm->msg.saddr.ib.lid), htonl(cm->msg.saddr.ib.qpn),
+ htons(cm->msg.sport), htons(cm->msg.p_size),
+ htons(cm->msg.daddr.ib.lid), htonl(cm->msg.dqpn),
+ htons(cm->msg.dport));
+
+ dapl_os_lock(&cm->lock);
+ if (cm->state != DCM_INIT && cm->state != DCM_REP_PENDING) {
+ dapl_os_unlock(&cm->lock);
+ return DAT_INVALID_STATE;
+ }
+
+ if (cm->retries == cm->hca->ib_trans.retries) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " CM_REQ: RETRIES EXHAUSTED:"
+ " 0x%x %x 0x%x -> 0x%x %x 0x%x\n",
+ htons(cm->msg.saddr.ib.lid),
+ htonl(cm->msg.saddr.ib.qpn),
+ htons(cm->msg.sport),
+ htons(cm->msg.daddr.ib.lid),
+ htonl(cm->msg.dqpn),
+ htons(cm->msg.dport));
+
+ dapl_os_unlock(&cm->lock);
+
+#ifdef DAPL_COUNTERS
+ /* called from check_timers in cm_thread, cm lock held */
+ if (g_dapl_dbg_type & DAPL_DBG_TYPE_CM_LIST) {
+ dapl_os_unlock(&cm->hca->ib_trans.lock);
+ dapls_print_cm_list(ep->header.owner_ia);
+ dapl_os_lock(&cm->hca->ib_trans.lock);
+ }
+#endif
+ dapl_evd_connection_callback(cm,
+ IB_CME_DESTINATION_UNREACHABLE,
+ NULL, 0, ep);
+
+ return DAT_ERROR(DAT_INVALID_ADDRESS,
+ DAT_INVALID_ADDRESS_UNREACHABLE);
+ }
+
+ cm->state = DCM_REP_PENDING;
+ cm->msg.op = htons(DCM_REQ);
+ dapl_os_get_time(&cm->timer); /* reset reply timer */
+ if (ucm_send(&cm->hca->ib_trans, &cm->msg,
+ &cm->msg.p_data, ntohs(cm->msg.p_size))) {
+ dapl_os_unlock(&cm->lock);
+ goto bail;
+ }
+ dapl_os_unlock(&cm->lock);
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)),
+ ep->qp_handle->qp_type == IBV_QPT_UD ? DCNT_IA_CM_AH_REQ_TX : DCNT_IA_CM_REQ_TX);
+
+ return DAT_SUCCESS;
+
+bail:
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)), DCNT_IA_CM_ERR);
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ " connect: snd ERR -> cm_lid %x cm_qpn %x r_psp %x p_sz=%d\n",
+ htons(cm->msg.daddr.ib.lid),
+ htonl(cm->msg.dqpn), htons(cm->msg.dport),
+ htons(cm->msg.p_size));
+
+ dapli_cm_free(cm);
+ return DAT_INSUFFICIENT_RESOURCES;
+}
+
+/*
+ * ACTIVE: exchange QP information, called from CR thread
+ */
+static void ucm_connect_rtu(dp_ib_cm_handle_t cm, ib_cm_msg_t *msg)
+{
+ DAPL_EP *ep = cm->ep;
+ ib_cm_events_t event = IB_CME_CONNECTED;
+
+ dapl_os_lock(&cm->lock);
+ if (cm->state != DCM_REP_PENDING) {
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ " CONN_RTU: UNEXPECTED state:"
+ " op %s, st %s <- lid %x sqpn %x sport %x\n",
+ dapl_cm_op_str(ntohs(msg->op)),
+ dapl_cm_state_str(cm->state),
+ ntohs(msg->saddr.ib.lid), ntohl(msg->saddr.ib.qpn),
+ ntohs(msg->sport));
+ dapl_os_unlock(&cm->lock);
+ return;
+ }
+
+ /* save remote address information to EP and CM */
+ cm->msg.d_id = msg->s_id;
+ dapl_os_memcpy(&ep->remote_ia_address,
+ &msg->saddr, sizeof(union dcm_addr));
+ dapl_os_memcpy(&cm->msg.daddr,
+ &msg->saddr, sizeof(union dcm_addr));
+
+ /* validate private data size, and copy if necessary */
+ if (msg->p_size) {
+ if (ntohs(msg->p_size) > DCM_MAX_PDATA_SIZE) {
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ " CONN_RTU: invalid p_size %d:"
+ " st %s <- lid %x sqpn %x spsp %x\n",
+ ntohs(msg->p_size),
+ dapl_cm_state_str(cm->state),
+ ntohs(msg->saddr.ib.lid),
+ ntohl(msg->saddr.ib.qpn),
+ ntohs(msg->sport));
+ dapl_os_unlock(&cm->lock);
+ goto bail;
+ }
+ dapl_os_memcpy(cm->msg.p_data,
+ msg->p_data, ntohs(msg->p_size));
+ }
+
+ dapl_dbg_log(DAPL_DBG_TYPE_CM,
+ " CONN_RTU: DST lid=%x,"
+ " iqp=%x, qp_type=%d, port=%x psize=%d\n",
+ ntohs(cm->msg.daddr.ib.lid),
+ ntohl(cm->msg.daddr.ib.qpn), cm->msg.daddr.ib.qp_type,
+ ntohs(msg->sport), ntohs(msg->p_size));
+
+ if (ntohs(msg->op) == DCM_REP)
+ event = IB_CME_CONNECTED;
+ else if (ntohs(msg->op) == DCM_REJ_USER)
+ event = IB_CME_DESTINATION_REJECT_PRIVATE_DATA;
+ else {
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ " Warning, non-user CR REJECT:"
+ " cm %p op %s, st %s dlid %x iqp %x port %x <-"
+ " slid %x iqp %x port %x\n", cm,
+ dapl_cm_op_str(ntohs(msg->op)),
+ dapl_cm_state_str(cm->state),
+ ntohs(msg->daddr.ib.lid), ntohl(msg->daddr.ib.qpn),
+ ntohs(msg->dport), ntohs(msg->saddr.ib.lid),
+ ntohl(msg->saddr.ib.qpn), ntohs(msg->sport));
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)), DCNT_IA_CM_ERR_REJ_RX);
+ event = IB_CME_DESTINATION_REJECT;
+ }
+ if (event != IB_CME_CONNECTED) {
+ dapl_log(DAPL_DBG_TYPE_CM,
+ " ACTIVE: CM_REQ REJECTED:"
+ " cm %p op %s, st %s dlid %x iqp %x port %x <-"
+ " slid %x iqp %x port %x\n", cm,
+ dapl_cm_op_str(ntohs(msg->op)),
+ dapl_cm_state_str(cm->state),
+ ntohs(msg->daddr.ib.lid), ntohl(msg->daddr.ib.qpn),
+ ntohs(msg->dport), ntohs(msg->saddr.ib.lid),
+ ntohl(msg->saddr.ib.qpn), ntohs(msg->sport));
+
+ cm->state = DCM_REJECTED;
+ dapl_os_unlock(&cm->lock);
+
+#ifdef DAT_EXTENSIONS
+ if (cm->msg.daddr.ib.qp_type == IBV_QPT_UD)
+ goto ud_bail;
+ else
+#endif
+ goto bail;
+ }
+ dapl_os_unlock(&cm->lock);
+
+ /* rdma_out, initiator, cannot exceed remote rdma_in max */
+ if (ntohs(cm->msg.ver) >= 7)
+ cm->ep->param.ep_attr.max_rdma_read_out =
+ DAPL_MIN(cm->ep->param.ep_attr.max_rdma_read_out,
+ cm->msg.rd_in);
+
+ /* modify QP to RTR and then to RTS with remote info */
+ dapl_os_lock(&cm->ep->header.lock);
+ if (dapls_modify_qp_state(cm->ep->qp_handle,
+ IBV_QPS_RTR,
+ cm->msg.daddr.ib.qpn,
+ cm->msg.daddr.ib.lid,
+ (ib_gid_handle_t)cm->msg.daddr.ib.gid) != DAT_SUCCESS) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " CONN_RTU: QPS_RTR ERR %s <- lid %x iqp %x\n",
+ strerror(errno), ntohs(cm->msg.daddr.ib.lid),
+ ntohl(cm->msg.daddr.ib.qpn));
+ dapl_os_unlock(&cm->ep->header.lock);
+ event = IB_CME_LOCAL_FAILURE;
+ goto bail;
+ }
+ if (dapls_modify_qp_state(cm->ep->qp_handle,
+ IBV_QPS_RTS,
+ cm->msg.daddr.ib.qpn,
+ cm->msg.daddr.ib.lid,
+ NULL) != DAT_SUCCESS) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " CONN_RTU: QPS_RTS ERR %s <- lid %x iqp %x\n",
+ strerror(errno), ntohs(cm->msg.daddr.ib.lid),
+ ntohl(cm->msg.daddr.ib.qpn));
+ dapl_os_unlock(&cm->ep->header.lock);
+ event = IB_CME_LOCAL_FAILURE;
+ goto bail;
+ }
+ dapl_os_unlock(&cm->ep->header.lock);
+
+ /* Send RTU, no private data */
+ cm->msg.op = htons(DCM_RTU);
+
+ dapl_os_lock(&cm->lock);
+ cm->state = DCM_CONNECTED;
+ if (ucm_send(&cm->hca->ib_trans, &cm->msg, NULL, 0)) {
+ dapl_os_unlock(&cm->lock);
+ goto bail;
+ }
+ dapl_os_unlock(&cm->lock);
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)), DCNT_IA_CM_RTU_TX);
+
+ /* init cm_handle and post the event with private data */
+ dapl_dbg_log(DAPL_DBG_TYPE_EP, " ACTIVE: connected!\n");
+
+#ifdef DAT_EXTENSIONS
+ud_bail:
+ if (cm->msg.daddr.ib.qp_type == IBV_QPT_UD) {
+ DAT_IB_EXTENSION_EVENT_DATA xevent;
+ uint16_t lid = ntohs(cm->msg.daddr.ib.lid);
+
+ /* post EVENT, modify_qp, AH already created, ucm msg */
+ xevent.status = 0;
+ xevent.type = DAT_IB_UD_REMOTE_AH;
+ xevent.remote_ah.qpn = ntohl(cm->msg.daddr.ib.qpn);
+ xevent.remote_ah.ah = dapls_create_ah(cm->hca,
+ cm->ep->qp_handle->pd,
+ cm->ep->qp_handle,
+ htons(lid),
+ NULL);
+ if (xevent.remote_ah.ah == NULL) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " active UD RTU: ERR create_ah"
+ " for qpn 0x%x lid 0x%x\n",
+ xevent.remote_ah.qpn, lid);
+ event = IB_CME_LOCAL_FAILURE;
+ goto bail;
+ }
+ cm->ah = xevent.remote_ah.ah; /* keep ref to destroy */
+
+ dapl_os_memcpy(&xevent.remote_ah.ia_addr,
+ &cm->msg.daddr,
+ sizeof(union dcm_addr));
+
+ /* remote ia_addr reference includes ucm qpn, not IB qpn */
+ ((union dcm_addr*)
+ &xevent.remote_ah.ia_addr)->ib.qpn = cm->msg.dqpn;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EP,
+ " ACTIVE: UD xevent ah %p qpn %x lid %x\n",
+ xevent.remote_ah.ah, xevent.remote_ah.qpn, lid);
+ dapl_dbg_log(DAPL_DBG_TYPE_EP,
+ " ACTIVE: UD xevent ia_addr qp_type %d"
+ " lid 0x%x qpn 0x%x gid 0x"F64x" 0x"F64x" \n",
+ ((union dcm_addr*)
+ &xevent.remote_ah.ia_addr)->ib.qp_type,
+ ntohs(((union dcm_addr*)
+ &xevent.remote_ah.ia_addr)->ib.lid),
+ ntohl(((union dcm_addr*)
+ &xevent.remote_ah.ia_addr)->ib.qpn),
+ ntohll(*(uint64_t*)&cm->msg.daddr.ib.gid[0]),
+ ntohll(*(uint64_t*)&cm->msg.daddr.ib.gid[8]));
+
+ if (event == IB_CME_CONNECTED)
+ event = DAT_IB_UD_CONNECTION_EVENT_ESTABLISHED;
+ else {
+ xevent.type = DAT_IB_UD_CONNECT_REJECT;
+ event = DAT_IB_UD_CONNECTION_REJECT_EVENT;
+ }
+
+ dapls_evd_post_connection_event_ext(
+ (DAPL_EVD *)cm->ep->param.connect_evd_handle,
+ event,
+ (DAT_EP_HANDLE)ep,
+ (DAT_COUNT)ntohs(cm->msg.p_size),
+ (DAT_PVOID *)cm->msg.p_data,
+ (DAT_PVOID *)&xevent);
+
+ if (event != DAT_IB_UD_CONNECTION_EVENT_ESTABLISHED)
+ dapli_cm_free(cm);
+
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)), DCNT_IA_CM_AH_RESOLVED);
+
+ } else
+#endif
+ {
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)), DCNT_IA_CM_ACTIVE_EST);
+ dapl_evd_connection_callback(cm,
+ IB_CME_CONNECTED,
+ cm->msg.p_data, ntohs(cm->msg.p_size), cm->ep);
+ }
+ dapl_log(DAPL_DBG_TYPE_CM_EST,
+ " UCM_ACTIVE_CONN %p %d [lid port qpn] %x %x %x -> %x %x %x\n",
+ cm->hca, cm->retries, ntohs(cm->msg.saddr.ib.lid),
+ ntohs(cm->msg.sport), ntohl(cm->msg.saddr.ib.qpn),
+ ntohs(cm->msg.daddr.ib.lid), ntohs(cm->msg.dport),
+ ntohl(cm->msg.dqpn));
+ return;
+bail:
+ dapl_evd_connection_callback(NULL, event, cm->msg.p_data, ntohs(cm->msg.p_size), cm->ep);
+ dapli_cm_free(cm);
+}
+
+/*
+ * PASSIVE: Accept on listen CM PSP.
+ * create new CM object for this CR,
+ * receive peer QP information, private data,
+ * and post cr_event
+ */
+static void ucm_accept(ib_cm_srvc_handle_t cm, ib_cm_msg_t *msg)
+{
+ dp_ib_cm_handle_t acm;
+
+ /* Allocate accept CM and setup passive references */
+ if ((acm = dapls_ib_cm_create(NULL)) == NULL) {
+ dapl_log(DAPL_DBG_TYPE_WARN, " accept: ERR cm_create\n");
+ return;
+ }
+
+ /* dest CM info from CR msg, source CM info from listen */
+ acm->sp = cm->sp;
+ acm->hca = cm->hca;
+ acm->msg.op = msg->op;
+ acm->msg.dport = msg->sport;
+ acm->msg.dqpn = msg->sqpn;
+ acm->msg.sport = cm->msg.sport;
+ acm->msg.sqpn = cm->msg.sqpn;
+ acm->msg.p_size = msg->p_size;
+ acm->msg.d_id = msg->s_id;
+ acm->msg.rd_in = msg->rd_in;
+
+ /* CR saddr is CM daddr info, need EP for local saddr */
+ dapl_os_memcpy(&acm->msg.daddr, &msg->saddr, sizeof(union dcm_addr));
+
+ dapl_log(DAPL_DBG_TYPE_CM,
+ " accept: DST port=%x lid=%x, iqp=%x, psize=%d\n",
+ ntohs(acm->msg.dport), ntohs(acm->msg.daddr.ib.lid),
+ htonl(acm->msg.daddr.ib.qpn), htons(acm->msg.p_size));
+
+ /* validate private data size before reading */
+ if (ntohs(msg->p_size) > DCM_MAX_PDATA_SIZE) {
+ dapl_log(DAPL_DBG_TYPE_WARN, " accept: psize (%d) wrong\n",
+ ntohs(msg->p_size));
+ goto bail;
+ }
+
+ /* read private data into cm_handle if any present */
+ if (msg->p_size)
+ dapl_os_memcpy(acm->msg.p_data,
+ msg->p_data, ntohs(msg->p_size));
+
+ acm->state = DCM_ACCEPTING;
+ dapli_queue_conn(acm);
+
+#ifdef DAT_EXTENSIONS
+ if (acm->msg.daddr.ib.qp_type == IBV_QPT_UD) {
+ DAT_IB_EXTENSION_EVENT_DATA xevent;
+
+ /* post EVENT, modify_qp created ah */
+ xevent.status = 0;
+ xevent.type = DAT_IB_UD_CONNECT_REQUEST;
+
+ dapls_evd_post_cr_event_ext(acm->sp,
+ DAT_IB_UD_CONNECTION_REQUEST_EVENT,
+ acm,
+ (DAT_COUNT)ntohs(acm->msg.p_size),
+ (DAT_PVOID *)acm->msg.p_data,
+ (DAT_PVOID *)&xevent);
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)), DCNT_IA_CM_AH_REQ_TX);
+ } else
+#endif
+ /* trigger CR event and return SUCCESS */
+ dapls_cr_callback(acm,
+ IB_CME_CONNECTION_REQUEST_PENDING,
+ acm->msg.p_data, ntohs(msg->p_size), acm->sp);
+ return;
+
+bail:
+ /* schedule work thread cleanup */
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)), DCNT_IA_CM_ERR);
+ dapli_cm_free(acm);
+ return;
+}
+
+/*
+ * PASSIVE: read RTU from active peer, post CONN event
+ */
+static void ucm_accept_rtu(dp_ib_cm_handle_t cm, ib_cm_msg_t *msg)
+{
+ dapl_os_lock(&cm->lock);
+ if ((ntohs(msg->op) != DCM_RTU) || (cm->state != DCM_RTU_PENDING)) {
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ " accept_rtu: UNEXPECTED op, state:"
+ " op %s, st %s <- lid %x iqp %x sport %x\n",
+ dapl_cm_op_str(ntohs(msg->op)),
+ dapl_cm_state_str(cm->state),
+ ntohs(msg->saddr.ib.lid), ntohl(msg->saddr.ib.qpn),
+ ntohs(msg->sport));
+ dapl_os_unlock(&cm->lock);
+ goto bail;
+ }
+ cm->state = DCM_CONNECTED;
+ dapl_os_unlock(&cm->lock);
+
+ /* final data exchange if remote QP state is good to go */
+ dapl_dbg_log(DAPL_DBG_TYPE_CM, " PASSIVE: connected!\n");
+
+#ifdef DAT_EXTENSIONS
+ if (cm->msg.saddr.ib.qp_type == IBV_QPT_UD) {
+ DAT_IB_EXTENSION_EVENT_DATA xevent;
+ uint16_t lid = ntohs(cm->msg.daddr.ib.lid);
+
+ /* post EVENT, modify_qp, AH already created, ucm msg */
+ xevent.status = 0;
+ xevent.type = DAT_IB_UD_PASSIVE_REMOTE_AH;
+ xevent.remote_ah.qpn = ntohl(cm->msg.daddr.ib.qpn);
+ xevent.remote_ah.ah = dapls_create_ah(cm->hca,
+ cm->ep->qp_handle->pd,
+ cm->ep->qp_handle,
+ htons(lid),
+ NULL);
+ if (xevent.remote_ah.ah == NULL) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " passive UD RTU: ERR create_ah"
+ " for qpn 0x%x lid 0x%x\n",
+ xevent.remote_ah.qpn, lid);
+ goto bail;
+ }
+ cm->ah = xevent.remote_ah.ah; /* keep ref to destroy */
+ dapl_os_memcpy(&xevent.remote_ah.ia_addr,
+ &cm->msg.daddr,
+ sizeof(union dcm_addr));
+
+ /* remote ia_addr reference includes ucm qpn, not IB qpn */
+ ((union dcm_addr*)
+ &xevent.remote_ah.ia_addr)->ib.qpn = cm->msg.dqpn;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EP,
+ " PASSIVE: UD xevent ah %p qpn %x lid %x\n",
+ xevent.remote_ah.ah, xevent.remote_ah.qpn, lid);
+ dapl_dbg_log(DAPL_DBG_TYPE_EP,
+ " PASSIVE: UD xevent ia_addr qp_type %d"
+ " lid 0x%x qpn 0x%x gid 0x"F64x" 0x"F64x" \n",
+ ((union dcm_addr*)
+ &xevent.remote_ah.ia_addr)->ib.qp_type,
+ ntohs(((union dcm_addr*)
+ &xevent.remote_ah.ia_addr)->ib.lid),
+ ntohl(((union dcm_addr*)
+ &xevent.remote_ah.ia_addr)->ib.qpn),
+ ntohll(*(uint64_t*)&cm->msg.daddr.ib.gid[0]),
+ ntohll(*(uint64_t*)&cm->msg.daddr.ib.gid[8]));
+
+ dapls_evd_post_connection_event_ext(
+ (DAPL_EVD *)cm->ep->param.connect_evd_handle,
+ DAT_IB_UD_CONNECTION_EVENT_ESTABLISHED,
+ (DAT_EP_HANDLE)cm->ep,
+ (DAT_COUNT)ntohs(cm->msg.p_size),
+ (DAT_PVOID *)cm->msg.p_data,
+ (DAT_PVOID *)&xevent);
+
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)), DCNT_IA_CM_AH_RESOLVED);
+ dapli_cm_free(cm); /* still attached to EP */
+ } else {
+#endif
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)), DCNT_IA_CM_PASSIVE_EST);
+ dapls_cr_callback(cm, IB_CME_CONNECTED, NULL, 0, cm->sp);
+ }
+ dapl_log(DAPL_DBG_TYPE_CM_EST,
+ " UCM_PASSIVE_CONN %p %d [lid port qpn] %x %x %x <- %x %x %x\n",
+ cm->hca, cm->retries, ntohs(cm->msg.saddr.ib.lid),
+ ntohs(cm->msg.sport), ntohl(cm->msg.saddr.ib.qpn),
+ ntohs(cm->msg.daddr.ib.lid), ntohs(cm->msg.dport),
+ ntohl(cm->msg.dqpn));
+ return;
+bail:
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)), DCNT_IA_CM_ERR);
+ dapls_cr_callback(cm, IB_CME_LOCAL_FAILURE, NULL, 0, cm->sp);
+ dapli_cm_free(cm);
+}
+
+/*
+ * PASSIVE: user accepted, check and re-send reply message, called from cm_thread.
+ */
+static int ucm_reply(dp_ib_cm_handle_t cm)
+{
+ dapl_os_lock(&cm->lock);
+ if (cm->state != DCM_RTU_PENDING) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " CM_REPLY: wrong state ep %p cm %p %s refs=%d"
+ " %x %x i_%x -> %x %x i_%x l_pid %x r_pid %x\n",
+ cm->ep, cm, dapl_cm_state_str(cm->state),
+ cm->ref_count,
+ htons(cm->msg.saddr.ib.lid),
+ htons(cm->msg.sport),
+ htonl(cm->msg.saddr.ib.qpn),
+ htons(cm->msg.daddr.ib.lid),
+ htons(cm->msg.dport),
+ htonl(cm->msg.daddr.ib.qpn),
+ ntohl(cm->msg.s_id),
+ ntohl(cm->msg.d_id));
+ dapl_os_unlock(&cm->lock);
+ return -1;
+ }
+
+ if (cm->retries == cm->hca->ib_trans.retries) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " CM_REPLY: RETRIES EXHAUSTED (lid port qpn)"
+ " %x %x %x -> %x %x %x\n",
+ htons(cm->msg.saddr.ib.lid),
+ htons(cm->msg.sport),
+ htonl(cm->msg.saddr.ib.qpn),
+ htons(cm->msg.daddr.ib.lid),
+ htons(cm->msg.dport),
+ htonl(cm->msg.daddr.ib.qpn));
+
+ dapl_os_unlock(&cm->lock);
+#ifdef DAPL_COUNTERS
+ if (g_dapl_dbg_type & DAPL_DBG_TYPE_CM_LIST) {
+ dapl_os_unlock(&cm->hca->ib_trans.lock);
+ dapls_print_cm_list(dapl_llist_peek_head(&cm->hca->ia_list_head));
+ dapl_os_lock(&cm->hca->ib_trans.lock);
+ }
+#endif
+#ifdef DAT_EXTENSIONS
+ if (cm->msg.saddr.ib.qp_type == IBV_QPT_UD) {
+ DAT_IB_EXTENSION_EVENT_DATA xevent;
+
+ /* post REJECT event with CONN_REQ p_data */
+ xevent.status = 0;
+ xevent.type = DAT_IB_UD_CONNECT_ERROR;
+
+ dapls_evd_post_connection_event_ext(
+ (DAPL_EVD *)cm->ep->param.connect_evd_handle,
+ DAT_IB_UD_CONNECTION_ERROR_EVENT,
+ (DAT_EP_HANDLE)cm->ep,
+ (DAT_COUNT)ntohs(cm->msg.p_size),
+ (DAT_PVOID *)cm->msg.p_data,
+ (DAT_PVOID *)&xevent);
+ } else
+#endif
+ dapls_cr_callback(cm, IB_CME_LOCAL_FAILURE,
+ NULL, 0, cm->sp);
+ return -1;
+ }
+
+ dapl_os_get_time(&cm->timer); /* RTU expected */
+ if (ucm_send(&cm->hca->ib_trans, &cm->msg, cm->p_data, cm->p_size)) {
+ dapl_log(DAPL_DBG_TYPE_ERR," accept ERR: ucm reply send()\n");
+ dapl_os_unlock(&cm->lock);
+ return -1;
+ }
+ dapl_os_unlock(&cm->lock);
+ return 0;
+}
+
+
+/*
+ * PASSIVE: consumer accept, send local QP information, private data,
+ * queue on work thread to receive RTU information to avoid blocking
+ * user thread.
+ */
+DAT_RETURN
+dapli_accept_usr(DAPL_EP *ep, DAPL_CR *cr, DAT_COUNT p_size, DAT_PVOID p_data)
+{
+ DAPL_IA *ia = ep->header.owner_ia;
+ dp_ib_cm_handle_t cm = cr->ib_cm_handle;
+
+ if (p_size > DCM_MAX_PDATA_SIZE)
+ return DAT_LENGTH_ERROR;
+
+ dapl_os_lock(&cm->lock);
+ if (cm->state != DCM_ACCEPTING) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " CM_ACCEPT_USR: wrong state ep %p cm %p %s refs=%d"
+ " %x %x i_%x -> %x %x i_%x l_pid %x r_pid %x\n",
+ cm->ep, cm, dapl_cm_state_str(cm->state),
+ cm->ref_count,
+ htons(cm->hca->ib_trans.addr.ib.lid),
+ htons(cm->msg.sport),
+ htonl(ep->qp_handle->qp_num),
+ htons(cm->msg.daddr.ib.lid),
+ htons(cm->msg.dport),
+ htonl(cm->msg.daddr.ib.qpn),
+ ntohl(cm->msg.s_id),
+ ntohl(cm->msg.d_id));
+ dapl_os_unlock(&cm->lock);
+ return DAT_INVALID_STATE;
+ }
+ dapl_os_unlock(&cm->lock);
+
+ dapl_dbg_log(DAPL_DBG_TYPE_CM,
+ " ACCEPT_USR: remote lid=%x"
+ " iqp=%x qp_type %d, psize=%d\n",
+ ntohs(cm->msg.daddr.ib.lid),
+ ntohl(cm->msg.daddr.ib.qpn), cm->msg.daddr.ib.qp_type,
+ p_size);
+
+ dapl_dbg_log(DAPL_DBG_TYPE_CM,
+ " ACCEPT_USR: remote GID subnet %016llx id %016llx\n",
+ (unsigned long long)
+ htonll(*(uint64_t*)&cm->msg.daddr.ib.gid[0]),
+ (unsigned long long)
+ htonll(*(uint64_t*)&cm->msg.daddr.ib.gid[8]));
+
+#ifdef DAT_EXTENSIONS
+ if (cm->msg.daddr.ib.qp_type == IBV_QPT_UD &&
+ ep->qp_handle->qp_type != IBV_QPT_UD) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " ACCEPT_USR: ERR remote QP is UD,"
+ ", but local QP is not\n");
+ return (DAT_INVALID_HANDLE | DAT_INVALID_HANDLE_EP);
+ }
+#endif
+
+ /* rdma_out, initiator, cannot exceed remote rdma_in max */
+ if (ntohs(cm->msg.ver) >= 7)
+ ep->param.ep_attr.max_rdma_read_out =
+ DAPL_MIN(ep->param.ep_attr.max_rdma_read_out,
+ cm->msg.rd_in);
+
+ /* modify QP to RTR and then to RTS with remote info already read */
+ dapl_os_lock(&ep->header.lock);
+ if (dapls_modify_qp_state(ep->qp_handle,
+ IBV_QPS_RTR,
+ cm->msg.daddr.ib.qpn,
+ cm->msg.daddr.ib.lid,
+ (ib_gid_handle_t)cm->msg.daddr.ib.gid) != DAT_SUCCESS) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " ACCEPT_USR: QPS_RTR ERR %s -> lid %x qpn %x\n",
+ strerror(errno), ntohs(cm->msg.daddr.ib.lid),
+ ntohl(cm->msg.daddr.ib.qpn));
+ dapl_os_unlock(&ep->header.lock);
+ goto bail;
+ }
+ if (dapls_modify_qp_state(ep->qp_handle,
+ IBV_QPS_RTS,
+ cm->msg.daddr.ib.qpn,
+ cm->msg.daddr.ib.lid,
+ NULL) != DAT_SUCCESS) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " ACCEPT_USR: QPS_RTS ERR %s -> lid %x qpn %x\n",
+ strerror(errno), ntohs(cm->msg.daddr.ib.lid),
+ ntohl(cm->msg.daddr.ib.qpn));
+ dapl_os_unlock(&ep->header.lock);
+ goto bail;
+ }
+ dapl_os_unlock(&ep->header.lock);
+
+ /* save remote address information */
+ dapl_os_memcpy(&ep->remote_ia_address,
+ &cm->msg.saddr, sizeof(union dcm_addr));
+
+ /* setup local QP info and type from EP, copy pdata, for reply */
+ cm->msg.op = htons(DCM_REP);
+ cm->msg.rd_in = ep->param.ep_attr.max_rdma_read_in;
+ cm->msg.saddr.ib.qpn = htonl(ep->qp_handle->qp_num);
+ cm->msg.saddr.ib.qp_type = ep->qp_handle->qp_type;
+ cm->msg.saddr.ib.lid = cm->hca->ib_trans.addr.ib.lid;
+ dapl_os_memcpy(&cm->msg.saddr.ib.gid[0],
+ &cm->hca->ib_trans.addr.ib.gid, 16);
+
+ /*
+ * UD: deliver p_data with REQ and EST event, keep REQ p_data in
+ * cm->msg.p_data and save REPLY accept data in cm->p_data for retries
+ */
+ cm->p_size = p_size;
+ dapl_os_memcpy(&cm->p_data, p_data, p_size);
+
+ /* save state and setup valid reference to EP, HCA. !PSP !RSP */
+ if (!cm->sp->ep_handle && !cm->sp->psp_flags)
+ dapl_ep_link_cm(ep, cm);
+ cm->ep = ep;
+ cm->hca = ia->hca_ptr;
+
+ /* Send RTU and change state under CM lock */
+ dapl_os_lock(&cm->lock);
+ cm->state = DCM_RTU_PENDING;
+ dapl_os_get_time(&cm->timer); /* RTU expected */
+ if (ucm_send(&cm->hca->ib_trans, &cm->msg, cm->p_data, cm->p_size)) {
+ dapl_log(DAPL_DBG_TYPE_ERR," accept ERR: ucm reply send()\n");
+ dapl_os_unlock(&cm->lock);
+ dapl_ep_unlink_cm(ep, cm);
+ goto bail;
+ }
+ dapl_os_unlock(&cm->lock);
+
+ DAPL_CNTR(ia, DCNT_IA_CM_REP_TX);
+ dapl_dbg_log(DAPL_DBG_TYPE_CM, " PASSIVE: accepted!\n");
+ dapls_thread_signal(&cm->hca->ib_trans.signal);
+ return DAT_SUCCESS;
+bail:
+ DAPL_CNTR(ia, DCNT_IA_CM_ERR);
+ dapli_cm_free(cm);
+ return DAT_INTERNAL_ERROR;
+}
+
+
+/*
+ * dapls_ib_connect
+ *
+ * Initiate a connection with the passive listener on another node
+ *
+ * Input:
+ * ep_handle,
+ * remote_ia_address,
+ * remote_conn_qual,
+ * prd_size size of private data and structure
+ * prd_prt pointer to private data structure
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * DAT_SUCCESS
+ * DAT_INSUFFICIENT_RESOURCES
+ * DAT_INVALID_PARAMETER
+ *
+ */
+DAT_RETURN
+dapls_ib_connect(IN DAT_EP_HANDLE ep_handle,
+ IN DAT_IA_ADDRESS_PTR r_addr,
+ IN DAT_CONN_QUAL r_psp,
+ IN DAT_COUNT p_size, IN void *p_data)
+{
+ DAPL_EP *ep = (DAPL_EP *)ep_handle;
+ dp_ib_cm_handle_t cm;
+
+ /* create CM object, initialize SRC info from EP */
+ cm = dapls_ib_cm_create(ep);
+ if (cm == NULL)
+ return DAT_INSUFFICIENT_RESOURCES;
+
+ /* remote hca and port: lid, gid, network order */
+ dapl_os_memcpy(&cm->msg.daddr, r_addr, sizeof(union dcm_addr));
+
+ /* remote uCM information, comes from consumer provider r_addr */
+ cm->msg.dport = htons((uint16_t)r_psp);
+ cm->msg.dqpn = cm->msg.daddr.ib.qpn;
+ cm->msg.daddr.ib.qpn = 0; /* don't have a remote qpn until reply */
+
+ /* set max rdma inbound requests */
+ cm->msg.rd_in = ep->param.ep_attr.max_rdma_read_in;
+
+ if (p_size) {
+ cm->msg.p_size = htons(p_size);
+ dapl_os_memcpy(&cm->msg.p_data, p_data, p_size);
+ }
+
+ cm->state = DCM_INIT;
+
+ /* link EP and CM, put on work queue */
+ dapli_queue_conn(cm);
+
+ /* build connect request, send to remote CM based on r_addr info */
+ return (dapli_cm_connect(ep, cm));
+}
+
+/*
+ * dapls_ib_disconnect
+ *
+ * Disconnect an EP
+ *
+ * Input:
+ * ep_handle,
+ * disconnect_flags
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * DAT_SUCCESS
+ */
+DAT_RETURN
+dapls_ib_disconnect(IN DAPL_EP *ep_ptr, IN DAT_CLOSE_FLAGS close_flags)
+{
+ dp_ib_cm_handle_t cm_ptr = dapl_get_cm_from_ep(ep_ptr);
+
+ dapl_os_lock(&ep_ptr->header.lock);
+ if (ep_ptr->param.ep_state == DAT_EP_STATE_DISCONNECTED ||
+ ep_ptr->param.ep_attr.service_type != DAT_SERVICE_TYPE_RC ||
+ cm_ptr == NULL) {
+ dapl_os_unlock(&ep_ptr->header.lock);
+ return DAT_SUCCESS;
+ }
+ dapl_os_unlock(&ep_ptr->header.lock);
+
+ dapli_cm_disconnect(cm_ptr);
+
+ /* ABRUPT close, wait for callback and DISCONNECTED state */
+ if (close_flags == DAT_CLOSE_ABRUPT_FLAG) {
+ dapl_os_lock(&ep_ptr->header.lock);
+ if (ep_ptr->param.ep_state != DAT_EP_STATE_DISCONNECTED) {
+ dapl_os_unlock(&ep_ptr->header.lock);
+ dapl_os_wait_object_wait(&cm_ptr->d_event, DAT_TIMEOUT_INFINITE);
+ dapl_os_lock(&ep_ptr->header.lock);
+ }
+ dapl_os_unlock(&ep_ptr->header.lock);
+ }
+
+ return DAT_SUCCESS;
+}
+
+/*
+ * dapls_ib_disconnect_clean
+ *
+ * Clean up outstanding connection data. This routine is invoked
+ * after the final disconnect callback has occurred. Only on the
+ * ACTIVE side of a connection. It is also called if dat_ep_connect
+ * times out using the consumer supplied timeout value.
+ *
+ * Input:
+ * ep_ptr DAPL_EP
+ * active Indicates active side of connection
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * void
+ *
+ */
+void
+dapls_ib_disconnect_clean(IN DAPL_EP *ep,
+ IN DAT_BOOLEAN active,
+ IN const ib_cm_events_t ib_cm_event)
+{
+ if (ib_cm_event == IB_CME_TIMEOUT) {
+ dp_ib_cm_handle_t cm_ptr;
+
+ if ((cm_ptr = dapl_get_cm_from_ep(ep)) == NULL)
+ return;
+
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ "dapls_ib_disc_clean: CONN_TIMEOUT ep %p cm %p %s\n",
+ ep, cm_ptr, dapl_cm_state_str(cm_ptr->state));
+
+ /* schedule release of socket and local resources */
+ dapli_cm_free(cm_ptr);
+ }
+}
+
+/*
+ * dapl_ib_setup_conn_listener
+ *
+ * Have the CM set up a connection listener.
+ *
+ * Input:
+ * ibm_hca_handle HCA handle
+ * qp_handle QP handle
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * DAT_SUCCESS
+ * DAT_INSUFFICIENT_RESOURCES
+ * DAT_INTERNAL_ERROR
+ * DAT_CONN_QUAL_UNAVAILBLE
+ * DAT_CONN_QUAL_IN_USE
+ *
+ */
+DAT_RETURN
+dapls_ib_setup_conn_listener(IN DAPL_IA *ia,
+ IN DAT_UINT64 sid,
+ IN DAPL_SP *sp)
+{
+ ib_cm_srvc_handle_t cm = NULL;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EP,
+ " listen(ia %p ServiceID %x sp %p)\n",
+ ia, sid, sp);
+
+ /* reserve local port, then allocate CM object */
+ if (!ucm_get_port(&ia->hca_ptr->ib_trans, (uint16_t)sid)) {
+ dapl_dbg_log(DAPL_DBG_TYPE_WARN,
+ " listen: ERROR %s on conn_qual %x\n",
+ strerror(errno), sid);
+ return DAT_CONN_QUAL_IN_USE;
+ }
+
+ /* cm_create will setup saddr for listen server */
+ if ((cm = dapls_ib_cm_create(NULL)) == NULL)
+ return DAT_INSUFFICIENT_RESOURCES;
+
+ /* LISTEN: init DST address and QP info to local CM server info */
+ cm->sp = sp;
+ cm->hca = ia->hca_ptr;
+ cm->msg.sport = htons((uint16_t)sid);
+ cm->msg.sqpn = htonl(ia->hca_ptr->ib_trans.qp->qp_num);
+ cm->msg.saddr.ib.qp_type = IBV_QPT_UD;
+ cm->msg.saddr.ib.lid = ia->hca_ptr->ib_trans.addr.ib.lid;
+ dapl_os_memcpy(&cm->msg.saddr.ib.gid[0],
+ &cm->hca->ib_trans.addr.ib.gid, 16);
+
+ /* save cm_handle reference in service point */
+ sp->cm_srvc_handle = cm;
+
+ /* queue up listen socket to process inbound CR's */
+ cm->state = DCM_LISTEN;
+ dapli_queue_listen(cm);
+ DAPL_CNTR(ia, DCNT_IA_CM_LISTEN);
+
+ return DAT_SUCCESS;
+}
+
+
+/*
+ * dapl_ib_remove_conn_listener
+ *
+ * Have the CM remove a connection listener.
+ *
+ * Input:
+ * ia_handle IA handle
+ * ServiceID IB Channel Service ID
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * DAT_SUCCESS
+ * DAT_INVALID_STATE
+ *
+ */
+DAT_RETURN
+dapls_ib_remove_conn_listener(IN DAPL_IA *ia, IN DAPL_SP *sp)
+{
+ ib_cm_srvc_handle_t cm = sp->cm_srvc_handle;
+
+ /* free cm_srvc_handle and port, and mark CM for cleanup */
+ if (cm) {
+ dapl_dbg_log(DAPL_DBG_TYPE_EP,
+ " remove_listener(ia %p sp %p cm %p psp=%x)\n",
+ ia, sp, cm, ntohs(cm->msg.dport));
+
+ sp->cm_srvc_handle = NULL;
+ dapli_dequeue_listen(cm);
+ ucm_free_port(&cm->hca->ib_trans, ntohs(cm->msg.sport));
+ dapls_cm_release(cm); /* last ref, dealloc */
+ }
+ return DAT_SUCCESS;
+}
+
+/*
+ * dapls_ib_accept_connection
+ *
+ * Perform necessary steps to accept a connection
+ *
+ * Input:
+ * cr_handle
+ * ep_handle
+ * private_data_size
+ * private_data
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * DAT_SUCCESS
+ * DAT_INSUFFICIENT_RESOURCES
+ * DAT_INTERNAL_ERROR
+ *
+ */
+DAT_RETURN
+dapls_ib_accept_connection(IN DAT_CR_HANDLE cr_handle,
+ IN DAT_EP_HANDLE ep_handle,
+ IN DAT_COUNT p_size,
+ IN const DAT_PVOID p_data)
+{
+ DAPL_CR *cr = (DAPL_CR *)cr_handle;
+ DAPL_EP *ep = (DAPL_EP *)ep_handle;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EP,
+ " accept_connection(cr %p ep %p prd %p,%d)\n",
+ cr, ep, p_data, p_size);
+
+ /* allocate and attach a QP if necessary */
+ if (ep->qp_state == DAPL_QP_STATE_UNATTACHED) {
+ DAT_RETURN status;
+ status = dapls_ib_qp_alloc(ep->header.owner_ia,
+ ep, ep);
+ if (status != DAT_SUCCESS)
+ return status;
+ }
+ return (dapli_accept_usr(ep, cr, p_size, p_data));
+}
+
+/*
+ * dapls_ib_reject_connection
+ *
+ * Reject a connection
+ *
+ * Input:
+ * cr_handle
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * DAT_SUCCESS
+ * DAT_INTERNAL_ERROR
+ *
+ */
+DAT_RETURN
+dapls_ib_reject_connection(IN dp_ib_cm_handle_t cm,
+ IN int reason,
+ IN DAT_COUNT psize, IN const DAT_PVOID pdata)
+{
+ dapl_dbg_log(DAPL_DBG_TYPE_EP,
+ " reject(cm %p reason %x, pdata %p, psize %d)\n",
+ cm, reason, pdata, psize);
+
+ if (psize > DCM_MAX_PDATA_SIZE)
+ return DAT_LENGTH_ERROR;
+
+ /* cr_thread will destroy CR, update saddr lid, gid, qp_type info */
+ dapl_os_lock(&cm->lock);
+ dapl_log(DAPL_DBG_TYPE_CM,
+ " PASSIVE: REJECTING CM_REQ:"
+ " cm %p op %s, st %s slid %x iqp %x port %x ->"
+ " dlid %x iqp %x port %x\n", cm,
+ dapl_cm_op_str(ntohs(cm->msg.op)),
+ dapl_cm_state_str(cm->state),
+ ntohs(cm->hca->ib_trans.addr.ib.lid),
+ ntohl(cm->msg.saddr.ib.qpn),
+ ntohs(cm->msg.sport), ntohs(cm->msg.daddr.ib.lid),
+ ntohl(cm->msg.daddr.ib.qpn), ntohs(cm->msg.dport));
+
+ cm->state = DCM_REJECTED;
+ cm->msg.saddr.ib.lid = cm->hca->ib_trans.addr.ib.lid;
+ cm->msg.saddr.ib.qp_type = cm->msg.daddr.ib.qp_type;
+ dapl_os_memcpy(&cm->msg.saddr.ib.gid[0],
+ &cm->hca->ib_trans.addr.ib.gid, 16);
+
+ if (reason == IB_CM_REJ_REASON_CONSUMER_REJ)
+ cm->msg.op = htons(DCM_REJ_USER);
+ else
+ cm->msg.op = htons(DCM_REJ_CM);
+
+ DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm->hca->ia_list_head)),
+ reason == IB_CM_REJ_REASON_CONSUMER_REJ ?
+ DCNT_IA_CM_USER_REJ_TX : DCNT_IA_CM_ERR_REJ_TX);
+
+ if (ucm_send(&cm->hca->ib_trans, &cm->msg, pdata, psize)) {
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ " cm_reject: send ERR: %s\n", strerror(errno));
+ dapl_os_unlock(&cm->lock);
+ return DAT_INTERNAL_ERROR;
+ }
+ dapl_os_unlock(&cm->lock);
+ dapli_cm_free(cm);
+ return DAT_SUCCESS;
+}
+
+/*
+ * dapls_ib_cm_remote_addr
+ *
+ * Obtain the remote IP address given a connection
+ *
+ * Input:
+ * cr_handle
+ *
+ * Output:
+ * remote_ia_address: where to place the remote address
+ *
+ * Returns:
+ * DAT_SUCCESS
+ * DAT_INVALID_HANDLE
+ *
+ */
+DAT_RETURN
+dapls_ib_cm_remote_addr(IN DAT_HANDLE dat_handle,
+ OUT DAT_SOCK_ADDR6 * remote_ia_address)
+{
+ DAPL_HEADER *header;
+ dp_ib_cm_handle_t cm;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_EP,
+ "dapls_ib_cm_remote_addr(dat_handle %p, ....)\n",
+ dat_handle);
+
+ header = (DAPL_HEADER *) dat_handle;
+
+ if (header->magic == DAPL_MAGIC_EP)
+ cm = dapl_get_cm_from_ep((DAPL_EP *) dat_handle);
+ else if (header->magic == DAPL_MAGIC_CR)
+ cm = ((DAPL_CR *) dat_handle)->ib_cm_handle;
+ else
+ return DAT_INVALID_HANDLE;
+
+ dapl_os_memcpy(remote_ia_address,
+ &cm->msg.daddr, sizeof(DAT_SOCK_ADDR6));
+
+ return DAT_SUCCESS;
+}
+
+int dapls_ib_private_data_size(
+ IN DAPL_HCA *hca_ptr)
+{
+ return DCM_MAX_PDATA_SIZE;
+}
+
+#if defined(_WIN32) || defined(_WIN64)
+
+void cm_thread(void *arg)
+{
+ struct dapl_hca *hca = arg;
+ dp_ib_cm_handle_t cm, next;
+ DWORD time_ms;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " cm_thread: ENTER hca %p\n", hca);
+ dapl_os_lock(&hca->ib_trans.lock);
+ for (hca->ib_trans.cm_state = IB_THREAD_RUN;
+ hca->ib_trans.cm_state == IB_THREAD_RUN ||
+ !dapl_llist_is_empty(&hca->ib_trans.list);
+ dapl_os_lock(&hca->ib_trans.lock)) {
+
+ time_ms = INFINITE;
+ CompSetZero(&hca->ib_trans.signal.set);
+ CompSetAdd(&hca->ib_hca_handle->channel, &hca->ib_trans.signal.set);
+ CompSetAdd(&hca->ib_trans.rch->comp_channel, &hca->ib_trans.signal.set);
+ CompSetAdd(&hca->ib_trans.ib_cq->comp_channel, &hca->ib_trans.signal.set);
+
+ next = dapl_llist_is_empty(&hca->ib_trans.list) ? NULL :
+ dapl_llist_peek_head(&hca->ib_trans.list);
+
+ while (next) {
+ cm = next;
+ next = dapl_llist_next_entry(&hca->ib_trans.list,
+ (DAPL_LLIST_ENTRY *)&cm->local_entry);
+ dapls_cm_acquire(cm); /* hold thread ref */
+ dapl_os_lock(&cm->lock);
+ if (cm->state == DCM_FREE ||
+ hca->ib_trans.cm_state != IB_THREAD_RUN) {
+ dapl_os_unlock(&cm->lock);
+ dapl_log(DAPL_DBG_TYPE_CM,
+ " CM FREE: %p ep=%p st=%s refs=%d\n",
+ cm, cm->ep, dapl_cm_state_str(cm->state),
+ cm->ref_count);
+
+ dapls_cm_release(cm); /* release alloc ref */
+ dapli_cm_dequeue(cm); /* release workq ref */
+ dapls_cm_release(cm); /* release thread ref */
+ continue;
+ }
+ dapl_os_unlock(&cm->lock);
+ ucm_check_timers(cm, &time_ms);
+ dapls_cm_release(cm); /* release thread ref */
+ }
+
+ dapl_os_unlock(&hca->ib_trans.lock);
+
+ hca->ib_hca_handle->channel.Milliseconds = time_ms;
+ hca->ib_trans.rch->comp_channel.Milliseconds = time_ms;
+ hca->ib_trans.ib_cq->comp_channel.Milliseconds = time_ms;
+ CompSetPoll(&hca->ib_trans.signal.set, time_ms);
+
+ hca->ib_hca_handle->channel.Milliseconds = 0;
+ hca->ib_trans.rch->comp_channel.Milliseconds = 0;
+ hca->ib_trans.ib_cq->comp_channel.Milliseconds = 0;
+
+ ucm_recv(&hca->ib_trans);
+ ucm_async_event(hca);
+ dapli_cq_event_cb(&hca->ib_trans);
+ }
+
+ dapl_os_unlock(&hca->ib_trans.lock);
+ hca->ib_trans.cm_state = IB_THREAD_EXIT;
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " cm_thread(hca %p) exit\n", hca);
+}
+
+#else // _WIN32 || _WIN64
+
+void cm_thread(void *arg)
+{
+ struct dapl_hca *hca = arg;
+ dp_ib_cm_handle_t cm, next;
+ struct dapl_fd_set *set;
+ char rbuf[2];
+ int time_ms;
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " cm_thread: ENTER hca %p\n", hca);
+ set = dapl_alloc_fd_set();
+ if (!set)
+ goto out;
+
+ dapl_os_lock(&hca->ib_trans.lock);
+ hca->ib_trans.cm_state = IB_THREAD_RUN;
+
+ while (1) {
+ time_ms = -1; /* reset to blocking */
+ dapl_fd_zero(set);
+ dapl_fd_set(hca->ib_trans.signal.scm[0], set, DAPL_FD_READ);
+ dapl_fd_set(hca->ib_hca_handle->async_fd, set, DAPL_FD_READ);
+ dapl_fd_set(hca->ib_trans.rch->fd, set, DAPL_FD_READ);
+ dapl_fd_set(hca->ib_trans.ib_cq->fd, set, DAPL_FD_READ);
+
+ if (!dapl_llist_is_empty(&hca->ib_trans.list))
+ next = dapl_llist_peek_head(&hca->ib_trans.list);
+ else
+ next = NULL;
+
+ while (next) {
+ cm = next;
+ next = dapl_llist_next_entry(
+ &hca->ib_trans.list,
+ (DAPL_LLIST_ENTRY *)&cm->local_entry);
+ dapls_cm_acquire(cm); /* hold thread ref */
+ dapl_os_lock(&cm->lock);
+ if (cm->state == DCM_FREE ||
+ hca->ib_trans.cm_state != IB_THREAD_RUN) {
+ dapl_os_unlock(&cm->lock);
+ dapl_log(DAPL_DBG_TYPE_CM,
+ " CM FREE: %p ep=%p st=%s refs=%d\n",
+ cm, cm->ep, dapl_cm_state_str(cm->state),
+ cm->ref_count);
+
+ dapls_cm_release(cm); /* release alloc ref */
+ dapli_cm_dequeue(cm); /* release workq ref */
+ dapls_cm_release(cm); /* release thread ref */
+ continue;
+ }
+ dapl_os_unlock(&cm->lock);
+ ucm_check_timers(cm, &time_ms);
+ dapls_cm_release(cm); /* release thread ref */
+ }
+
+ /* set to exit and all resources destroyed */
+ if ((hca->ib_trans.cm_state != IB_THREAD_RUN) &&
+ (dapl_llist_is_empty(&hca->ib_trans.list)))
+ break;
+
+ dapl_os_unlock(&hca->ib_trans.lock);
+ dapl_select(set, time_ms);
+
+ /* Process events: CM, ASYNC, NOTIFY THREAD */
+ if (dapl_poll(hca->ib_trans.rch->fd,
+ DAPL_FD_READ) == DAPL_FD_READ) {
+ ucm_recv(&hca->ib_trans);
+ }
+ if (dapl_poll(hca->ib_hca_handle->async_fd,
+ DAPL_FD_READ) == DAPL_FD_READ) {
+ ucm_async_event(hca);
+ }
+ if (dapl_poll(hca->ib_trans.ib_cq->fd,
+ DAPL_FD_READ) == DAPL_FD_READ) {
+ dapli_cq_event_cb(&hca->ib_trans);
+ }
+ while (dapl_poll(hca->ib_trans.signal.scm[0],
+ DAPL_FD_READ) == DAPL_FD_READ) {
+ recv(hca->ib_trans.signal.scm[0], rbuf, 2, 0);
+ }
+ dapl_os_lock(&hca->ib_trans.lock);
+
+ /* set to exit and all resources destroyed */
+ if ((hca->ib_trans.cm_state != IB_THREAD_RUN) &&
+ (dapl_llist_is_empty(&hca->ib_trans.list)))
+ break;
+ }
+
+ dapl_os_unlock(&hca->ib_trans.lock);
+ free(set);
+out:
+ hca->ib_trans.cm_state = IB_THREAD_EXIT;
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " cm_thread(hca %p) exit\n", hca);
+}
+#endif
+
+#ifdef DAPL_COUNTERS
+static char _ctr_host_[128];
+/* Debug aid: List all Connections in process and state */
+void dapls_print_cm_list(IN DAPL_IA *ia_ptr)
+{
+ /* Print in process CM's for this IA, if debug type set */
+ int i = 0;
+ dp_ib_cm_handle_t cm, next_cm;
+ struct dapl_llist_entry **list;
+ DAPL_OS_LOCK *lock;
+
+ /* LISTEN LIST */
+ list = &ia_ptr->hca_ptr->ib_trans.llist;
+ lock = &ia_ptr->hca_ptr->ib_trans.llock;
+
+ dapl_os_lock(lock);
+ if (!dapl_llist_is_empty((DAPL_LLIST_HEAD*)list))
+ next_cm = dapl_llist_peek_head((DAPL_LLIST_HEAD*)list);
+ else
+ next_cm = NULL;
+
+ gethostname(_ctr_host_, sizeof(_ctr_host_));
+ printf("\n [%s:%x] DAPL IA LISTEN/CONNECTIONS IN PROCESS:\n",
+ _ctr_host_ , dapl_os_getpid());
+
+ while (next_cm) {
+ cm = next_cm;
+ next_cm = dapl_llist_next_entry((DAPL_LLIST_HEAD*)list,
+ (DAPL_LLIST_ENTRY*)&cm->local_entry);
+
+ printf( " LISTEN[%d]: sp %p %s uCM_QP: %x %x c_%x l_pid %x \n",
+ i, cm->sp, dapl_cm_state_str(cm->state),
+ ntohs(cm->msg.saddr.ib.lid), ntohs(cm->msg.sport),
+ ntohl(cm->msg.sqpn),
+ ntohl(cm->msg.s_id));
+ i++;
+ }
+ dapl_os_unlock(lock);
+
+ /* CONNECTION LIST */
+ list = &ia_ptr->hca_ptr->ib_trans.list;
+ lock = &ia_ptr->hca_ptr->ib_trans.lock;
+
+ dapl_os_lock(lock);
+ if (!dapl_llist_is_empty((DAPL_LLIST_HEAD*)list))
+ next_cm = dapl_llist_peek_head((DAPL_LLIST_HEAD*)list);
+ else
+ next_cm = NULL;
+
+ while (next_cm) {
+ cm = next_cm;
+ next_cm = dapl_llist_next_entry((DAPL_LLIST_HEAD*)list,
+ (DAPL_LLIST_ENTRY*)&cm->local_entry);
+
+ printf( " CONN[%d]: ep %p cm %p %s %s"
+ " %x %x c_%x i_%x %s %x %x c_%x i_%x r_pid %x\n",
+ i, cm->ep, cm,
+ cm->msg.saddr.ib.qp_type == IBV_QPT_RC ? "RC" : "UD",
+ dapl_cm_state_str(cm->state),
+ ntohs(cm->msg.saddr.ib.lid),
+ ntohs(cm->msg.sport),
+ ntohl(cm->msg.sqpn),
+ ntohl(cm->msg.saddr.ib.qpn),
+ cm->sp ? "<-" : "->",
+ ntohs(cm->msg.daddr.ib.lid),
+ ntohs(cm->msg.dport),
+ ntohl(cm->msg.dqpn),
+ ntohl(cm->msg.daddr.ib.qpn),
+ ntohl(cm->msg.d_id));
+ i++;
+ }
+ printf("\n");
+ dapl_os_unlock(lock);
+}
+
+void dapls_print_cm_free_list(IN DAPL_IA *ia_ptr)
+{
+ DAPL_EP *ep, *next_ep;
+ dp_ib_cm_handle_t cm, next_cm;
+ int i = 0;
+
+ gethostname(_ctr_host_, sizeof(_ctr_host_));
+ printf("\n [%s:%x] DAPL EP CM FREE LIST:\n",
+ _ctr_host_ , dapl_os_getpid());
+
+ dapl_os_lock(&ia_ptr->header.lock);
+ ep = (dapl_llist_is_empty(&ia_ptr->ep_list_head) ?
+ NULL : dapl_llist_peek_head(&ia_ptr->ep_list_head));
+ while (ep != NULL) {
+ next_ep = dapl_llist_next_entry(&ia_ptr->ep_list_head,
+ &ep->header.ia_list_entry);
+ dapl_os_lock(&ep->header.lock);
+ cm = (dapl_llist_is_empty(&ep->cm_list_head) ?
+ NULL : dapl_llist_peek_head(&ep->cm_list_head));
+ while (cm) {
+ dapl_os_lock(&cm->lock);
+ next_cm = dapl_llist_next_entry(&ep->cm_list_head,
+ &cm->list_entry);
+ if (cm->state == DCM_FREE) {
+ printf( " CONN[%d]: ep %p cm %p %s %s"
+ " %x %x c_%x i_%x l_pid %x %s"
+ " %x %x c_%x i_%x r_pid %x\n",
+ i, cm->ep, cm,
+ cm->msg.saddr.ib.qp_type == IBV_QPT_RC ? "RC" : "UD",
+ dapl_cm_state_str(cm->state),
+ ntohs(cm->msg.saddr.ib.lid),
+ ntohs(cm->msg.sport),
+ ntohl(cm->msg.sqpn),
+ ntohl(cm->msg.saddr.ib.qpn),
+ ntohl(cm->msg.s_id),
+ cm->sp ? "<-" : "->",
+ ntohs(cm->msg.daddr.ib.lid),
+ ntohs(cm->msg.dport),
+ ntohl(cm->msg.dqpn),
+ ntohl(cm->msg.daddr.ib.qpn),
+ ntohl(cm->msg.d_id));
+ i++;
+ }
+ dapl_os_unlock(&cm->lock);
+ cm = next_cm;
+ }
+ dapl_os_unlock(&ep->header.lock);
+ ep = next_ep;
+ }
+ dapl_os_unlock(&ia_ptr->header.lock);
+}
+#endif
diff --git a/dapl/openib_ucm/dapl_ib_util.h b/dapl/openib_ucm/dapl_ib_util.h
new file mode 100644
index 0000000..91c8466
--- /dev/null
+++ b/dapl/openib_ucm/dapl_ib_util.h
@@ -0,0 +1,159 @@
+/*
+ * Copyright (c) 2009 Intel Corporation. All rights reserved.
+ *
+ * This Software is licensed under one of the following licenses:
+ *
+ * 1) under the terms of the "Common Public License 1.0" a copy of which is
+ * available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/cpl.php.
+ *
+ * 2) under the terms of the "The BSD License" a copy of which is
+ * available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/bsd-license.php.
+ *
+ * 3) under the terms of the "GNU General Public License (GPL) Version 2" a
+ * copy of which is available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/gpl-license.php.
+ *
+ * Licensee has the right to choose one of the above licenses.
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice and one of the license notices.
+ *
+ * Redistributions in binary form must reproduce both the above copyright
+ * notice, one of the license notices in the documentation
+ * and/or other materials provided with the distribution.
+ */
+
+#ifndef _DAPL_IB_UTIL_H_
+#define _DAPL_IB_UTIL_H_
+#define _OPENIB_SCM_
+
+#include <infiniband/verbs.h>
+#include "openib_osd.h"
+#include "dapl_ib_common.h"
+
+/* DAPL CM objects MUST include list_entry, ref_count, event for EP linking */
+struct ib_cm_handle
+{
+ struct dapl_llist_entry list_entry;
+ struct dapl_llist_entry local_entry;
+ DAPL_OS_WAIT_OBJECT d_event;
+ DAPL_OS_WAIT_OBJECT f_event;
+ DAPL_OS_LOCK lock;
+ DAPL_OS_TIMEVAL timer;
+ int ref_count;
+ int state;
+ int retries;
+ struct dapl_hca *hca;
+ struct dapl_sp *sp;
+ struct dapl_ep *ep;
+ struct dapl_cr *cr;
+ struct ibv_ah *ah;
+ uint16_t p_size; /* accept p_data, for retries */
+ uint8_t p_data[DCM_MAX_PDATA_SIZE];
+ ib_cm_msg_t msg;
+};
+
+typedef struct ib_cm_handle *dp_ib_cm_handle_t;
+typedef dp_ib_cm_handle_t ib_cm_srvc_handle_t;
+
+/* Definitions */
+#define IB_INVALID_HANDLE NULL
+
+/* ib_hca_transport_t, specific to this implementation */
+typedef struct _ib_hca_transport
+{
+ struct ibv_device *ib_dev;
+ struct dapl_hca *hca;
+ struct ibv_context *ib_ctx;
+ struct ibv_comp_channel *ib_cq;
+ ib_cq_handle_t ib_cq_empty;
+ int destroy;
+ int cm_state;
+ DAPL_OS_THREAD thread;
+ DAPL_OS_LOCK lock; /* connect list */
+ struct dapl_llist_entry *list;
+ DAPL_OS_LOCK llock; /* listen list */
+ struct dapl_llist_entry *llist;
+ ib_async_handler_t async_unafiliated;
+ void *async_un_ctx;
+ ib_async_cq_handler_t async_cq_error;
+ ib_async_dto_handler_t async_cq;
+ ib_async_qp_handler_t async_qp_error;
+ union dcm_addr addr; /* lid, port, qp_num, gid */
+ int max_inline_send;
+ int rd_atom_in;
+ int rd_atom_out;
+ uint8_t ack_timer;
+ uint8_t ack_retry;
+ uint8_t rnr_timer;
+ uint8_t rnr_retry;
+ uint8_t global;
+ uint8_t hop_limit;
+ uint8_t tclass;
+ uint8_t mtu;
+ struct dapl_thread_signal signal;
+ int cqe;
+ int qpe;
+ int burst;
+ int retries;
+ int cm_timer;
+ int rep_time;
+ int rtu_time;
+ DAPL_OS_LOCK slock;
+ int s_hd;
+ int s_tl;
+ struct ibv_pd *pd;
+ struct ibv_cq *scq;
+ struct ibv_cq *rcq;
+ struct ibv_qp *qp;
+ struct ibv_mr *mr_rbuf;
+ struct ibv_mr *mr_sbuf;
+ ib_cm_msg_t *sbuf;
+ ib_cm_msg_t *rbuf;
+ struct ibv_comp_channel *rch;
+ struct ibv_ah **ah;
+ DAPL_OS_LOCK plock;
+ uint16_t lid;
+ uint8_t *sid; /* Sevice IDs, port space, bitarray? */
+ uint8_t sl;
+ uint16_t pkey;
+ int pkey_idx;
+ uint64_t guid;
+ char guid_str[32];
+ ib_named_attr_t na;
+#ifdef DAT_IB_COLLECTIVES
+ /* Collective member device and address information */
+ ib_thread_state_t coll_thread_state;
+ DAPL_OS_THREAD coll_thread;
+ DAPL_OS_LOCK coll_lock;
+ DAPL_OS_WAIT_OBJECT coll_event;
+ struct dapl_llist_entry *grp_list;
+ user_progress_func_t *user_func;
+ int l_sock;
+ struct sockaddr_in m_addr;
+ void *m_ctx;
+ void *m_info;
+ void *f_info;
+ int m_size;
+ int f_size;
+ int t_id;
+#endif
+
+} ib_hca_transport_t;
+
+/* prototypes */
+void cm_thread(void *arg);
+void ucm_async_event(struct dapl_hca *hca);
+void dapli_cq_event_cb(struct _ib_hca_transport *tp);
+void dapls_cm_acquire(dp_ib_cm_handle_t cm_ptr);
+void dapls_cm_release(dp_ib_cm_handle_t cm_ptr);
+void dapls_cm_free(dp_ib_cm_handle_t cm_ptr);
+
+#ifdef DAPL_COUNTERS
+void dapls_print_cm_list(IN DAPL_IA *ia_ptr);
+#endif
+
+#endif /* _DAPL_IB_UTIL_H_ */
+
diff --git a/dapl/openib_ucm/device.c b/dapl/openib_ucm/device.c
new file mode 100644
index 0000000..a07d886
--- /dev/null
+++ b/dapl/openib_ucm/device.c
@@ -0,0 +1,687 @@
+/*
+ * Copyright (c) 2009 Intel Corporation. All rights reserved.
+ *
+ * This Software is licensed under one of the following licenses:
+ *
+ * 1) under the terms of the "Common Public License 1.0" a copy of which is
+ * available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/cpl.php.
+ *
+ * 2) under the terms of the "The BSD License" a copy of which is
+ * available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/bsd-license.php.
+ *
+ * 3) under the terms of the "GNU General Public License (GPL) Version 2" a
+ * copy of which is available from the Open Source Initiative, see
+ * http://www.opensource.org/licenses/gpl-license.php.
+ *
+ * Licensee has the right to choose one of the above licenses.
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice and one of the license notices.
+ *
+ * Redistributions in binary form must reproduce both the above copyright
+ * notice, one of the license notices in the documentation
+ * and/or other materials provided with the distribution.
+ */
+
+#include "openib_osd.h"
+#include "dapl.h"
+#include "dapl_adapter_util.h"
+#include "dapl_ib_util.h"
+#include "dapl_osd.h"
+
+#include <stdlib.h>
+
+#ifdef DAT_IB_COLLECTIVES
+#include <collectives/ib_collectives.h>
+#endif
+
+static void ucm_service_destroy(IN DAPL_HCA *hca);
+static int ucm_service_create(IN DAPL_HCA *hca);
+
+#if defined (_WIN32)
+#include <rdma\winverbs.h>
+
+static int32_t create_os_signal(IN DAPL_HCA * hca_ptr)
+{
+ return CompSetInit(&hca_ptr->ib_trans.signal.set);
+}
+
+static void destroy_os_signal(IN DAPL_HCA * hca_ptr)
+{
+ CompSetCleanup(&hca_ptr->ib_trans.signal.set);
+}
+
+static int dapls_config_verbs(struct ibv_context *verbs)
+{
+ verbs->channel.Milliseconds = 0;
+ return 0;
+}
+
+static int dapls_config_comp_channel(struct ibv_comp_channel *channel)
+{
+ channel->comp_channel.Milliseconds = 0;
+ return 0;
+}
+
+#else // _WIN32
+
+static int32_t create_os_signal(IN DAPL_HCA * hca_ptr)
+{
+ DAPL_SOCKET listen_socket;
+ struct sockaddr_in addr;
+ socklen_t addrlen = sizeof(addr);
+ int ret;
+
+ listen_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
+ if (listen_socket == DAPL_INVALID_SOCKET)
+ return 1;
+
+ memset(&addr, 0, sizeof addr);
+ addr.sin_family = AF_INET;
+ addr.sin_addr.s_addr = htonl(0x7f000001);
+ ret = bind(listen_socket, (struct sockaddr *)&addr, sizeof addr);
+ if (ret)
+ goto err1;
+
+ ret = getsockname(listen_socket, (struct sockaddr *)&addr, &addrlen);
+ if (ret)
+ goto err1;
+
+ ret = listen(listen_socket, 0);
+ if (ret)
+ goto err1;
+
+ hca_ptr->ib_trans.signal.scm[1] = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
+ if (hca_ptr->ib_trans.signal.scm[1] == DAPL_INVALID_SOCKET)
+ goto err1;
+
+ ret = connect(hca_ptr->ib_trans.signal.scm[1],
+ (struct sockaddr *)&addr, sizeof(addr));
+ if (ret)
+ goto err2;
+
+ hca_ptr->ib_trans.signal.scm[0] = accept(listen_socket, NULL, NULL);
+ if (hca_ptr->ib_trans.signal.scm[0] == DAPL_INVALID_SOCKET)
+ goto err2;
+
+ closesocket(listen_socket);
+ return 0;
+
+ err2:
+ closesocket(hca_ptr->ib_trans.signal.scm[1]);
+ err1:
+ closesocket(listen_socket);
+ return 1;
+}
+
+static void destroy_os_signal(IN DAPL_HCA * hca_ptr)
+{
+ closesocket(hca_ptr->ib_trans.signal.scm[0]);
+ closesocket(hca_ptr->ib_trans.signal.scm[1]);
+}
+
+static int dapls_config_fd(int fd)
+{
+ int opts;
+
+ opts = fcntl(fd, F_GETFL);
+ if (opts < 0 || fcntl(fd, F_SETFL, opts | O_NONBLOCK) < 0) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " dapls_config_fd: fcntl on fd %d ERR %d %s\n",
+ fd, opts, strerror(errno));
+ return errno;
+ }
+
+ return 0;
+}
+
+static int dapls_config_verbs(struct ibv_context *verbs)
+{
+ return dapls_config_fd(verbs->async_fd);
+}
+
+static int dapls_config_comp_channel(struct ibv_comp_channel *channel)
+{
+ return dapls_config_fd(channel->fd);
+}
+
+#endif
+
+/*
+ * dapls_ib_init, dapls_ib_release
+ *
+ * Initialize Verb related items for device open
+ *
+ * Input:
+ * none
+ *
+ * Output:
+ * none
+ *
+ * Returns:
+ * 0 success, -1 error
+ *
+ */
+int32_t dapls_ib_init(void)
+{
+ return 0;
+}
+
+int32_t dapls_ib_release(void)
+{
+ return 0;
+}
+
+/*
+ * dapls_ib_open_hca
+ *
+ * Open HCA
+ *
+ * Input:
+ * *hca_name pointer to provider device name
+ * *ib_hca_handle_p pointer to provide HCA handle
+ *
+ * Output:
+ * none
+ *
+ * Return:
+ * DAT_SUCCESS
+ * dapl_convert_errno
+ *
+ */
+DAT_RETURN dapls_ib_open_hca(IN IB_HCA_NAME hca_name, IN DAPL_HCA * hca_ptr)
+{
+ struct ibv_device **dev_list;
+ struct ibv_port_attr port_attr;
+ int i;
+ DAT_RETURN dat_status;
+
+ /* Get list of all IB devices, find match, open */
+ dev_list = ibv_get_device_list(NULL);
+ if (!dev_list) {
+ dapl_dbg_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: ibv_get_device_list() failed\n",
+ hca_name);
+ return DAT_INTERNAL_ERROR;
+ }
+
+ for (i = 0; dev_list[i]; ++i) {
+ hca_ptr->ib_trans.ib_dev = dev_list[i];
+ if (!strcmp(ibv_get_device_name(hca_ptr->ib_trans.ib_dev),
+ hca_name))
+ goto found;
+ }
+
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: device %s not found\n", hca_name);
+ goto err;
+
+found:
+
+ hca_ptr->ib_hca_handle = ibv_open_device(hca_ptr->ib_trans.ib_dev);
+ if (!hca_ptr->ib_hca_handle) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: dev open failed for %s, err=%s\n",
+ ibv_get_device_name(hca_ptr->ib_trans.ib_dev),
+ strerror(errno));
+ goto err;
+ }
+ hca_ptr->ib_trans.ib_ctx = hca_ptr->ib_hca_handle;
+ dapls_config_verbs(hca_ptr->ib_hca_handle);
+
+ /* get lid for this hca-port, network order */
+ if (ibv_query_port(hca_ptr->ib_hca_handle,
+ (uint8_t)hca_ptr->port_num, &port_attr)) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: get lid ERR for %s, err=%s\n",
+ ibv_get_device_name(hca_ptr->ib_trans.ib_dev),
+ strerror(errno));
+ goto err;
+ } else {
+ hca_ptr->ib_trans.addr.ib.lid = htons(port_attr.lid);
+ hca_ptr->ib_trans.lid = htons(port_attr.lid);
+ }
+
+ /* get gid for this hca-port, network order */
+ if (ibv_query_gid(hca_ptr->ib_hca_handle,
+ (uint8_t) hca_ptr->port_num, 0,
+ (union ibv_gid *)&hca_ptr->ib_trans.addr.ib.gid)) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: query GID ERR for %s, err=%s\n",
+ ibv_get_device_name(hca_ptr->ib_trans.ib_dev),
+ strerror(errno));
+ goto err;
+ }
+
+ /* set RC tunables via enviroment or default */
+ hca_ptr->ib_trans.max_inline_send =
+ dapl_os_get_env_val("DAPL_MAX_INLINE", INLINE_SEND_IB_DEFAULT);
+ hca_ptr->ib_trans.ack_retry =
+ dapl_os_get_env_val("DAPL_ACK_RETRY", DCM_ACK_RETRY);
+ hca_ptr->ib_trans.ack_timer =
+ dapl_os_get_env_val("DAPL_ACK_TIMER", DCM_ACK_TIMER);
+ hca_ptr->ib_trans.rnr_retry =
+ dapl_os_get_env_val("DAPL_RNR_RETRY", DCM_RNR_RETRY);
+ hca_ptr->ib_trans.rnr_timer =
+ dapl_os_get_env_val("DAPL_RNR_TIMER", DCM_RNR_TIMER);
+ hca_ptr->ib_trans.global =
+ dapl_os_get_env_val("DAPL_GLOBAL_ROUTING", DCM_GLOBAL);
+ hca_ptr->ib_trans.hop_limit =
+ dapl_os_get_env_val("DAPL_HOP_LIMIT", DCM_HOP_LIMIT);
+ hca_ptr->ib_trans.tclass =
+ dapl_os_get_env_val("DAPL_TCLASS", DCM_TCLASS);
+ hca_ptr->ib_trans.mtu =
+ dapl_ib_mtu(dapl_os_get_env_val("DAPL_IB_MTU", DCM_IB_MTU));
+
+ /* initialize CM list, LISTEN, SND queue, PSP array, locks */
+ if ((dapl_os_lock_init(&hca_ptr->ib_trans.lock)) != DAT_SUCCESS)
+ goto err;
+
+ if ((dapl_os_lock_init(&hca_ptr->ib_trans.llock)) != DAT_SUCCESS)
+ goto err;
+
+ if ((dapl_os_lock_init(&hca_ptr->ib_trans.slock)) != DAT_SUCCESS)
+ goto err;
+
+ if ((dapl_os_lock_init(&hca_ptr->ib_trans.plock)) != DAT_SUCCESS)
+ goto err;
+
+ /* EVD events without direct CQ channels, CNO support */
+ hca_ptr->ib_trans.ib_cq =
+ ibv_create_comp_channel(hca_ptr->ib_hca_handle);
+ if (hca_ptr->ib_trans.ib_cq == NULL) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: ibv_create_comp_channel ERR %s\n",
+ strerror(errno));
+ goto bail;
+ }
+ dapls_config_comp_channel(hca_ptr->ib_trans.ib_cq);
+
+ /* initialize CM and listen lists on this HCA uCM QP */
+ dapl_llist_init_head(&hca_ptr->ib_trans.list);
+ dapl_llist_init_head(&hca_ptr->ib_trans.llist);
+
+ /* create uCM qp services */
+ if (ucm_service_create(hca_ptr))
+ goto bail;
+
+ if (create_os_signal(hca_ptr)) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: failed to init cr pipe - %s\n",
+ strerror(errno));
+ goto bail;
+ }
+
+ /* create thread to process inbound connect request */
+ hca_ptr->ib_trans.cm_state = IB_THREAD_INIT;
+ dat_status = dapl_os_thread_create(cm_thread,
+ (void *)hca_ptr,
+ &hca_ptr->ib_trans.thread);
+ if (dat_status != DAT_SUCCESS) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: failed to create thread\n");
+ goto bail;
+ }
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " open_hca: devname %s, ctx %p port %d, hostname_IP %s\n",
+ ibv_get_device_name(hca_ptr->ib_trans.ib_dev),
+ hca_ptr->ib_hca_handle,
+ hca_ptr->port_num,
+ inet_ntoa(((struct sockaddr_in *)
+ &hca_ptr->hca_address)->sin_addr));
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " open_hca: QPN 0x%x LID 0x%x GID Subnet 0x" F64x ""
+ " ID 0x" F64x "\n",
+ ntohl(hca_ptr->ib_trans.addr.ib.qpn),
+ ntohs(hca_ptr->ib_trans.addr.ib.lid),
+ (unsigned long long)
+ ntohll(*(uint64_t*)&hca_ptr->ib_trans.addr.ib.gid[0]),
+ (unsigned long long)
+ ntohll(*(uint64_t*)&hca_ptr->ib_trans.addr.ib.gid[8]));
+
+ /* save LID, GID, QPN, PORT address information, for ia_queries */
+ /* Set AF_INET6 to insure callee address storage of 28 bytes */
+ hca_ptr->ib_trans.hca = hca_ptr;
+ hca_ptr->ib_trans.addr.ib.family = AF_INET6;
+ hca_ptr->ib_trans.addr.ib.qp_type = IBV_QPT_UD;
+ memcpy(&hca_ptr->hca_address,
+ &hca_ptr->ib_trans.addr,
+ sizeof(union dcm_addr));
+
+#ifdef DAT_IB_COLLECTIVES
+ if (dapli_create_collective_service(hca_ptr))
+ goto bail;
+#endif
+
+ ibv_free_device_list(dev_list);
+
+ /* wait for cm_thread */
+ while (hca_ptr->ib_trans.cm_state != IB_THREAD_RUN)
+ dapl_os_sleep_usec(1000);
+
+ return dat_status;
+
+bail:
+ ucm_service_destroy(hca_ptr);
+ ibv_close_device(hca_ptr->ib_hca_handle);
+ hca_ptr->ib_hca_handle = IB_INVALID_HANDLE;
+
+err:
+ ibv_free_device_list(dev_list);
+ return DAT_INTERNAL_ERROR;
+}
+
+/*
+ * dapls_ib_close_hca
+ *
+ * Open HCA
+ *
+ * Input:
+ * DAPL_HCA provide CA handle
+ *
+ * Output:
+ * none
+ *
+ * Return:
+ * DAT_SUCCESS
+ * dapl_convert_errno
+ *
+ */
+DAT_RETURN dapls_ib_close_hca(IN DAPL_HCA * hca_ptr)
+{
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " close_hca: %p\n", hca_ptr);
+
+#ifdef DAT_IB_COLLECTIVES
+ dapli_free_collective_service(hca_ptr);
+#endif
+
+ if (hca_ptr->ib_trans.cm_state == IB_THREAD_RUN) {
+ hca_ptr->ib_trans.cm_state = IB_THREAD_CANCEL;
+ dapls_thread_signal(&hca_ptr->ib_trans.signal);
+ while (hca_ptr->ib_trans.cm_state != IB_THREAD_EXIT) {
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " close_hca: waiting for cr_thread\n");
+ dapls_thread_signal(&hca_ptr->ib_trans.signal);
+ dapl_os_sleep_usec(1000);
+ }
+ }
+
+ dapl_os_lock_destroy(&hca_ptr->ib_trans.lock);
+ dapl_os_lock_destroy(&hca_ptr->ib_trans.llock);
+ destroy_os_signal(hca_ptr);
+ ucm_service_destroy(hca_ptr);
+
+ if (hca_ptr->ib_trans.ib_cq)
+ ibv_destroy_comp_channel(hca_ptr->ib_trans.ib_cq);
+
+ if (hca_ptr->ib_trans.ib_cq_empty) {
+ struct ibv_comp_channel *channel;
+ channel = hca_ptr->ib_trans.ib_cq_empty->channel;
+ ibv_destroy_cq(hca_ptr->ib_trans.ib_cq_empty);
+ ibv_destroy_comp_channel(channel);
+ }
+
+ if (hca_ptr->ib_hca_handle != IB_INVALID_HANDLE) {
+ if (ibv_close_device(hca_ptr->ib_hca_handle))
+ return (dapl_convert_errno(errno, "ib_close_device"));
+ hca_ptr->ib_hca_handle = IB_INVALID_HANDLE;
+ }
+
+ return (DAT_SUCCESS);
+}
+
+/* Create uCM endpoint services, allocate remote_ah's array */
+static void ucm_service_destroy(IN DAPL_HCA *hca)
+{
+ ib_hca_transport_t *tp = &hca->ib_trans;
+ int msg_size = sizeof(ib_cm_msg_t);
+
+ if (tp->mr_sbuf)
+ ibv_dereg_mr(tp->mr_sbuf);
+
+ if (tp->mr_rbuf)
+ ibv_dereg_mr(tp->mr_rbuf);
+
+ if (tp->qp)
+ ibv_destroy_qp(tp->qp);
+
+ if (tp->scq)
+ ibv_destroy_cq(tp->scq);
+
+ if (tp->rcq)
+ ibv_destroy_cq(tp->rcq);
+
+ if (tp->rch)
+ ibv_destroy_comp_channel(tp->rch);
+
+ if (tp->ah) {
+ int i;
+
+ for (i = 0;i < 0xffff; i++) {
+ if (tp->ah[i])
+ ibv_destroy_ah(tp->ah[i]);
+ }
+ dapl_os_free(tp->ah, (sizeof(*tp->ah) * 0xffff));
+ }
+
+ if (tp->pd)
+ ibv_dealloc_pd(tp->pd);
+
+ if (tp->sid)
+ dapl_os_free(tp->sid, (sizeof(*tp->sid) * 0xffff));
+
+ if (tp->rbuf)
+ dapl_os_free(tp->rbuf, (msg_size * tp->qpe));
+
+ if (tp->sbuf)
+ dapl_os_free(tp->sbuf, (msg_size * tp->qpe));
+}
+
+static int ucm_service_create(IN DAPL_HCA *hca)
+{
+ struct ibv_qp_init_attr qp_create;
+ ib_hca_transport_t *tp = &hca->ib_trans;
+ struct ibv_recv_wr recv_wr, *recv_err;
+ struct ibv_sge sge;
+ int i, mlen = sizeof(ib_cm_msg_t);
+ int hlen = sizeof(struct ibv_grh); /* hdr included with UD recv */
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL, " ucm_create: \n");
+
+ /* setup CM timers and queue sizes */
+ tp->retries = dapl_os_get_env_val("DAPL_UCM_RETRY", DCM_RETRY_CNT);
+ tp->rep_time = dapl_os_get_env_val("DAPL_UCM_REP_TIME", DCM_REP_TIME);
+ tp->rtu_time = dapl_os_get_env_val("DAPL_UCM_RTU_TIME", DCM_RTU_TIME);
+ tp->cm_timer = DAPL_MIN(tp->rep_time,tp->rtu_time);
+ tp->qpe = dapl_os_get_env_val("DAPL_UCM_QP_SIZE", DCM_QP_SIZE);
+ tp->cqe = dapl_os_get_env_val("DAPL_UCM_CQ_SIZE", DCM_CQ_SIZE);
+ tp->burst = dapl_os_get_env_val("DAPL_UCM_TX_BURST", DCM_TX_BURST);
+ tp->pd = ibv_alloc_pd(hca->ib_hca_handle);
+ if (!tp->pd)
+ goto bail;
+
+ dapl_log(DAPL_DBG_TYPE_UTIL,
+ " create_service: pd %p ctx %p handle 0x%x\n",
+ tp->pd, tp->pd->context, tp->pd->handle);
+
+ tp->rch = ibv_create_comp_channel(hca->ib_hca_handle);
+ if (!tp->rch)
+ goto bail;
+ dapls_config_comp_channel(tp->rch);
+
+ tp->scq = ibv_create_cq(hca->ib_hca_handle, tp->cqe, hca, NULL, 0);
+ if (!tp->scq)
+ goto bail;
+
+ tp->rcq = ibv_create_cq(hca->ib_hca_handle, tp->cqe, hca, tp->rch, 0);
+ if (!tp->rcq)
+ goto bail;
+
+ if(ibv_req_notify_cq(tp->rcq, 0))
+ goto bail;
+
+ dapl_os_memzero((void *)&qp_create, sizeof(qp_create));
+ qp_create.qp_type = IBV_QPT_UD;
+ qp_create.send_cq = tp->scq;
+ qp_create.recv_cq = tp->rcq;
+ qp_create.cap.max_send_wr = qp_create.cap.max_recv_wr = tp->qpe;
+ qp_create.cap.max_send_sge = qp_create.cap.max_recv_sge = 1;
+ qp_create.cap.max_inline_data = tp->max_inline_send;
+ qp_create.qp_context = (void *)hca;
+
+ tp->qp = ibv_create_qp(tp->pd, &qp_create);
+ if (!tp->qp)
+ goto bail;
+
+ tp->ah = (ib_ah_handle_t*) dapl_os_alloc(sizeof(ib_ah_handle_t) * 0xffff);
+ tp->sid = (uint8_t*) dapl_os_alloc(sizeof(uint8_t) * 0xffff);
+ tp->rbuf = (void*) dapl_os_alloc((mlen + hlen) * tp->qpe);
+ tp->sbuf = (void*) dapl_os_alloc(mlen * tp->qpe);
+ tp->s_hd = tp->s_tl = 0;
+
+ if (!tp->ah || !tp->rbuf || !tp->sbuf || !tp->sid)
+ goto bail;
+
+ (void)dapl_os_memzero(tp->ah, (sizeof(ib_ah_handle_t) * 0xffff));
+ (void)dapl_os_memzero(tp->sid, (sizeof(uint8_t) * 0xffff));
+ tp->sid[0] = 1; /* resv slot 0, 0 == no ports available */
+ (void)dapl_os_memzero(tp->rbuf, ((mlen + hlen) * tp->qpe));
+ (void)dapl_os_memzero(tp->sbuf, (mlen * tp->qpe));
+
+ tp->mr_sbuf = ibv_reg_mr(tp->pd, tp->sbuf,
+ (mlen * tp->qpe),
+ IBV_ACCESS_LOCAL_WRITE);
+ if (!tp->mr_sbuf)
+ goto bail;
+
+ tp->mr_rbuf = ibv_reg_mr(tp->pd, tp->rbuf,
+ ((mlen + hlen) * tp->qpe),
+ IBV_ACCESS_LOCAL_WRITE);
+ if (!tp->mr_rbuf)
+ goto bail;
+
+ /* modify UD QP: init, rtr, rts */
+ if ((dapls_modify_qp_ud(hca, tp->qp)) != DAT_SUCCESS)
+ goto bail;
+
+ /* post receive buffers, setup head, tail pointers */
+ recv_wr.next = NULL;
+ recv_wr.sg_list = &sge;
+ recv_wr.num_sge = 1;
+ sge.length = mlen + hlen;
+ sge.lkey = tp->mr_rbuf->lkey;
+
+ for (i = 0; i < tp->qpe; i++) {
+ recv_wr.wr_id =
+ (uintptr_t)((char *)&tp->rbuf[i] +
+ sizeof(struct ibv_grh));
+ sge.addr = (uintptr_t) &tp->rbuf[i];
+ if (ibv_post_recv(tp->qp, &recv_wr, &recv_err))
+ goto bail;
+ }
+
+ /* save qp_num as part of ia_address, network order */
+ tp->addr.ib.qpn = htonl(tp->qp->qp_num);
+ return 0;
+bail:
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " ucm_create_services: ERR %s\n", strerror(errno));
+ ucm_service_destroy(hca);
+ return -1;
+}
+
+void ucm_async_event(struct dapl_hca *hca)
+{
+ struct ibv_async_event event;
+ struct _ib_hca_transport *tp = &hca->ib_trans;
+
+ if (!ibv_get_async_event(hca->ib_hca_handle, &event)) {
+
+ switch (event.event_type) {
+ case IBV_EVENT_CQ_ERR:
+ {
+ struct dapl_ep *evd_ptr =
+ event.element.cq->cq_context;
+
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ "dapl async_event CQ (%p) ERR %d\n",
+ evd_ptr, event.event_type);
+
+ /* report up if async callback still setup */
+ if (tp->async_cq_error)
+ tp->async_cq_error(hca->ib_hca_handle,
+ event.element.cq,
+ &event, (void *)evd_ptr);
+ break;
+ }
+ case IBV_EVENT_COMM_EST:
+ {
+ /* Received msgs on connected QP before RTU */
+ dapl_log(DAPL_DBG_TYPE_UTIL,
+ " async_event COMM_EST(%p) rdata beat RTU\n",
+ event.element.qp);
+
+ break;
+ }
+ case IBV_EVENT_QP_FATAL:
+ case IBV_EVENT_QP_REQ_ERR:
+ case IBV_EVENT_QP_ACCESS_ERR:
+ case IBV_EVENT_QP_LAST_WQE_REACHED:
+ case IBV_EVENT_SRQ_ERR:
+ case IBV_EVENT_SRQ_LIMIT_REACHED:
+ case IBV_EVENT_SQ_DRAINED:
+ {
+ struct dapl_ep *ep_ptr =
+ event.element.qp->qp_context;
+
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ "dapl async_event QP (%p) ERR %d\n",
+ ep_ptr, event.event_type);
+
+ /* report up if async callback still setup */
+ if (tp->async_qp_error)
+ tp->async_qp_error(hca->ib_hca_handle,
+ ep_ptr->qp_handle,
+ &event, (void *)ep_ptr);
+ break;
+ }
+ case IBV_EVENT_PATH_MIG:
+ case IBV_EVENT_PATH_MIG_ERR:
+ case IBV_EVENT_DEVICE_FATAL:
+ case IBV_EVENT_PORT_ACTIVE:
+ case IBV_EVENT_PORT_ERR:
+ case IBV_EVENT_LID_CHANGE:
+ case IBV_EVENT_PKEY_CHANGE:
+ case IBV_EVENT_SM_CHANGE:
+ {
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ "dapl async_event: DEV ERR %d\n",
+ event.event_type);
+
+ /* report up if async callback still setup */
+ if (tp->async_unafiliated)
+ tp->async_unafiliated(hca->ib_hca_handle,
+ &event,
+ tp->async_un_ctx);
+ break;
+ }
+ case IBV_EVENT_CLIENT_REREGISTER:
+ /* no need to report this event this time */
+ dapl_log(DAPL_DBG_TYPE_UTIL,
+ " async_event: IBV_CLIENT_REREGISTER\n");
+ break;
+
+ default:
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ "dapl async_event: %d UNKNOWN\n",
+ event.event_type);
+ break;
+
+ }
+ ibv_ack_async_event(&event);
+ }
+}
+
diff --git a/dapl/openib_scm/linux/openib_osd.h b/dapl/openib_ucm/linux/openib_osd.h
similarity index 53%
copy from dapl/openib_scm/linux/openib_osd.h
copy to dapl/openib_ucm/linux/openib_osd.h
index 235a82e..fe60aa0 100644
--- a/dapl/openib_scm/linux/openib_osd.h
+++ b/dapl/openib_ucm/linux/openib_osd.h
@@ -11,11 +11,27 @@
#define htonll(x) bswap_64(x)
#define ntohll(x) bswap_64(x)
#endif
+#ifndef STATIC
+#define STATIC static
+#endif /* STATIC */
+#ifndef _INLINE_
+#define _INLINE_ __inline__
+#endif /* _INLINE_ */
#define DAPL_SOCKET int
#define DAPL_INVALID_SOCKET -1
-#define DAPL_FD_SETSIZE 8192
+#define DAPL_FD_SETSIZE 16
#define closesocket close
+struct dapl_thread_signal
+{
+ DAPL_SOCKET scm[2];
+};
+
+STATIC _INLINE_ void dapls_thread_signal(struct dapl_thread_signal *signal)
+{
+ send(signal->scm[1], "w", sizeof "w", 0);
+}
+
#endif // OPENIB_OSD_H
diff --git a/dapl/udapl/dapl_cno_query.c b/dapl/udapl/dapl_cno_query.c
index 5112e33..8dcae01 100644
--- a/dapl/udapl/dapl_cno_query.c
+++ b/dapl/udapl/dapl_cno_query.c
@@ -83,9 +83,9 @@ DAT_RETURN DAT_API dapl_cno_query(IN DAT_CNO_HANDLE cno_handle, /* cno_handle */
}
cno_ptr = (DAPL_CNO *) cno_handle;
- cno_param->ia_handle = cno_ptr->header.owner_ia;
cno_param->proxy_type = DAT_PROXY_TYPE_AGENT;
cno_param->proxy.agent = cno_ptr->cno_wait_agent;
+ dats_get_ia_handle(cno_ptr->header.owner_ia, &cno_param->ia_handle);
bail:
return dat_status;
diff --git a/dapl/udapl/dapl_cno_wait.c b/dapl/udapl/dapl_cno_wait.c
index e89317d..6bbd249 100644
--- a/dapl/udapl/dapl_cno_wait.c
+++ b/dapl/udapl/dapl_cno_wait.c
@@ -82,6 +82,14 @@ DAT_RETURN DAT_API dapl_cno_wait(IN DAT_CNO_HANDLE cno_handle, /* cno_handle */
}
dapl_os_lock(&cno_ptr->header.lock);
+ if (cno_ptr->cno_state == DAPL_CNO_STATE_TRIGGERED) {
+ cno_ptr->cno_state = DAPL_CNO_STATE_UNTRIGGERED;
+ *evd_handle = cno_ptr->cno_evd_triggered;
+ cno_ptr->cno_evd_triggered = NULL;
+ dapl_os_unlock(&cno_ptr->header.lock);
+ goto bail;
+ }
+
while (cno_ptr->cno_state == DAPL_CNO_STATE_UNTRIGGERED
&& DAT_GET_TYPE(dat_status) != DAT_TIMEOUT_EXPIRED) {
cno_ptr->cno_waiters++;
@@ -104,6 +112,7 @@ DAT_RETURN DAT_API dapl_cno_wait(IN DAT_CNO_HANDLE cno_handle, /* cno_handle */
dapl_os_assert(cno_ptr->cno_state == DAPL_CNO_STATE_TRIGGERED);
cno_ptr->cno_state = DAPL_CNO_STATE_UNTRIGGERED;
*evd_handle = cno_ptr->cno_evd_triggered;
+ cno_ptr->cno_evd_triggered = NULL;
} else if (DAT_GET_TYPE(dat_status) == DAT_TIMEOUT_EXPIRED) {
cno_ptr->cno_state = DAPL_CNO_STATE_UNTRIGGERED;
*evd_handle = NULL;
diff --git a/dapl/udapl/dapl_evd_query.c b/dapl/udapl/dapl_evd_query.c
index 09abcad..caa88cd 100644
--- a/dapl/udapl/dapl_evd_query.c
+++ b/dapl/udapl/dapl_evd_query.c
@@ -101,7 +101,7 @@ dapl_evd_query(IN DAT_EVD_HANDLE evd_handle,
(evd_ptr->
evd_waitable ? DAT_EVD_STATE_WAITABLE :
DAT_EVD_STATE_UNWAITABLE);
- evd_param->ia_handle = evd_ptr->header.owner_ia;
+ dats_get_ia_handle(evd_ptr->header.owner_ia, &evd_param->ia_handle);
evd_param->evd_qlen = evd_ptr->qlen;
evd_param->cno_handle = (DAT_CNO_HANDLE) evd_ptr->cno_ptr;
evd_param->evd_flags = evd_ptr->evd_flags;
diff --git a/dapl/udapl/dapl_evd_set_unwaitable.c b/dapl/udapl/dapl_evd_set_unwaitable.c
index bf41662..36b632a 100644
--- a/dapl/udapl/dapl_evd_set_unwaitable.c
+++ b/dapl/udapl/dapl_evd_set_unwaitable.c
@@ -71,7 +71,6 @@ DAT_RETURN DAT_API dapl_evd_set_unwaitable(IN DAT_EVD_HANDLE evd_handle)
}
dapl_os_lock(&evd_ptr->header.lock);
evd_ptr->evd_waitable = DAT_FALSE;
- dapl_os_unlock(&evd_ptr->header.lock);
/*
* If this evd is waiting, wake it up. There is an obvious race
@@ -80,14 +79,12 @@ DAT_RETURN DAT_API dapl_evd_set_unwaitable(IN DAT_EVD_HANDLE evd_handle)
* thing.
*/
if (evd_ptr->evd_state == DAPL_EVD_STATE_WAITED) {
-#ifdef CQ_WAIT_OBJECT
- if (evd_ptr->cq_wait_obj_handle)
- dapls_ib_wait_object_wakeup(evd_ptr->
- cq_wait_obj_handle);
+ if (evd_ptr->evd_flags & (DAT_EVD_DTO_FLAG | DAT_EVD_RMR_BIND_FLAG))
+ dapls_evd_dto_wakeup(evd_ptr);
else
-#endif
dapl_os_wait_object_wakeup(&evd_ptr->wait_object);
}
+ dapl_os_unlock(&evd_ptr->header.lock);
bail:
return dat_status;
}
diff --git a/dapl/udapl/dapl_evd_wait.c b/dapl/udapl/dapl_evd_wait.c
index 8d82d63..33cec50 100644
--- a/dapl/udapl/dapl_evd_wait.c
+++ b/dapl/udapl/dapl_evd_wait.c
@@ -168,22 +168,19 @@ DAT_RETURN DAT_API dapl_evd_wait(IN DAT_EVD_HANDLE evd_handle,
* return right away if the ib_cq_handle associate with these evd
* equal to IB_INVALID_HANDLE
*/
- dapl_os_unlock(&evd_ptr->header.lock);
- dapls_evd_copy_cq(evd_ptr);
- dapl_os_lock(&evd_ptr->header.lock);
+ dat_status = dapls_evd_copy_cq(evd_ptr);
+ if (dat_status == DAT_QUEUE_FULL)
+ goto bail;
- if (dapls_rbuf_count(&evd_ptr->pending_event_queue) >=
- threshold) {
+ if (dapls_rbuf_count(&evd_ptr->pending_event_queue) >= threshold)
break;
- }
/*
* Do not enable the completion notification if this evd is not
* a DTO_EVD or RMR_BIND_EVD
*/
if ((!notify_requested) &&
- ((evd_ptr->evd_flags & DAT_EVD_DTO_FLAG) ||
- (evd_ptr->evd_flags & DAT_EVD_RMR_BIND_FLAG))) {
+ (evd_ptr->evd_flags & (DAT_EVD_DTO_FLAG | DAT_EVD_RMR_BIND_FLAG))) {
dat_status =
dapls_ib_completion_notify(evd_ptr->header.
owner_ia->hca_ptr->
@@ -216,17 +213,12 @@ DAT_RETURN DAT_API dapl_evd_wait(IN DAT_EVD_HANDLE evd_handle,
DAPL_CNTR(evd_ptr, DCNT_EVD_WAIT_BLOCKED);
dapl_os_unlock(&evd_ptr->header.lock);
-#ifdef CQ_WAIT_OBJECT
- if (evd_ptr->cq_wait_obj_handle)
- dat_status =
- dapls_ib_wait_object_wait(evd_ptr->
- cq_wait_obj_handle,
- time_out);
- else
-#endif
- dat_status =
- dapl_os_wait_object_wait(&evd_ptr->wait_object,
- time_out);
+ if ((!evd_ptr->cno_ptr) &&
+ (evd_ptr->evd_flags & (DAT_EVD_DTO_FLAG | DAT_EVD_RMR_BIND_FLAG))) {
+ dat_status = dapls_evd_dto_wait(evd_ptr, time_out);
+ } else {
+ dat_status = dapl_os_wait_object_wait(&evd_ptr->wait_object, time_out);
+ }
dapl_os_lock(&evd_ptr->header.lock);
@@ -272,6 +264,8 @@ DAT_RETURN DAT_API dapl_evd_wait(IN DAT_EVD_HANDLE evd_handle,
if (dat_status) {
dapl_dbg_log(DAPL_DBG_TYPE_RTN,
"dapl_evd_wait () returns 0x%x\n", dat_status);
+ if (dat_status == DAT_QUEUE_FULL)
+ dapls_evd_post_overflow_event(evd_ptr);
}
return dat_status;
}
diff --git a/dapl/udapl/dapl_init.c b/dapl/udapl/dapl_init.c
index e0af8f7..07e5b31 100644
--- a/dapl/udapl/dapl_init.c
+++ b/dapl/udapl/dapl_init.c
@@ -71,7 +71,7 @@ void dapl_init(void)
/* set up debug type */
g_dapl_dbg_type = dapl_os_get_env_val("DAPL_DBG_TYPE",
- DAPL_DBG_TYPE_ERR);
+ DAPL_DBG_TYPE_ERR | DAPL_DBG_TYPE_WARN);
/* set up debug destination */
g_dapl_dbg_dest = dapl_os_get_env_val("DAPL_DBG_DEST",
DAPL_DBG_DEST_STDOUT);
@@ -151,6 +151,7 @@ void dapl_fini(void)
}
dapls_ib_release();
+ dapls_timer_release();
dapl_dbg_log(DAPL_DBG_TYPE_UTIL, "DAPL: Exit (dapl_fini)\n");
diff --git a/dapl/udapl/dapl_lmr_create.c b/dapl/udapl/dapl_lmr_create.c
index 849f4fe..f1d5016 100644
--- a/dapl/udapl/dapl_lmr_create.c
+++ b/dapl/udapl/dapl_lmr_create.c
@@ -128,32 +128,6 @@ dapli_lmr_create_virtual(IN DAPL_IA * ia,
goto bail;
}
- /* if the LMR context is already in the hash table */
- dat_status = dapls_hash_search(ia->hca_ptr->lmr_hash_table,
- lmr->param.lmr_context, NULL);
- if (dat_status == DAT_SUCCESS) {
- (void)dapls_ib_mr_deregister(lmr);
- dapl_lmr_dealloc(lmr);
-
- dat_status =
- DAT_ERROR(DAT_INVALID_STATE, DAT_INVALID_STATE_LMR_IN_USE);
- goto bail;
- }
-
- dat_status = dapls_hash_insert(ia->hca_ptr->lmr_hash_table,
- lmr->param.lmr_context, lmr);
- if (dat_status != DAT_SUCCESS) {
- (void)dapls_ib_mr_deregister(lmr);
- dapl_lmr_dealloc(lmr);
-
- /* The value returned by dapls_hash_insert(.) is not */
- /* returned to the consumer because the spec. requires */
- /* that dat_lmr_create(.) return only certain values. */
- dat_status =
- DAT_ERROR(DAT_INSUFFICIENT_RESOURCES, DAT_RESOURCE_MEMORY);
- goto bail;
- }
-
dapl_os_atomic_inc(&pz->pz_ref_count);
*lmr_handle = (DAT_LMR_HANDLE) lmr;
@@ -189,7 +163,6 @@ dapli_lmr_create_lmr(IN DAPL_IA * ia,
DAPL_LMR *lmr;
DAT_REGION_DESCRIPTION reg_desc;
DAT_RETURN dat_status;
- DAPL_HASH_DATA hash_lmr;
dapl_dbg_log(DAPL_DBG_TYPE_API,
"dapl_lmr_create_lmr (%p, %p, %p, %x, %x, %p, %p, %p, %p)\n",
@@ -199,14 +172,6 @@ dapli_lmr_create_lmr(IN DAPL_IA * ia,
lmr_handle,
lmr_context, registered_length, registered_address);
- dat_status = dapls_hash_search(ia->hca_ptr->lmr_hash_table,
- original_lmr->param.lmr_context,
- &hash_lmr);
- if (dat_status != DAT_SUCCESS) {
- dat_status = DAT_ERROR(DAT_INVALID_PARAMETER, DAT_INVALID_ARG2);
- goto bail;
- }
- lmr = (DAPL_LMR *) hash_lmr;
reg_desc.for_lmr_handle = (DAT_LMR_HANDLE) original_lmr;
lmr = dapl_lmr_alloc(ia,
@@ -228,32 +193,6 @@ dapli_lmr_create_lmr(IN DAPL_IA * ia,
goto bail;
}
- /* if the LMR context is already in the hash table */
- dat_status = dapls_hash_search(ia->hca_ptr->lmr_hash_table,
- lmr->param.lmr_context, NULL);
- if (dat_status == DAT_SUCCESS) {
- dapls_ib_mr_deregister(lmr);
- dapl_lmr_dealloc(lmr);
-
- dat_status =
- DAT_ERROR(DAT_INVALID_STATE, DAT_INVALID_STATE_LMR_IN_USE);
- goto bail;
- }
-
- dat_status = dapls_hash_insert(ia->hca_ptr->lmr_hash_table,
- lmr->param.lmr_context, lmr);
- if (dat_status != DAT_SUCCESS) {
- dapls_ib_mr_deregister(lmr);
- dapl_lmr_dealloc(lmr);
-
- /* The value returned by dapls_hash_insert(.) is not */
- /* returned to the consumer because the spec. requires */
- /* that dat_lmr_create(.) return only certain values. */
- dat_status =
- DAT_ERROR(DAT_INSUFFICIENT_RESOURCES, DAT_RESOURCE_MEMORY);
- goto bail;
- }
-
dapl_os_atomic_inc(&pz->pz_ref_count);
*lmr_handle = (DAT_LMR_HANDLE) lmr;
@@ -328,32 +267,6 @@ dapli_lmr_create_shared(IN DAPL_IA * ia,
goto bail;
}
- /* if the LMR context is already in the hash table */
- dat_status = dapls_hash_search(ia->hca_ptr->lmr_hash_table,
- lmr->param.lmr_context, NULL);
- if (DAT_SUCCESS == dat_status) {
- (void)dapls_ib_mr_deregister(lmr);
- dapl_lmr_dealloc(lmr);
-
- dat_status =
- DAT_ERROR(DAT_INVALID_STATE, DAT_INVALID_STATE_LMR_IN_USE);
- goto bail;
- }
-
- dat_status = dapls_hash_insert(ia->hca_ptr->lmr_hash_table,
- lmr->param.lmr_context, lmr);
- if (dat_status != DAT_SUCCESS) {
- (void)dapls_ib_mr_deregister(lmr);
- dapl_lmr_dealloc(lmr);
-
- /* The value returned by dapls_hash_insert(.) is not */
- /* returned to the consumer because the spec. requires */
- /* that dat_lmr_create(.) return only certain values. */
- dat_status =
- DAT_ERROR(DAT_INSUFFICIENT_RESOURCES, DAT_RESOURCE_MEMORY);
- goto bail;
- }
-
dapl_os_atomic_inc(&pz->pz_ref_count);
*lmr_handle = (DAT_LMR_HANDLE) lmr;
diff --git a/dapl/udapl/libdaploucm.map b/dapl/udapl/libdaploucm.map
new file mode 100755
index 0000000..2431ba7
--- /dev/null
+++ b/dapl/udapl/libdaploucm.map
@@ -0,0 +1,7 @@
+DAPL_OCM_2.0 {
+ global:
+ dat_provider_fini;
+ dat_provider_init;
+ dapl_extensions;
+ local: *;
+};
diff --git a/dapl/udapl/linux/dapl_osd.h b/dapl/udapl/linux/dapl_osd.h
index 1c098c5..0412461 100644
--- a/dapl/udapl/linux/dapl_osd.h
+++ b/dapl/udapl/linux/dapl_osd.h
@@ -188,7 +188,7 @@ dapl_os_atomic_inc (
stwcx. %0,0,%2\n\
bne- 1b"
: "=&r" (tmp), "+m" (v)
- : "r" (&v)
+ : "b" (v)
: "cc");
#else /* !__ia64__ */
__asm__ __volatile__ (
@@ -227,7 +227,7 @@ dapl_os_atomic_dec (
stwcx. %0,0,%2\n\
bne- 1b"
: "=&r" (tmp), "+m" (v)
- : "r" (&v)
+ : "b" (v)
: "cc");
#else /* !__ia64__ */
__asm__ __volatile__ (
@@ -515,6 +515,22 @@ STATIC _INLINE_ char * dapl_os_strdup(const char *str)
return strdup(str);
}
+STATIC _INLINE_ int dapl_os_pstrcmp(const char *pstr, const char *str)
+{
+ int i, ii;
+ int plen = strlen(pstr);
+ int slen = strlen(str);
+
+ for (i=0; i < slen; i++) {
+ for (ii=0; ii < plen && i < slen; ii++, i++) {
+ if ((pstr[ii] == str[i]) && (ii == plen-1))
+ return 0;
+ else if (pstr[ii] != str[i])
+ break;
+ }
+ }
+ return 1;
+}
/*
* Timer Functions
@@ -572,8 +588,8 @@ dapl_os_strtol(const char *nptr, char **endptr, int base)
#define dapl_os_vprintf(fmt,args) vprintf(fmt,args)
#define dapl_os_syslog(fmt,args) vsyslog(LOG_USER|LOG_WARNING,fmt,args)
-#define dapl_os_getpid getpid
-
+#define dapl_os_getpid (DAT_UINT32)getpid
+#define dapl_os_gettid (DAT_UINT32)pthread_self
#endif /* _DAPL_OSD_H_ */
diff --git a/dat/common/dat_api.c b/dat/common/dat_api.c
index 781c9a6..50ffa2c 100755
--- a/dat/common/dat_api.c
+++ b/dat/common/dat_api.c
@@ -170,26 +170,40 @@ DAT_IA_HANDLE dats_set_ia_handle(IN DAT_IA_HANDLE ia_handle)
/***********************************************************************
* Function: dats_get_ia_handle(
*
- * Get a handle from a handle vector and return it in an OUT parameter
+ * Get handle from vector OR vector from handle, return in OUT parameter
+ *
***********************************************************************/
DAT_RETURN
dats_get_ia_handle(IN DAT_IA_HANDLE handle, OUT DAT_IA_HANDLE * ia_handle_p)
{
- DAT_RETURN dat_status;
+ DAT_RETURN dat_status = DAT_SUCCESS;
+ if (handle == NULL)
+ return DAT_ERROR(DAT_INVALID_HANDLE, DAT_INVALID_HANDLE_IA);
+
+ /* handle to vector */
if (DAT_IA_HANDLE_TO_UL(handle) >= g_hv.handle_max) {
- dat_status =
- DAT_ERROR(DAT_INVALID_HANDLE, DAT_INVALID_HANDLE_IA);
- goto bail;
- }
- *ia_handle_p = g_hv.handle_array[DAT_IA_HANDLE_TO_UL(handle)];
+ unsigned long i;
+
+ dat_os_lock(&g_hv.handle_lock);
+ for (i = 1; i < g_hv.handle_max; i++) {
+ if (g_hv.handle_array[i] == handle) {
+ dat_os_unlock(&g_hv.handle_lock);
+ *ia_handle_p = DAT_UL_TO_IA_HANDLE(i);
+ goto bail;
+ }
+ }
+ dat_os_unlock(&g_hv.handle_lock);
+ dat_status = DAT_ERROR(DAT_INVALID_HANDLE,
+ DAT_INVALID_HANDLE_IA);
+ /* vector to handle */
+ } else {
+ *ia_handle_p = g_hv.handle_array[DAT_IA_HANDLE_TO_UL(handle)];
- if (*ia_handle_p == NULL) {
- dat_status =
- DAT_ERROR(DAT_INVALID_HANDLE, DAT_INVALID_HANDLE_IA);
- goto bail;
+ if (*ia_handle_p == NULL)
+ dat_status = DAT_ERROR(DAT_INVALID_HANDLE,
+ DAT_INVALID_HANDLE_IA);
}
- dat_status = DAT_SUCCESS;
bail:
dat_os_dbg_print(DAT_OS_DBG_TYPE_PROVIDER_API,
@@ -278,6 +292,11 @@ DAT_RETURN DAT_API dat_ia_query(IN DAT_IA_HANDLE ia_handle,
DAT_RETURN DAT_API dat_set_consumer_context(IN DAT_HANDLE dat_handle,
IN DAT_CONTEXT context)
{
+ if (dat_handle == NULL) {
+ return DAT_ERROR(DAT_INVALID_HANDLE,
+ DAT_INVALID_HANDLE1);
+ }
+
if (dats_is_ia_handle(dat_handle)) {
DAT_IA_HANDLE dapl_ia_handle;
DAT_RETURN dat_status;
@@ -287,7 +306,7 @@ DAT_RETURN DAT_API dat_set_consumer_context(IN DAT_HANDLE dat_handle,
/* failure to map the handle is unlikely but possible */
/* in a mult-threaded environment */
- if (DAT_SUCCESS == dat_status) {
+ if (DAT_SUCCESS != dat_status) {
return DAT_ERROR(DAT_INVALID_HANDLE,
DAT_INVALID_HANDLE1);
}
@@ -301,6 +320,11 @@ DAT_RETURN DAT_API dat_set_consumer_context(IN DAT_HANDLE dat_handle,
DAT_RETURN DAT_API dat_get_consumer_context(IN DAT_HANDLE dat_handle,
OUT DAT_CONTEXT * context)
{
+ if (dat_handle == NULL) {
+ return DAT_ERROR(DAT_INVALID_HANDLE,
+ DAT_INVALID_HANDLE1);
+ }
+
if (dats_is_ia_handle(dat_handle)) {
DAT_IA_HANDLE dapl_ia_handle;
DAT_RETURN dat_status;
@@ -310,7 +334,7 @@ DAT_RETURN DAT_API dat_get_consumer_context(IN DAT_HANDLE dat_handle,
/* failure to map the handle is unlikely but possible */
/* in a mult-threaded environment */
- if (DAT_SUCCESS == dat_status) {
+ if (DAT_SUCCESS != dat_status) {
return DAT_ERROR(DAT_INVALID_HANDLE,
DAT_INVALID_HANDLE1);
}
@@ -324,6 +348,11 @@ DAT_RETURN DAT_API dat_get_consumer_context(IN DAT_HANDLE dat_handle,
DAT_RETURN DAT_API dat_get_handle_type(IN DAT_HANDLE dat_handle,
OUT DAT_HANDLE_TYPE * type)
{
+ if (dat_handle == NULL) {
+ return DAT_ERROR(DAT_INVALID_HANDLE,
+ DAT_INVALID_HANDLE1);
+ }
+
if (dats_is_ia_handle(dat_handle)) {
DAT_IA_HANDLE dapl_ia_handle;
DAT_RETURN dat_status;
@@ -333,7 +362,7 @@ DAT_RETURN DAT_API dat_get_handle_type(IN DAT_HANDLE dat_handle,
/* failure to map the handle is unlikely but possible */
/* in a mult-threaded environment */
- if (DAT_SUCCESS == dat_status) {
+ if (DAT_SUCCESS != dat_status) {
return DAT_ERROR(DAT_INVALID_HANDLE,
DAT_INVALID_HANDLE1);
}
@@ -995,6 +1024,9 @@ DAT_RETURN DAT_API dat_srq_create(IN DAT_IA_HANDLE ia_handle,
DAT_RETURN DAT_API dat_srq_free(IN DAT_SRQ_HANDLE srq_handle)
{
+ if (srq_handle == NULL) {
+ return DAT_ERROR(DAT_INVALID_HANDLE, DAT_INVALID_HANDLE_SRQ);
+ }
return DAT_SRQ_FREE(srq_handle);
}
@@ -1049,6 +1081,11 @@ DAT_RETURN DAT_API dat_extension_op(IN DAT_HANDLE handle,
DAT_IA_HANDLE dapl_handle;
va_list args;
+ if (handle == NULL) {
+ return DAT_ERROR(DAT_INVALID_HANDLE,
+ DAT_INVALID_HANDLE1);
+ }
+
/* If not IA handle then just passthrough */
if (dats_get_ia_handle(handle, &dapl_handle) != DAT_SUCCESS) {
dapl_handle = handle;
diff --git a/dat/common/dat_sr.c b/dat/common/dat_sr.c
index 95b9333..e86c5dc 100755
--- a/dat/common/dat_sr.c
+++ b/dat/common/dat_sr.c
@@ -94,6 +94,11 @@ extern DAT_RETURN dat_sr_fini(void)
{
DAT_RETURN status;
+ status = dat_sr_remove_all(g_sr_dictionary);
+ if (DAT_SUCCESS != status) {
+ return status;
+ }
+
status = dat_os_lock_destroy(&g_sr_lock);
if (DAT_SUCCESS != status) {
return status;
@@ -116,9 +121,7 @@ dat_sr_insert(IN const DAT_PROVIDER_INFO * info, IN DAT_SR_ENTRY * entry)
{
DAT_RETURN status;
DAT_SR_ENTRY *data;
- DAT_OS_SIZE lib_path_size;
DAT_OS_SIZE lib_path_len;
- DAT_OS_SIZE ia_params_size;
DAT_OS_SIZE ia_params_len;
DAT_DICTIONARY_ENTRY dict_entry;
DAT_DICTIONARY_DATA prev_data;
@@ -132,9 +135,9 @@ dat_sr_insert(IN const DAT_PROVIDER_INFO * info, IN DAT_SR_ENTRY * entry)
dat_os_memset(data, '\0', sizeof(DAT_SR_ENTRY));
lib_path_len = strlen(entry->lib_path);
- lib_path_size = (lib_path_len + 1) * sizeof(char);
+ data->lib_path_size = (lib_path_len + 1) * sizeof(char);
- if (NULL == (data->lib_path = dat_os_alloc(lib_path_size))) {
+ if (NULL == (data->lib_path = dat_os_alloc(data->lib_path_size))) {
status =
DAT_ERROR(DAT_INSUFFICIENT_RESOURCES, DAT_RESOURCE_MEMORY);
goto bail;
@@ -144,9 +147,9 @@ dat_sr_insert(IN const DAT_PROVIDER_INFO * info, IN DAT_SR_ENTRY * entry)
data->lib_path[lib_path_len] = '\0';
ia_params_len = strlen(entry->ia_params);
- ia_params_size = (ia_params_len + 1) * sizeof(char);
+ data->ia_params_size = (ia_params_len + 1) * sizeof(char);
- if (NULL == (data->ia_params = dat_os_alloc(ia_params_size))) {
+ if (NULL == (data->ia_params = dat_os_alloc(data->ia_params_size))) {
status =
DAT_ERROR(DAT_INSUFFICIENT_RESOURCES, DAT_RESOURCE_MEMORY);
goto bail;
@@ -197,11 +200,11 @@ dat_sr_insert(IN const DAT_PROVIDER_INFO * info, IN DAT_SR_ENTRY * entry)
if (DAT_SUCCESS != status) {
if (NULL != data) {
if (NULL != data->lib_path) {
- dat_os_free(data->lib_path, lib_path_size);
+ dat_os_free(data->lib_path, data->lib_path_size);
}
if (NULL != data->ia_params) {
- dat_os_free(data->ia_params, ia_params_size);
+ dat_os_free(data->ia_params, data->ia_params_size);
}
dat_os_free(data, sizeof(DAT_SR_ENTRY));
@@ -218,6 +221,42 @@ dat_sr_insert(IN const DAT_PROVIDER_INFO * info, IN DAT_SR_ENTRY * entry)
//***********************************************************************
// Function: dat_sr_size
//***********************************************************************
+extern DAT_RETURN dat_sr_remove(IN const DAT_PROVIDER_INFO *info)
+{
+ DAT_DICTIONARY_ENTRY dict_entry = NULL;
+ DAT_RETURN status = DAT_ERROR(DAT_PROVIDER_IN_USE, 0);
+ DAT_SR_ENTRY *data;
+
+ dat_os_lock(&g_sr_lock);
+ status = dat_dictionary_search(g_sr_dictionary, info,
+ (DAT_DICTIONARY_DATA)&data);
+ if (DAT_SUCCESS != status)
+ goto bail;
+
+ if (0 != ((DAT_SR_ENTRY *) data)->ref_count)
+ goto bail;
+
+ status = dat_dictionary_remove(g_sr_dictionary,
+ &dict_entry, info,
+ (DAT_DICTIONARY_DATA)&data);
+ if (DAT_SUCCESS != status)
+ goto bail;
+
+ dat_os_free(data->lib_path, data->lib_path_size);
+ dat_os_free(data->ia_params, data->ia_params_size);
+ dat_os_free(data, sizeof(DAT_SR_ENTRY));
+bail:
+ dat_os_unlock(&g_sr_lock);
+
+ if (NULL != dict_entry)
+ (void)dat_dictionary_entry_destroy(dict_entry);
+
+ return status;
+}
+
+//***********************************************************************
+// Function: dat_sr_size
+//***********************************************************************
extern DAT_RETURN dat_sr_size(OUT DAT_COUNT * size)
{
@@ -302,6 +341,62 @@ dat_sr_list(IN DAT_COUNT max_to_return,
}
//***********************************************************************
+// Function: dat_sr_remove_all()
+//***********************************************************************
+extern DAT_RETURN dat_sr_remove_all(IN DAT_DICTIONARY *p_dictionary)
+{
+ int i;
+ DAT_RETURN status = DAT_ERROR(DAT_INSUFFICIENT_RESOURCES, DAT_RESOURCE_MEMORY);
+ DAT_COUNT entries = 0;
+ DAT_PROVIDER_INFO **plist;
+
+ /* get provider count */
+ dat_sr_size(&entries);
+
+ /* need array of pointers to info */
+ plist = dat_os_alloc(entries * sizeof(DAT_PROVIDER_INFO *));
+ if (plist == NULL)
+ goto bail;
+
+ dat_os_memset(plist, 0, entries * sizeof(DAT_PROVIDER_INFO *));
+ for (i = 0; i < entries; i++ ) {
+ plist[i] = dat_os_alloc(sizeof(DAT_PROVIDER_INFO));
+ if (plist[i] == NULL)
+ goto bail;
+ }
+
+ /* remove and destroy each SR entry */
+ status = dat_sr_list(entries, &entries, plist);
+ if (DAT_SUCCESS != status)
+ goto bail;
+
+ for (i=0;i<entries;i++) {
+ status = dat_sr_remove(plist[i]);
+ if (DAT_SUCCESS != status) {
+ dat_os_dbg_print(DAT_OS_DBG_TYPE_SR,
+ " WARNING: libdat2 remove SR"
+ " provider: IA %s busy\n",
+ plist[i]->ia_name);
+ goto bail;
+ }
+ dat_os_dbg_print(DAT_OS_DBG_TYPE_SR,
+ " libdat2 removed SR"
+ " provider: IA %s\n",
+ plist[i]->ia_name);
+ }
+bail:
+ for (i = 0; i < entries; i++ ) {
+ if (plist[i] != NULL)
+ dat_os_free(plist[i], sizeof(DAT_PROVIDER_INFO));
+ }
+ dat_os_free(plist, entries * sizeof(DAT_PROVIDER_INFO *));
+
+ return status;
+
+}
+
+
+//***********************************************************************
// Function: dat_sr_provider_open
//***********************************************************************
diff --git a/dat/common/dat_sr.h b/dat/common/dat_sr.h
index 86be8a0..1990023 100644
--- a/dat/common/dat_sr.h
+++ b/dat/common/dat_sr.h
@@ -45,6 +45,7 @@
#include <dat2/dat_registry.h>
#include "dat_osd.h"
+#include "dat_dictionary.h"
/*********************************************************************
* *
@@ -57,6 +58,8 @@ typedef struct DAT_SR_ENTRY
DAT_PROVIDER_INFO info;
char * lib_path;
char * ia_params;
+ DAT_OS_SIZE lib_path_size;
+ DAT_OS_SIZE ia_params_size;
DAT_OS_LIBRARY_HANDLE lib_handle;
DAT_PROVIDER_INIT_FUNC init_func;
DAT_PROVIDER_FINI_FUNC fini_func;
@@ -82,6 +85,9 @@ dat_sr_insert (
IN const DAT_PROVIDER_INFO *info,
IN DAT_SR_ENTRY *entry );
+extern DAT_RETURN dat_sr_remove(
+ IN const DAT_PROVIDER_INFO *info);
+
extern DAT_RETURN
dat_sr_size (
OUT DAT_COUNT *size);
@@ -93,6 +99,10 @@ dat_sr_list (
OUT DAT_PROVIDER_INFO * (dat_provider_list[]) );
extern DAT_RETURN
+dat_sr_remove_all(
+ IN DAT_DICTIONARY *p_dictionary);
+
+extern DAT_RETURN
dat_sr_provider_open (
IN const DAT_PROVIDER_INFO *info );
diff --git a/dat/common/dat_strerror.c b/dat/common/dat_strerror.c
index 4480bef..915dfb0 100644
--- a/dat/common/dat_strerror.c
+++ b/dat/common/dat_strerror.c
@@ -233,6 +233,11 @@ dat_strerror_minor(IN DAT_RETURN value, OUT const char **message)
*message = "DAT_RESOURCE_CREDITS";
return DAT_SUCCESS;
}
+ case DAT_RESOURCE_SRQ:
+ {
+ *message = "DAT_RESOURCE_SRQ";
+ return DAT_SUCCESS;
+ }
case DAT_INVALID_HANDLE_IA:
{
*message = "DAT_INVALID_HANDLE_IA";
@@ -303,6 +308,66 @@ dat_strerror_minor(IN DAT_RETURN value, OUT const char **message)
*message = "DAT_INVALID_HANDLE_EVD_ASYNC";
return DAT_SUCCESS;
}
+ case DAT_INVALID_HANDLE_SRQ:
+ {
+ *message = "DAT_INVALID_HANDLE_SRQ";
+ return DAT_SUCCESS;
+ }
+ case DAT_INVALID_HANDLE_CSP:
+ {
+ *message = "DAT_INVALID_HANDLE_CSP";
+ return DAT_SUCCESS;
+ }
+ case DAT_INVALID_HANDLE1:
+ {
+ *message = "DAT_INVALID_HANDLE1";
+ return DAT_SUCCESS;
+ }
+ case DAT_INVALID_HANDLE2:
+ {
+ *message = "DAT_INVALID_HANDLE2";
+ return DAT_SUCCESS;
+ }
+ case DAT_INVALID_HANDLE3:
+ {
+ *message = "DAT_INVALID_HANDLE3";
+ return DAT_SUCCESS;
+ }
+ case DAT_INVALID_HANDLE4:
+ {
+ *message = "DAT_INVALID_HANDLE4";
+ return DAT_SUCCESS;
+ }
+ case DAT_INVALID_HANDLE5:
+ {
+ *message = "DAT_INVALID_HANDLE5";
+ return DAT_SUCCESS;
+ }
+ case DAT_INVALID_HANDLE6:
+ {
+ *message = "DAT_INVALID_HANDLE6";
+ return DAT_SUCCESS;
+ }
+ case DAT_INVALID_HANDLE7:
+ {
+ *message = "DAT_INVALID_HANDLE7";
+ return DAT_SUCCESS;
+ }
+ case DAT_INVALID_HANDLE8:
+ {
+ *message = "DAT_INVALID_HANDLE8";
+ return DAT_SUCCESS;
+ }
+ case DAT_INVALID_HANDLE9:
+ {
+ *message = "DAT_INVALID_HANDLE9";
+ return DAT_SUCCESS;
+ }
+ case DAT_INVALID_HANDLE10:
+ {
+ *message = "DAT_INVALID_HANDLE10";
+ return DAT_SUCCESS;
+ }
case DAT_INVALID_ARG1:
{
*message = "DAT_INVALID_ARG1";
@@ -408,6 +473,51 @@ dat_strerror_minor(IN DAT_RETURN value, OUT const char **message)
*message = "DAT_INVALID_STATE_EP_NOTREADY";
return DAT_SUCCESS;
}
+ case DAT_INVALID_STATE_EP_RECV_WATERMARK:
+ {
+ *message = "DAT_INVALID_STATE_EP_RECV_WATERMARK";
+ return DAT_SUCCESS;
+ }
+ case DAT_INVALID_STATE_EP_PZ:
+ {
+ *message = "DAT_INVALID_STATE_EP_PZ";
+ return DAT_SUCCESS;
+ }
+ case DAT_INVALID_STATE_EP_EVD_REQUEST:
+ {
+ *message = "DAT_INVALID_STATE_EP_EVD_REQUEST";
+ return DAT_SUCCESS;
+ }
+ case DAT_INVALID_STATE_EP_EVD_RECV:
+ {
+ *message = "DAT_INVALID_STATE_EP_EVD_RCV";
+ return DAT_SUCCESS;
+ }
+ case DAT_INVALID_STATE_EP_EVD_CONNECT:
+ {
+ *message = "DAT_INVALID_STATE_EP_EVD_CONNECT";
+ return DAT_SUCCESS;
+ }
+ case DAT_INVALID_STATE_EP_UNCONFIGURED:
+ {
+ *message = "DAT_INVALID_STATE_EP_UNCONFIGURED";
+ return DAT_SUCCESS;
+ }
+ case DAT_INVALID_STATE_EP_UNCONFRESERVED:
+ {
+ *message = "DAT_INVALID_STATE_EP_UNCONFRESERVED";
+ return DAT_SUCCESS;
+ }
+ case DAT_INVALID_STATE_EP_UNCONFPASSIVE:
+ {
+ *message = "DAT_INVALID_STATE_EP_UNCONFPASSIVE";
+ return DAT_SUCCESS;
+ }
+ case DAT_INVALID_STATE_EP_UNCONFTENTATIVE:
+ {
+ *message = "DAT_INVALID_STATE_EP_UNCONFTENTATIVE";
+ return DAT_SUCCESS;
+ }
case DAT_INVALID_STATE_CNO_IN_USE:
{
*message = "DAT_INVALID_STATE_CNO_IN_USE";
diff --git a/dat/include/dat2/dat_ib_extensions.h b/dat/include/dat2/dat_ib_extensions.h
index 2c082b1..6e3cb9e 100755
--- a/dat/include/dat2/dat_ib_extensions.h
+++ b/dat/include/dat2/dat_ib_extensions.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007 Intel Corporation. All rights reserved.
+ * Copyright (c) 2007-2011 Intel Corporation. All rights reserved.
*
* This Software is licensed under one of the following licenses:
*
@@ -70,14 +70,39 @@
* 2.0.3 - Add query/print counter support for IA, EP, and EVD's
* dat_query_counters(), dat_print_counters()
*
+ * 2.0.4 - Add DAT_IB_UD_CONNECTION_REJECT_EVENT extended UD event
+ * 2.0.5 - Add DAT_IB_UD extended UD connection error events
+ * 2.0.6 - Add MPI over IB collective extensions
+ * 2.0.7 - Add new IA counters for dapl CM, device LINK, device DIAG
+ *
*/
-#define DAT_IB_EXTENSION_VERSION 203 /* 2.0.3 */
-#define DAT_ATTR_COUNTERS "DAT_COUNTERS"
+#define DAT_IB_EXTENSION_VERSION 207 /* 2.0.7 */
+#define DAT_IB_ATTR_COUNTERS "DAT_COUNTERS"
#define DAT_IB_ATTR_FETCH_AND_ADD "DAT_IB_FETCH_AND_ADD"
#define DAT_IB_ATTR_CMP_AND_SWAP "DAT_IB_CMP_AND_SWAP"
#define DAT_IB_ATTR_IMMED_DATA "DAT_IB_IMMED_DATA"
#define DAT_IB_ATTR_UD "DAT_IB_UD"
+#define DAT_IB_COLL_SET_CLOCK "DAT_COLL_SET_CLOCK"
+#define DAT_IB_COLL_READ_CLOCK "DAT_COLL_READ_CLOCK"
+#define DAT_IB_COLL_BROADCAST "DAT_COLL_BROADCAST"
+#define DAT_IB_COLL_BARRIER "DAT_COLL_BARRIER"
+#define DAT_IB_COLL_SCATTER "DAT_COLL_SCATTER"
+#define DAT_IB_COLL_SCATTERV "DAT_COLL_SCATTERV"
+#define DAT_IB_COLL_GATHER "DAT_COLL_GATHER"
+#define DAT_IB_COLL_GATHERV "DAT_COLL_GATHERV"
+#define DAT_IB_COLL_ALLGATHER "DAT_COLL_ALLGATHER"
+#define DAT_IB_COLL_ALLGATHERV "DAT_COLL_ALLGATHERV"
+#define DAT_IB_COLL_ALLTOALL "DAT_COLL_ALLTOALL"
+#define DAT_IB_COLL_ALLTOALLV "DAT_COLL_ALLTOALLV"
+#define DAT_IB_COLL_REDUCE "DAT_COLL_REDUCE"
+#define DAT_IB_COLL_ALLREDUCE "DAT_COLL_ALLREDUCE"
+#define DAT_IB_COLL_REDUCE_SCATTER "DAT_COLL_REDUCE_SCATTER"
+#define DAT_IB_COLL_SCAN "DAT_COLL_SCAN"
+
+/* Collective handle */
+typedef DAT_HANDLE DAT_IB_COLLECTIVE_HANDLE;
+
/*
* Definition for extended EVENT numbers, DAT_IB_EXTENSION_BASE_RANGE
* is used by these extensions as a starting point for extended event numbers
@@ -89,7 +114,10 @@ typedef enum dat_ib_event_number
{
DAT_IB_DTO_EVENT = DAT_IB_EXTENSION_RANGE_BASE,
DAT_IB_UD_CONNECTION_REQUEST_EVENT,
- DAT_IB_UD_CONNECTION_EVENT_ESTABLISHED
+ DAT_IB_UD_CONNECTION_EVENT_ESTABLISHED,
+ DAT_IB_UD_CONNECTION_REJECT_EVENT,
+ DAT_IB_UD_CONNECTION_ERROR_EVENT,
+ DAT_IB_COLLECTIVE_EVENT,
} DAT_IB_EVENT_NUMBER;
@@ -102,8 +130,30 @@ typedef enum dat_ib_op
DAT_IB_CMP_AND_SWAP_OP,
DAT_IB_RDMA_WRITE_IMMED_OP,
DAT_IB_UD_SEND_OP,
- DAT_QUERY_COUNTERS_OP,
- DAT_PRINT_COUNTERS_OP
+ DAT_IB_QUERY_COUNTERS_OP,
+ DAT_IB_PRINT_COUNTERS_OP,
+ DAT_IB_COLLECTIVE_CREATE_MEMBER_OP,
+ DAT_IB_COLLECTIVE_FREE_MEMBER_OP,
+ DAT_IB_COLLECTIVE_CREATE_GROUP_OP,
+ DAT_IB_COLLECTIVE_FREE_GROUP_OP,
+ DAT_IB_COLLECTIVE_SET_CLOCK_OP,
+ DAT_IB_COLLECTIVE_READ_CLOCK_OP,
+ DAT_IB_COLLECTIVE_SCATTER_OP,
+ DAT_IB_COLLECTIVE_SCATTERV_OP,
+ DAT_IB_COLLECTIVE_GATHER_OP,
+ DAT_IB_COLLECTIVE_GATHERV_OP,
+ DAT_IB_COLLECTIVE_ALLGATHER_OP,
+ DAT_IB_COLLECTIVE_ALLGATHERV_OP,
+ DAT_IB_COLLECTIVE_ALLTOALL_OP,
+ DAT_IB_COLLECTIVE_ALLTOALLV_OP,
+ DAT_IB_COLLECTIVE_REDUCE_OP,
+ DAT_IB_COLLECTIVE_ALLREDUCE_OP,
+ DAT_IB_COLLECTIVE_REDUCE_SCATTER_OP,
+ DAT_IB_COLLECTIVE_SCAN_OP,
+ DAT_IB_COLLECTIVE_BROADCAST_OP,
+ DAT_IB_COLLECTIVE_BARRIER_OP,
+ DAT_IB_START_COUNTERS_OP,
+ DAT_IB_STOP_COUNTERS_OP,
} DAT_IB_OP;
@@ -126,7 +176,27 @@ typedef enum dat_ib_ext_type
DAT_IB_UD_REMOTE_AH, // 6
DAT_IB_UD_PASSIVE_REMOTE_AH, // 7
DAT_IB_UD_SEND, // 8
- DAT_IB_UD_RECV // 9
+ DAT_IB_UD_RECV, // 9
+ DAT_IB_UD_CONNECT_REJECT, // 10
+ DAT_IB_UD_CONNECT_ERROR, // 11
+
+ DAT_IB_COLLECTIVE_CREATE_STATUS, // 12
+ DAT_IB_COLLECTIVE_CREATE_DATA, // 13
+ DAT_IB_COLLECTIVE_CLOCK_SET_STATUS, // 14
+ DAT_IB_COLLECTIVE_SCATTER_STATUS, // 15
+ DAT_IB_COLLECTIVE_SCATTERV_STATUS, // 16
+ DAT_IB_COLLECTIVE_GATHER_STATUS, // 17
+ DAT_IB_COLLECTIVE_GATHERV_STATUS, // 18
+ DAT_IB_COLLECTIVE_ALLGATHER_STATUS, // 19
+ DAT_IB_COLLECTIVE_ALLGATHERV_STATUS, // 20
+ DAT_IB_COLLECTIVE_ALLTOALL_STATUS, // 21
+ DAT_IB_COLLECTIVE_ALLTOALLV_STATUS, // 22
+ DAT_IB_COLLECTIVE_REDUCE_STATUS, // 23
+ DAT_IB_COLLECTIVE_ALLREDUCE_STATUS, // 24
+ DAT_IB_COLLECTIVE_REDUCE_SCATTER_STATUS,// 25
+ DAT_IB_COLLECTIVE_SCAN_STATUS, // 26
+ DAT_IB_COLLECTIVE_BROADCAST_STATUS, // 27
+ DAT_IB_COLLECTIVE_BARRIER_STATUS, // 28
} DAT_IB_EXT_TYPE;
@@ -137,10 +207,10 @@ typedef enum dat_ib_status
{
DAT_OP_SUCCESS = DAT_SUCCESS,
DAT_IB_OP_ERR,
+ DAT_IB_COLL_COMP_ERR,
} DAT_IB_STATUS;
-
/*
* Definitions for additional extension type RETURN codes above
* standard DAT types. Included with standard DAT_TYPE_STATUS
@@ -149,6 +219,7 @@ typedef enum dat_ib_status
typedef enum dat_ib_return
{
DAT_IB_ERR = DAT_EXTENSION_BASE,
+ DAT_IB_COLLECTIVE_ERR
} DAT_IB_RETURN;
@@ -166,7 +237,8 @@ typedef enum dat_ib_dtos
DAT_IB_DTO_SEND_UD,
DAT_IB_DTO_RECV_UD,
DAT_IB_DTO_RECV_UD_IMMED,
-
+ DAT_IB_DTO_COLLECTIVES,
+
} DAT_IB_DTOS;
/*
@@ -177,6 +249,7 @@ typedef enum dat_ib_dtos
typedef enum dat_ib_handle_type
{
DAT_IB_HANDLE_TYPE_EXT = DAT_HANDLE_TYPE_EXTENSION_BASE,
+ DAT_IB_HANDLE_TYPE_COLLECTIVE
} DAT_IB_HANDLE_TYPE;
@@ -214,14 +287,8 @@ typedef struct dat_ib_addr_handle
} DAT_IB_ADDR_HANDLE;
-/*
- * Definitions for extended event data:
- * When dat_event->event_number >= DAT_IB_EXTENSION_BASE_RANGE
- * then dat_event->extension_data == DAT_IB_EXT_EVENT_DATA type
- * and ((DAT_IB_EXT_EVENT_DATA*)dat_event->extension_data)->type
- * specifies extension data values.
- * NOTE: DAT_IB_EXT_EVENT_DATA cannot exceed 64 bytes as defined by
- * "DAT_UINT64 extension_data[8]" in DAT_EVENT (dat.h)
+/*
+ * Definition for the value filed of extended event that contains immediate data
*/
typedef struct dat_ib_immed_data
{
@@ -229,13 +296,21 @@ typedef struct dat_ib_immed_data
} DAT_IB_IMMED_DATA;
+/* definition for IB collective event data */
+typedef struct dat_ib_collective_event_data
+{
+ DAT_HANDLE handle;
+ DAT_CONTEXT context;
+
+} DAT_IB_COLLECTIVE_EVENT_DATA;
+
/*
* Definitions for extended event data:
* When dat_event->event_number >= DAT_IB_EXTENSION_BASE_RANGE
- * then dat_event->extension_data == DAT_EXTENSION_EVENT_DATA type
- * and ((DAT_EXTENSION_EVENT_DATA*)dat_event->extension_data)->type
+ * then dat_event->extension_data == DAT_IB_EXTENSION_EVENT_DATA type
+ * and ((DAT_IB_EXTENSION_EVENT_DATA*)dat_event->extension_data)->type
* specifies extension data values.
- * NOTE: DAT_EXTENSION_EVENT_DATA cannot exceed 64 bytes as defined by
+ * NOTE: DAT_IB_EXTENSION_EVENT_DATA cannot exceed 64 bytes as defined by
* "DAT_UINT64 extension_data[8]" in DAT_EVENT (dat.h)
*
* Provide UD address handles via extended connect establishment.
@@ -248,7 +323,10 @@ typedef struct dat_ib_extension_event_data
union {
DAT_IB_IMMED_DATA immed;
} val;
- DAT_IB_ADDR_HANDLE remote_ah;
+ union {
+ DAT_IB_ADDR_HANDLE remote_ah;
+ DAT_IB_COLLECTIVE_EVENT_DATA coll;
+ };
} DAT_IB_EXTENSION_EVENT_DATA;
@@ -294,6 +372,65 @@ typedef enum dat_ia_counters
DCNT_IA_ASYNC_ERROR,
DCNT_IA_ASYNC_QP_ERROR,
DCNT_IA_ASYNC_CQ_ERROR,
+ DCNT_IA_CM_LISTEN,
+ DCNT_IA_CM_REQ_TX,
+ DCNT_IA_CM_REQ_RX,
+ DCNT_IA_CM_REP_TX,
+ DCNT_IA_CM_REP_RX,
+ DCNT_IA_CM_RTU_TX,
+ DCNT_IA_CM_RTU_RX,
+ DCNT_IA_CM_USER_REJ_TX,
+ DCNT_IA_CM_USER_REJ_RX,
+ DCNT_IA_CM_ACTIVE_EST,
+ DCNT_IA_CM_PASSIVE_EST,
+ DCNT_IA_CM_AH_REQ_TX,
+ DCNT_IA_CM_AH_REQ_RX,
+ DCNT_IA_CM_AH_RESOLVED,
+ DCNT_IA_CM_DREQ_TX,
+ DCNT_IA_CM_DREQ_RX,
+ DCNT_IA_CM_DREP_TX,
+ DCNT_IA_CM_DREP_RX,
+ DCNT_IA_CM_MRA_TX,
+ DCNT_IA_CM_MRA_RX,
+ DCNT_IA_CM_REQ_FULLQ_POLL,
+ DCNT_IA_CM_ERR,
+ DCNT_IA_CM_ERR_REQ_FULLQ,
+ DCNT_IA_CM_ERR_REQ_DUP,
+ DCNT_IA_CM_ERR_REQ_RETRY,
+ DCNT_IA_CM_ERR_REP_DUP,
+ DCNT_IA_CM_ERR_REP_RETRY,
+ DCNT_IA_CM_ERR_RTU_DUP,
+ DCNT_IA_CM_ERR_RTU_RETRY,
+ DCNT_IA_CM_ERR_REFUSED,
+ DCNT_IA_CM_ERR_RESET,
+ DCNT_IA_CM_ERR_TIMEOUT,
+ DCNT_IA_CM_ERR_REJ_TX,
+ DCNT_IA_CM_ERR_REJ_RX,
+ DCNT_IA_CM_ERR_DREQ_DUP,
+ DCNT_IA_CM_ERR_DREQ_RETRY,
+ DCNT_IA_CM_ERR_DREP_DUP,
+ DCNT_IA_CM_ERR_DREP_RETRY,
+ DCNT_IA_CM_ERR_MRA_DUP,
+ DCNT_IA_CM_ERR_MRA_RETRY,
+ DCNT_IA_CM_ERR_UNEXPECTED,
+ DCNT_IA_LNK_ERR_RCV,
+ DCNT_IA_LNK_ERR_RCV_REM_PHYS,
+ DCNT_IA_LNK_ERR_RCV_CONSTRAINT,
+ DCNT_IA_LNK_ERR_XMT_DISCARDS,
+ DCNT_IA_LNK_ERR_XMT_CONTRAINT,
+ DCNT_IA_LNK_ERR_INTEGRITY,
+ DCNT_IA_LNK_ERR_EXC_BUF_OVERRUN,
+ DCNT_IA_LNK_WARN_RCV_SW_RELAY,
+ DCNT_IA_LNK_WARN_XMT_WAIT,
+ DCNT_IA_DIAG_ERR_RQ_RAE,
+ DCNT_IA_DIAG_ERR_RQ_OOS,
+ DCNT_IA_DIAG_ERR_RQ_RIRE,
+ DCNT_IA_DIAG_ERR_RQ_UDSDPRD,
+ DCNT_IA_DIAG_ERR_SQ_RAE,
+ DCNT_IA_DIAG_ERR_SQ_OOS,
+ DCNT_IA_DIAG_ERR_SQ_RIRE,
+ DCNT_IA_DIAG_ERR_SQ_RREE,
+ DCNT_IA_DIAG_ERR_SQ_TREE,
DCNT_IA_ALL_COUNTERS, /* MUST be last */
} DAT_IA_COUNTERS;
@@ -350,6 +487,84 @@ typedef enum dat_evd_counters
} DAT_EVD_COUNTERS;
+/*
+ * Definitions IA Counter Types
+ * for sampling running counters
+ *
+ */
+typedef enum dat_ia_counter_type
+{
+ DCNT_IA_CM,
+ DCNT_IA_LNK,
+ DCNT_IA_DIAG,
+
+} DAT_IA_COUNTER_TYPE;
+
+/*
+ * Data type for reduce operations
+ */
+typedef enum dat_ib_collective_data_type
+{
+ DAT_IB_COLLECTIVE_TYPE_INT8,
+ DAT_IB_COLLECTIVE_TYPE_UINT8,
+ DAT_IB_COLLECTIVE_TYPE_INT16,
+ DAT_IB_COLLECTIVE_TYPE_UINT16,
+ DAT_IB_COLLECTIVE_TYPE_INT32,
+ DAT_IB_COLLECTIVE_TYPE_UINT32,
+ DAT_IB_COLLECTIVE_TYPE_INT64,
+ DAT_IB_COLLECTIVE_TYPE_UINT64,
+ DAT_IB_COLLECTIVE_TYPE_FLOAT,
+ DAT_IB_COLLECTIVE_TYPE_DOUBLE,
+ DAT_IB_COLLECTIVE_TYPE_LONG_DOUBLE,
+ DAT_IB_COLLECTIVE_TYPE_SHORT_INT,
+ DAT_IB_COLLECTIVE_TYPE_2INT,
+ DAT_IB_COLLECTIVE_TYPE_FLOAT_INT,
+ DAT_IB_COLLECTIVE_TYPE_LONG_INT,
+ DAT_IB_COLLECTIVE_TYPE_DOUBLE_INT,
+
+} DAT_IB_COLLECTIVE_DATA_TYPE;
+
+/*
+ * Opcode for reduce operations
+ */
+typedef enum dat_ib_collective_reduce_data_op
+{
+ DAT_IB_COLLECTIVE_REDUCE_OP_MAX,
+ DAT_IB_COLLECTIVE_REDUCE_OP_MIN,
+ DAT_IB_COLLECTIVE_REDUCE_OP_SUM,
+ DAT_IB_COLLECTIVE_REDUCE_OP_PROD,
+ DAT_IB_COLLECTIVE_REDUCE_OP_LAND,
+ DAT_IB_COLLECTIVE_REDUCE_OP_BAND,
+ DAT_IB_COLLECTIVE_REDUCE_OP_LOR,
+ DAT_IB_COLLECTIVE_REDUCE_OP_BOR,
+ DAT_IB_COLLECTIVE_REDUCE_OP_LXOR,
+ DAT_IB_COLLECTIVE_REDUCE_OP_BXOR,
+ DAT_IB_COLLECTIVE_REDUCE_OP_MAXLOC,
+ DAT_IB_COLLECTIVE_REDUCE_OP_MINLOC
+
+} DAT_IB_COLLECTIVE_REDUCE_DATA_OP;
+
+/*
+ * For group creation
+ */
+typedef unsigned int DAT_IB_COLLECTIVE_RANK;
+typedef unsigned int DAT_IB_COLLECTIVE_ID;
+typedef void * DAT_IB_COLLECTIVE_MEMBER;
+
+typedef struct dat_ib_collective_group
+{
+ int local_size; /* # of processes on this node */
+ int local_rank; /* my rank within the node */
+ int *local_ranks; /* global rank for each local process */
+ int external_size; /* # of nodes, each node has exactly one external process (local root) */
+ int external_rank; /* my rank among all external processes if one of them, otherwise -1 */
+ int *external_ranks; /* global rank for each external process */
+ int *intranode_table; /* mapping from global rank to local rank. -1 if the process is on a different node */
+ int *internode_table; /* mapping from global rank to external rank. -1 if the process is >not external */
+ int is_comm_world;
+
+} DAT_IB_COLLECTIVE_GROUP;
+
/* Extended RETURN and EVENT STATUS string helper functions */
/* DAT_EXT_RETURN error to string */
@@ -390,6 +605,9 @@ dat_strerror_ext_status (
/*
* Extended IB transport specific APIs
* redirection via DAT extension function
+ * va_arg function: DAT_HANDLE and OP type MUST be first 2 parameters
+ *
+ * RETURN VALUE: DAT_RETURN
*/
/*
@@ -399,13 +617,14 @@ dat_strerror_ext_status (
* and the result is stored in the local_iov.
*/
#define dat_ib_post_fetch_and_add(ep, add_val, lbuf, cookie, rbuf, flgs) \
- dat_extension_op( ep, \
- DAT_IB_FETCH_AND_ADD_OP, \
- (add_val), \
- (lbuf), \
- (cookie), \
- (rbuf), \
- (flgs))
+ dat_extension_op(\
+ IN (DAT_EP_HANDLE) (ep), \
+ IN (DAT_IB_OP) DAT_IB_FETCH_AND_ADD_OP, \
+ IN (DAT_UINT64) (add_val), \
+ IN (DAT_LMR_TRIPLET *) (lbuf), \
+ IN (cookie), \
+ IN (DAT_RMR_TRIPLET *) (rbuf), \
+ IN (DAT_COMPLETION_FLAGS) (flgs))
/*
* This asynchronous call is modeled after the InfiniBand atomic
@@ -416,14 +635,15 @@ dat_strerror_ext_status (
* value stored in the remote memory location is copied to the local_iov.
*/
#define dat_ib_post_cmp_and_swap(ep, cmp_val, swap_val, lbuf, cookie, rbuf, flgs) \
- dat_extension_op( ep, \
- DAT_IB_CMP_AND_SWAP_OP, \
- (cmp_val), \
- (swap_val), \
- (lbuf), \
- (cookie), \
- (rbuf), \
- (flgs))
+ dat_extension_op(\
+ IN (DAT_EP_HANDLE) (ep), \
+ IN (DAT_IB_OP) DAT_IB_CMP_AND_SWAP_OP, \
+ IN (DAT_UINT64) (cmp_val), \
+ IN (DAT_UINT64) (swap_val), \
+ IN (DAT_LMR_TRIPLET *) (lbuf), \
+ IN (cookie), \
+ IN (DAT_RMR_TRIPLET *) (rbuf), \
+ IN (DAT_COMPLETION_FLAGS) (flgs))
/*
* RDMA Write with IMMEDIATE:
@@ -442,14 +662,15 @@ dat_strerror_ext_status (
* n/a
*/
#define dat_ib_post_rdma_write_immed(ep, size, lbuf, cookie, rbuf, idata, flgs) \
- dat_extension_op( ep, \
- DAT_IB_RDMA_WRITE_IMMED_OP, \
- (size), \
- (lbuf), \
- (cookie), \
- (rbuf), \
- (idata), \
- (flgs))
+ dat_extension_op(\
+ IN (DAT_EP_HANDLE) (ep), \
+ IN (DAT_IB_OP) DAT_IB_RDMA_WRITE_IMMED_OP, \
+ IN (DAT_COUNT) (size), \
+ IN (DAT_LMR_TRIPLET *) (lbuf), \
+ IN (cookie), \
+ IN (DAT_RMR_TRIPLET *) (rbuf), \
+ IN (DAT_UINT32) (idata), \
+ IN (DAT_COMPLETION_FLAGS) (flgs))
/*
* Unreliable datagram: msg send
@@ -464,14 +685,21 @@ dat_strerror_ext_status (
* n/a
*/
#define dat_ib_post_send_ud(ep, segments, lbuf, ah_ptr, cookie, flgs) \
- dat_extension_op( ep, \
- DAT_IB_UD_SEND_OP, \
- (segments), \
- (lbuf), \
- (ah_ptr), \
- (cookie), \
- (flgs))
+ dat_extension_op(\
+ IN (DAT_EP_HANDLE) (ep), \
+ IN (DAT_IB_OP) DAT_IB_UD_SEND_OP, \
+ IN (DAT_COUNT) (segments), \
+ IN (DAT_LMR_TRIPLET *) (lbuf), \
+ IN (DAT_IB_ADDR_HANDLE *) (ah_ptr), \
+ IN (cookie), \
+ IN (DAT_COMPLETION_FLAGS) (flgs))
+/*
+ * Unreliable datagram: msg recv
+ *
+ * Mapping to standard EP post call.
+ */
+#define dat_ib_post_recv_ud dat_ep_post_recv
/*
* Query counter(s):
@@ -480,12 +708,13 @@ dat_strerror_ext_status (
*
* use _ALL_COUNTERS to query all
*/
-#define dat_query_counters(dat_handle, cntr, p_cntrs_out, reset) \
- dat_extension_op( dat_handle, \
- DAT_QUERY_COUNTERS_OP, \
- (cntr), \
- (p_cntrs_out), \
- (reset))
+#define dat_ib_query_counters(dat_handle, cntr, p_cntrs_out, reset) \
+ dat_extension_op(\
+ IN (DAT_HANDLE) dat_handle, \
+ IN (DAT_IB_OP) DAT_QUERY_COUNTERS_OP, \
+ IN (int) (cntr), \
+ IN (DAT_UINT64 *) (p_cntrs_out), \
+ IN (int) (reset))
/*
* Print counter(s):
* Provide IA, EP, or EVD and call will print appropriate counters
@@ -493,11 +722,445 @@ dat_strerror_ext_status (
*
* use _ALL_COUNTERS to print all
*/
-#define dat_print_counters(dat_handle, cntr, reset) \
- dat_extension_op( dat_handle, \
- DAT_PRINT_COUNTERS_OP, \
- (cntr), \
- (reset))
+#define dat_ib_print_counters(dat_handle, cntr, reset) \
+ dat_extension_op(\
+ IN (DAT_HANDLE) dat_handle, \
+ IN (DAT_IB_OP) DAT_PRINT_COUNTERS_OP, \
+ IN (int) (cntr), \
+ IN (int) (reset))
+
+/*
+ * Start and stop counter(s):
+ * Provide IA, call will start sampling running IB counters
+ * DAT_HANDLE dat_handle, counter type (link, diag)
+ *
+ */
+#define dat_ib_start_counter(dat_handle, type) \
+ dat_extension_op(\
+ IN (DAT_HANDLE) dat_handle, \
+ IN (DAT_IB_OP) DAT_IB_START_COUNTERS_OP, \
+ IN (DAT_COUNTER_TYPE) (type))
+
+#define dat_ib_stop_counter(dat_handle, type) \
+ dat_extension_op(\
+ IN (DAT_HANDLE) dat_handle, \
+ IN (DAT_IB_OP) DAT_IB_STOP_COUNTERS_OP, \
+ IN (DAT_COUNTER_TYPE) (type))
+
+/*
+ ************************ MPI IB Collective Functions ***********************
+ */
+
+/* MPI collective member and group setup functions */
+
+/*
+ * This synchronous call creates and returns local member
+ * address information for a collective device or provider
+ * for each rank. The size of the member address information
+ * is dependent on the collective device or provider.
+ * This address information, for each rank, must be exchanged
+ * and used for group creation on all ranks.
+ */
+#define dat_ib_collective_create_member(ia_handle, progress_func, member, member_size) \
+ dat_extension_op(\
+ IN (DAT_IA_HANDLE) (ia_handle), \
+ IN (DAT_IB_OP) DAT_IB_COLLECTIVE_CREATE_MEMBER_OP, \
+ IN (void *) (progress_func), \
+ OUT (DAT_IB_COLLECTIVE_MEMBER *) (member), \
+ OUT (DAT_UINT32 *) (member_size))
+
+/*
+ * This synchronous call destroys a previously created member
+ * information associated with the this device ia_handle argument.
+ */
+#define dat_ib_collective_free_member(ia_handle, member) \
+ dat_extension_op(\
+ IN (DAT_IA_HANDLE) (ia_handle), \
+ IN (DAT_IB_OP) DAT_IB_COLLECTIVE_FREE_MEMBER_OP, \
+ IN (DAT_IB_COLLECTIVE_MEMBER) (member))
+
+/*
+ * This asynchronous call initiates the process of creating a collective
+ * group and must be called by all group members. The collective_group
+ * argument points to an array of address/connection qualifier pairs that
+ * identify the members of the group in rank order. The group_size argument
+ * specifies the size of the group and therefore the size of the coll_group
+ * array. The self argument identifies the rank of the caller.
+ * The group_id argument specifies a network-unique identifier for this
+ * instance of the collective group. The group_info provides global and local
+ * rank and process information. All members of the group must specify
+ * the same group_id value for the same collective instance. The evd_handle
+ * argument specifies the EVD used for all asynchronous collective completions
+ * including this call. The user_context argument will be returned in the
+ * DAT_EXT_COLLECTIVE_CREATE_DATA event.
+ *
+ * On a successful completion, each group member will receive a
+ * DAT_EXT_COLLECTIVE_CREATE_DATA event on the EVD specified by evd_handle.
+ * The event contains the collective handle, the rank of the receiving
+ * Endpoint within the collective group, the size of the group, and the
+ * caller specified user_context. The returned collective handle can be used
+ * in network clock, Multicast, and other collective operations.
+ *
+ * RETURN VALUE: DAT_RETURN
+ */
+#define dat_ib_collective_create_group(members, group_size, self, group_id, group_info, evd, pd, user_context) \
+ dat_extension_op(\
+ IN (DAT_EVD_HANDLE) (evd), \
+ IN (DAT_IB_OP) DAT_IB_COLLECTIVE_CREATE_GROUP_OP, \
+ IN (DAT_IB_COLLECTIVE_MEMBER *) (members), \
+ IN (DAT_COUNT) (group_size), \
+ IN (DAT_IB_COLLECTIVE_RANK) (self), \
+ IN (DAT_IB_COLLECTIVE_ID) (group_id), \
+ IN (DAT_IB_COLLECTIVE_GROUP *) (group_info), \
+ IN (DAT_PZ_HANDLE) (pd), \
+ IN (DAT_CONTEXT) (user_context))
+
+/*
+ * This synchronous call destroys a previously created collective group
+ * associated with the collective_handle argument. Any pending or
+ * in-process requests associated with the collective group will be
+ * terminated and be posted to the appropriate EVD.
+ *
+ * RETURN VALUE: DAT_RETURN
+ */
+#define dat_ib_collective_free_group(coll_handle) \
+ dat_extension_op(\
+ IN (DAT_IB_COLLECTIVE_HANDLE) (coll_handle), \
+ IN (DAT_IB_OP) DAT_IB_COLLECTIVE_FREE_GROUP_OP)
+
+
+/* MPI collective data operations */
+
+/*
+ * This call sets the network clock associated with
+ * collective_handle. A provider implementation may keep a single
+ * global clock for all collective handles. When this is the case,
+ * this call sets an adjustment for the given handle so that
+ * subsequent calls to read the clock will be relative to the value
+ * specified by clock_value. This is an asynchronous call that
+ * completes on the collective EVD. The network clock will not be
+ * synchronized until the request is completed. Any member of the
+ * collective can set the clock and only one member should make
+ * this call on behave of the entire collective.
+ */
+#define dat_ib_collective_set_clock(coll_handle, clock_value, user_context ) \
+ dat_extension_op( \
+ IN (DAT_IB_COLLECTIVE_HANDLE) (coll_handle), \
+ IN (DAT_IB_OP) DAT_IB_COLLECTIVE_READ_CLOCK_OP, \
+ IN (DAT_UINT64) (clock_value), \
+ IN (DAT_CONTEXT) (user_contex))
+
+/*
+ * This synchronous call returns the current value of the network clock
+ * associated with the given collective handle. This is a light weight
+ * call to minimize skew
+ */
+#define dat_ib_collective_read_clock(coll_handle, clock_value ) \
+ dat_extension_op( \
+ IN (DAT_IB_COLLECTIVE_HANDLE) (coll_handle), \
+ IN (DAT_IB_OP) DAT_IB_COLLECTIVE_READ_CLOCK_OP, \
+ OUT (DAT_UINT64 *) clock_value))
+
+/*
+ * This call performs a scatter of the data specified by the
+ * send_buffer argument to the collective group specified by coll_handle.
+ * Data is received in the buffer specified by the recv_buffer argument.
+ * The recv_byte_count argument specifies the size of the receive buffer.
+ * Data from the root send_buffer will be divided by the number of members
+ * in the collective group to form equal and contiguous memory partitions.
+ * Each member of the collective group will receive its rank relative
+ * partition. An error is returned if the send_byte_count does not describe
+ * memory that can be evenly divided by the size of the collective group.
+ * An "in place" transfer for the root rank can be indicated by passing NULL
+ * as the recv_buffer argument. The send_buffer and send_byte_count
+ * arguments are ignored on non-root members. The operation is completed on
+ * the collective EVD unless completions are suppressed through the
+ * completion flags.
+ */
+#define dat_ib_collective_scatter(coll_handle, sendbuf, sendsize, recvbuf, recvsize, root, user_context, flags) \
+ dat_extension_op( \
+ IN (DAT_IB_COLLECTIVE_HANDLE) (coll_handle), \
+ IN (DAT_IB_OP) DAT_IB_COLLECTIVE_SCATTER_OP, \
+ IN (DAT_PVOID) (sendbuf), \
+ IN (DAT_COUNT) (sendsize), \
+ IN (DAT_PVOID) (recvbuf), \
+ IN (DAT_COUNT) (recvsize), \
+ IN (DAT_IB_COLLECTIVE_RANK) (root), \
+ IN (DAT_CONTEXT) (user_context), \
+ IN (DAT_COMPLETION_FLAGS) (flags))
+
+/*
+ * This call performs a non-uniform scatter of the data
+ * specified by the send_buffers array argument to the collective group
+ * specified by coll_handle. The send_buffers array contains one buffer
+ * pointer for each member of the collective group, in rank order.
+ * The send_byte_counts array contains a byte count for each corresponding
+ * send buffer pointer. The recv_buffer and recev_byte_count arguments
+ * specify where received portions of the scatter are to be received.
+ * An "in place" transfer for the root rank can be indicated by passing
+ * NULL as the recv_buffer argument. The send_buffers and send_byte_counts
+ * arguments are ignored on non-root members. The operation is completed
+ * on the collective EVD unless completions are suppressed through the
+ * completion flags.
+ *
+ */
+#define dat_ib_collective_scatterv(coll_handle, sendbuf, sendsizes, displs, recvbuf, recvsize, root, user_context, flags) \
+ dat_extension_op( \
+ IN (DAT_IB_COLLECTIVE_HANDLE) (coll_handle), \
+ IN (DAT_IB_OP) DAT_IB_COLLECTIVE_SCATTERV_OP, \
+ IN (DAT_PVOID) (sendbuf), \
+ IN (DAT_COUNT *) (sendsizes), \
+ IN (DAT_COUNT *) (displs), \
+ IN (DAT_PVOID) (recvbuf), \
+ IN (DAT_COUNT) (recvsize), \
+ IN (DAT_IB_COLLECTIVE_RANK) (root), \
+ IN (DAT_CONTEXT) (user_context), \
+ IN (DAT_COMPLETION_FLAGS) (flags))
+
+/*
+ * This call performs a gather of the data sent by all
+ * members of the collective specified by the collective_handle argument.
+ * The data to be sent is specified by the send_buffer and send_byte_count
+ * arguments. Data is received by the collective member specified by the
+ * root argument in the buffer specified by the recv_buffer and
+ * recv_byte_count arguments. Data is placed into the receive buffer in
+ * collective rank order. An "in place" transfer for the root rank can
+ * be indicated by passing NULL as the send_buffer argument.
+ * The recv_buffer and recv_byte_count arguments are ignored on non-root
+ * members. The operation is completed on the collective EVD unless
+ * completions are suppressed through the completion flags.
+ */
+#define dat_ib_collective_gather(coll_handle, sendbuf, sendsize, recvbuf, recvsize, root, user_context, flags) \
+ dat_extension_op( \
+ IN (DAT_IB_COLLECTIVE_HANDLE) (coll_handle), \
+ IN (DAT_IB_OP) DAT_IB_COLLECTIVE_GATHER_OP, \
+ IN (DAT_PVOID) (sendbuf), \
+ IN (DAT_COUNT) (sendsize), \
+ IN (DAT_PVOID) (recvbuf), \
+ IN (DAT_COUNT) (recvsize), \
+ IN (DAT_IB_COLLECTIVE_RANK) (root), \
+ IN (DAT_CONTEXT) (user_context), \
+ IN (DAT_COMPLETION_FLAGS)(flags))
+
+/*
+ * This call performs a non-uniform gather of the data sent by
+ * all members of the collective specified by the collective_handle argument.
+ * The data to be sent is specified by the send_buffer and send_byte_count
+ * arguments. Data is received by the collective member specified by the
+ * root argument into the buffers specified by the recv_buffers and
+ * recv_byte_counts array arguments. Data is placed into the receive buffer
+ * associated with the rank that sent it. An "in place" transfer for the root
+ * rank can be indicated by passing NULL as the send_buffer argument.
+ * The recv_buffers and recv_byte_counts arguments are ignored on non-root
+ * members. The operation is completed on the collective EVD unless
+ * completions are suppressed through the completion flags.
+ */
+#define dat_ib_collective_gatherv(coll_handle, sendbuf, sendsize, recvbufs, recvsizes, displs, root, user_context, flags) \
+ dat_extension_op( \
+ (DAT_IB_COLLECTIVE_HANDLE)(coll_handle), \
+ IN (DAT_IB_OP) DAT_IB_COLLECTIVE_GATHERV_OP, \
+ IN (DAT_PVOID) (sendbuf), \
+ IN (DAT_COUNT) (sendsize), \
+ IN (DAT_PVOID) (recvbuf), \
+ IN (DAT_COUNT *) (recvsizes), \
+ IN (DAT_COUNT *) (displs), \
+ IN (DAT_IB_COLLECTIVE_RANK) (root), \
+ IN (DAT_CONTEXT) (user_context), \
+ IN (DAT_COMPLETION_FLAGS) (flags))
+
+/*
+ * This call is equivalent to having all members of a collective
+ * group perform a dat_collective_gather() as the root. This results in all
+ * members of the collective having identical contents in their receive buffer
+ */
+#define dat_ib_collective_allgather(coll_handle, sendbuf, sendsize, recvbuf, recvsize, user_context, flags) \
+ dat_extension_op( \
+ (DAT_IB_COLLECTIVE_HANDLE)(coll_handle), \
+ IN (DAT_IB_OP) DAT_IB_COLLECTIVE_ALLGATHER_OP, \
+ IN (DAT_PVOID) (sendbuf), \
+ IN (DAT_COUNT) (sendsize), \
+ IN (DAT_PVOID) (recvbuf), \
+ IN (DAT_COUNT) (recvsize), \
+ IN (DAT_CONTEXT) (user_context), \
+ IN (DAT_COMPLETION_FLAGS) (flags))
+
+/*
+ * This call performs a non-uniform dat_collective_allgather()
+ * operation. It is equivalent to having all members of a collective group
+ * perform a dat_collective_gatherv() as the root. This results in all
+ * members of the collective having identical contents in their receive
+ * buffer.
+ */
+#define dat_ib_collective_allgatherv(coll_handle, sendbuf, sendsize, recvbuf, recvsizes, displs, user_context, flags) \
+ dat_extension_op( \
+ (DAT_IB_COLLECTIVE_HANDLE)(coll_handle), \
+ IN (DAT_IB_OP) DAT_IB_COLLECTIVE_ALLGATHERV_OP, \
+ IN (DAT_PVOID) (sendbuf), \
+ IN (DAT_COUNT) (sendsize), \
+ IN (DAT_PVOID) (recvbuf), \
+ IN (DAT_COUNT *) (recvsizes), \
+ IN (DAT_COUNT *) (displs), \
+ IN (DAT_CONTEXT) (user_context), \
+ IN (DAT_COMPLETION_FLAGS) (flags))
+
+/*
+ * This call is an extension of dat_collective_allgather()
+ * to the case where each member sends distinct data specified by send_buffer
+ * to each of the other members. The jth block sent from rank i is received
+ * by rank j and is placed in the ith block of recv_buffer.
+ */
+#define dat_ib_collective_alltoall(coll_handle, sendbuf, sendsize, recvbuf, recvsize, user_context, flags) \
+ dat_extension_op( \
+ (DAT_IB_COLLECTIVE_HANDLE)(coll_handle), \
+ IN (DAT_IB_OP) DAT_IB_COLLECTIVE_ALLTOALL_OP, \
+ IN (DAT_PVOID) (sendbuf), \
+ IN (DAT_COUNT) (sendsize), \
+ IN (DAT_PVOID) (recvbuf), \
+ IN (DAT_COUNT) (recvsize), \
+ IN (DAT_CONTEXT) (user_context), \
+ IN (DAT_COMPLETION_FLAGS) (flags))
+
+/*
+ * This call performs a non-uniform dat_collective_alltoall() operation
+ */
+#define dat_ib_collective_alltoallv(coll_handle, sendbuf, sendsizes, senddspls, recvbuf, recvsizes, recvdispls, user_context, flags) \
+ dat_extension_op( \
+ (DAT_IB_COLLECTIVE_HANDLE)(coll_handle), \
+ IN (DAT_IB_OP) DAT_IB_COLLECTIVE_ALLTOALLV_OP, \
+ IN (DAT_PVOID) (sendbuf), \
+ IN (DAT_COUNT *) (sendsizes), \
+ IN (DAT_COUNT *) (senddispls), \
+ IN (DAT_PVOID) (recvbuf), \
+ IN (DAT_COUNT *) (recvsizes), \
+ IN (DAT_COUNT *) (recvdispls), \
+ IN (DAT_CONTEXT) (user_context), \
+ IN (DAT_COMPLETION_FLAGS) (flags))
+
+/*
+ * This call combines the elements of the data type specified
+ * by data_type from the buffer specified by send_buffer of all members of
+ * the collective by performing the operation specified by reduce_operation
+ * and placing the result into the buffer of the root member specified by
+ * recv_buffer. It is an error to specify a floating point type with
+ * any of the logical reduction operators.When using the REDUCE_OP_MINLOC
+ * and REDUCE_OP _MAXLOC operations, it is assumed that the input and output
+ * buffers contain pair values where the first member of the pair is of the
+ * type specified by data_type followed by a COLLECTIVE_TYPE_UINT32 type.
+ * When the reduction is complete, the receive buffer will contain the
+ * MIN/MAX value in the first member of the pair with the first member rank
+ * that contained it in the second member of the pair. The tables below
+ * show the result of a REDUCE_OP_SUM reduce operation.
+ */
+#define dat_ib_collective_reduce(coll_handle, sendbuf, sendsize, recvbuf, recvsize, op, type, root, user_context, flags) \
+ dat_extension_op( \
+ IN (DAT_IB_COLLECTIVE_HANDLE)(coll_handle), \
+ IN (DAT_IB_OP) DAT_IB_COLLECTIVE_REDUCE_OP, \
+ IN (DAT_PVOID) (sendbuf), \
+ IN (DAT_COUNT) (sendsize), \
+ IN (DAT_PVOID) (recvbuf), \
+ IN (DAT_COUNT) (recvsize), \
+ IN (DAT_IB_COLLECTIVE_REDUCE_DATA_OP) (op), \
+ IN (DAT_IB_COLLECTIVE_DATA_TYPE) (type), \
+ IN (DAT_IB_COLLECTIVE_RANK) (root), \
+ IN (DAT_CONTEXT) (user_context), \
+ IN (DAT_COMPLETION_FLAGS) (flags))
+
+/*
+ * This call is identical to the dat_collective_reduce()
+ * call with the exception that the recv_buffer and recv_byte_count arguments
+ * are valid for all members of the collective and all members of will
+ * receive the reduction results.
+ */
+#define dat_ib_collective_allreduce(coll_handle, sendbuf, sendsize, recvbuf, recvsize, op, type, user_context, flags) \
+ dat_extension_op( \
+ IN (DAT_IB_COLLECTIVE_HANDLE) (coll_handle), \
+ IN (DAT_IB_OP) DAT_IB_COLLECTIVE_ALLREDUCE_OP, \
+ IN (DAT_PVOID) (sendbuf), \
+ IN (DAT_COUNT) (sendsize), \
+ IN (DAT_PVOID) (recvbuf), \
+ IN (DAT_COUNT) (recvsize), \
+ IN (DAT_IB_COLLECTIVE_REDUCE_DATA_OP) (op), \
+ IN (DAT_IB_COLLECTIVE_DATA_TYPE) (type), \
+ IN (DAT_CONTEXT) (user_context), \
+ IN (DAT_COMPLETION_FLAGS) (flags))
+/*
+ * This call is identical to rank 0 of the collective calling
+ * this dat_collective_reduce() followed by dat_collective_scatterv().
+ * The number of bytes received in the scatter for each rank is determined
+ * by rank offset into the recv_byte_counts array.
+ */
+#define dat_ib_collective_reduce_scatter(coll_handle, sendbuf, sendsize, recvbuf, recvsizes, op, type, user_context, flags) \
+ dat_extension_op( \
+ IN (DAT_IB_COLLECTIVE_HANDLE) (coll_handle), \
+ IN (DAT_IB_OP) DAT_IB_COLLECTIVE_REDUCE_SCATTER_OP, \
+ IN (DAT_PVOID) (sendbuf), \
+ IN (DAT_COUNT) (sendsize), \
+ IN (DAT_PVOID) (recvbuf), \
+ IN (DAT_COUNT *) (recvsizes), \
+ IN (DAT_IB_COLLECTIVE_REDUCE_DATA_OP) (op), \
+ IN (DAT_IB_COLLECTIVE_DATA_TYPE) (type), \
+ IN (DAT_CONTEXT) (user_context), \
+ IN (DAT_COMPLETION_FLAGS) (flags))
+
+/*
+ * This call is used to perform a prefix reduction on data
+ * distributed across the group. The operation returns, in recv_buffer of
+ * the member with rank i, the reduction of the values in send_buffer of
+ * members with ranks 0,...,i (inclusive). The tables below show the
+ * result of a REDUCE_OP_SUM scan operation.
+ */
+#define dat_ib_collective_scan(coll_handle, sendbuf, sendsize, recvbuf, recvsize, op, type, user_context, flags) \
+ dat_extension_op( \
+ IN (DAT_IB_COLLECTIVE_HANDLE) (coll_handle), \
+ IN (DAT_IB_OP) DAT_IB_COLLECTIVE_SCAN_OP, \
+ IN (DAT_PVOID) (sendbuf), \
+ IN (DAT_COUNT) (sendsize), \
+ IN (DAT_PVOID) (recvbuf), \
+ IN (DAT_COUNT) (recvsize), \
+ IN (DAT_IB_COLLECTIVE_REDUCE_DATA_OP) (op), \
+ IN (DAT_IB_COLLECTIVE_DATA_TYPE) (type), \
+ IN (DAT_CONTEXT) (user_context), \
+ IN (DAT_COMPLETION_FLAGS) (flags))
+
+/*
+ * This call performs a broadcast send operation that transfers
+ * data specified by the buffer argument of the root into the buffer argument
+ * of all other Endpoints in the collective group specified by coll_handle.
+ * The operation is completed on the collective EVD unless completions are
+ * suppressed through the completion flags. All broadcasts are considered
+ * �in place� transfers. The tables below show the result of a broadcast
+ * operation.
+ */
+#define dat_ib_collective_broadcast(coll_handle, buf, size, root, user_context, flags) \
+ dat_extension_op(\
+ IN (DAT_IB_COLLECTIVE_HANDLE) (coll_handle), \
+ IN (DAT_IB_OP) DAT_IB_COLLECTIVE_BROADCAST_OP, \
+ IN (DAT_PVOID) (buf), \
+ IN (DAT_COUNT) (size), \
+ IN (DAT_IB_COLLECTIVE_RANK) (root), \
+ IN (DAT_CONTEXT) (user_context), \
+ IN (DAT_COMPLETION_FLAGS) (flags))
+
+/*
+ * This call will synchronize all endpoints of the collective
+ * group specified by coll_handle. This is an asynchronous call that
+ * will post a completion to the collective EVD when all endpoints
+ * have synchronized.
+ */
+#define dat_ib_collective_barrier(coll_handle, user_context, flags) \
+ dat_extension_op( \
+ IN (DAT_IB_COLLECTIVE_HANDLE) (coll_handle), \
+ IN (DAT_IB_OP) DAT_IB_COLLECTIVE_BARRIER_OP, \
+ IN (DAT_CONTEXT) (user_context), \
+ IN (DAT_COMPLETION_FLAGS) (flags))
+
+
+/* Backward compatibility */
+#define DAT_ATTR_COUNTERS DAT_IB_ATTR_COUNTERS
+#define dat_query_counters dat_ib_query_counters
+#define dat_print_counters dat_ib_print_counters
+#define DAT_QUERY_COUNTERS_OP DAT_IB_QUERY_COUNTERS_OP
+#define DAT_PRINT_COUNTERS_OP DAT_IB_PRINT_COUNTERS_OP
#endif /* _DAT_IB_EXTENSIONS_H_ */
diff --git a/dat/include/dat2/dat_platform_specific.h b/dat/include/dat2/dat_platform_specific.h
index 79e8d3a..5bed6cb 100644
--- a/dat/include/dat2/dat_platform_specific.h
+++ b/dat/include/dat2/dat_platform_specific.h
@@ -148,7 +148,8 @@ typedef DAT_UINT64 DAT_PADDR;
#include <linux/types.h>
#else
#include <sys/types.h>
-#include <linux/stddef.h>
+#include <stddef.h>
+#include <stdio.h>
#endif /* defined(__KERNEL__) */
typedef u_int32_t DAT_UINT32; /* unsigned host order, 32 bits */
@@ -196,6 +197,9 @@ typedef struct sockaddr_in6 DAT_SOCK_ADDR6; /* Socket address header native
#elif defined(_MSC_VER) || defined(_WIN32) || defined(_WIN64)
/* NT. MSC compiler, Win32/64 platform */
+#include <winsock2.h>
+#include <ws2tcpip.h>
+
typedef unsigned __int32 DAT_UINT32; /* Unsigned host order, 32 bits */
typedef unsigned __int64 DAT_UINT64; /* unsigned host order, 64 bits */
typedef unsigned long DAT_UVERYLONG; /* unsigned longest native to compiler */
diff --git a/dat/udat/linux/dat_osd.c b/dat/udat/linux/dat_osd.c
index 28ac9fa..cbb95ba 100644
--- a/dat/udat/linux/dat_osd.c
+++ b/dat/udat/linux/dat_osd.c
@@ -156,7 +156,7 @@ dat_os_library_load (
}
else
{
- dat_os_dbg_print (DAT_OS_DBG_TYPE_ERROR,
+ dat_os_dbg_print (DAT_OS_DBG_TYPE_GENERIC,
"DAT: library load failure: %s\n",
dlerror ());
return DAT_INTERNAL_ERROR;
diff --git a/dat/udat/udat.c b/dat/udat/udat.c
index 03edcf9..842b36c 100755
--- a/dat/udat/udat.c
+++ b/dat/udat/udat.c
@@ -210,6 +210,12 @@ dat_ia_openv(IN const DAT_NAME_PTR name,
async_event_handle, ia_handle);
if (dat_status == DAT_SUCCESS) {
*ia_handle = (DAT_IA_HANDLE) dats_set_ia_handle(*ia_handle);
+ } else {
+ (void)dat_dr_provider_close(&info);
+#ifndef DAT_NO_STATIC_REGISTRY
+ (void)dat_sr_provider_close(&info);
+#endif
+ return dat_status;
}
/*
diff --git a/dat/udat/udat_api.c b/dat/udat/udat_api.c
index 5948a4f..6c1549a 100644
--- a/dat/udat/udat_api.c
+++ b/dat/udat/udat_api.c
@@ -161,6 +161,9 @@ DAT_RETURN DAT_API dat_cno_query(IN DAT_CNO_HANDLE cno_handle,
IN DAT_CNO_PARAM_MASK cno_param_mask,
OUT DAT_CNO_PARAM * cno_param)
{
+ if (cno_handle == NULL) {
+ return DAT_ERROR(DAT_INVALID_HANDLE, DAT_INVALID_HANDLE_CNO);
+ }
return DAT_CNO_QUERY(cno_handle, cno_param_mask, cno_param);
}
diff --git a/dat/udat/udat_sr_parser.c b/dat/udat/udat_sr_parser.c
index 126fb9f..1d5f0d8 100644
--- a/dat/udat/udat_sr_parser.c
+++ b/dat/udat/udat_sr_parser.c
@@ -239,7 +239,7 @@ DAT_RETURN dat_sr_load(void)
sr_file = dat_os_fopen(sr_path);
if (sr_file == NULL) {
#ifdef DAT_CONF
- dat_os_dbg_print(DAT_OS_DBG_TYPE_ERROR,
+ dat_os_dbg_print(DAT_OS_DBG_TYPE_SR,
"DAT Registry: sysconfdir, "
"bad filename - %s, retry default at %s\n",
sr_path, DAT_SR_CONF_DEFAULT);
@@ -492,6 +492,12 @@ DAT_RETURN dat_sr_parse_entry(DAT_OS_FILE * file)
1));
}
+ if (NULL != entry.platform_params) {
+ dat_os_free(entry.platform_params,
+ sizeof(char) *
+ (dat_os_strlen(entry.platform_params) + 1));
+ }
+
return status;
}
diff --git a/doc/dat.conf b/doc/dat.conf
new file mode 100644
index 0000000..ad6ab05
--- /dev/null
+++ b/doc/dat.conf
@@ -0,0 +1,61 @@
+# DAT v2.0, v1.2 configuration file
+#
+# Each entry should have the following fields:
+#
+# <ia_name> <api_version> <threadsafety> <default> <lib_path> \
+# <provider_version> <ia_params> <platform_params>
+#
+# For uDAPL cma provder, <ia_params> is one of the following:
+# network address, network hostname, or netdev name and 0 for port
+#
+# For uDAPL scm provider, <ia_params> is device name and port
+# For uDAPL ucm provider, <ia_params> is device name and port
+# For uDAPL iWARP provider, <ia_params> is netdev device name and 0
+# For uDAPL iWARP provider, <ia_params> is netdev device name and 0
+# For uDAPL RoCE provider, <ia_params> is device name and 0
+#
+ofa-v2-mlx4_0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx4_0 1" ""
+ofa-v2-mlx4_0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx4_0 2" ""
+ofa-v2-ib0 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "ib0 0" ""
+ofa-v2-ib1 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "ib1 0" ""
+ofa-v2-mthca0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mthca0 1" ""
+ofa-v2-mthca0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mthca0 2" ""
+ofa-v2-ipath0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "ipath0 1" ""
+ofa-v2-ipath0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "ipath0 2" ""
+ofa-v2-ehca0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "ehca0 1" ""
+ofa-v2-iwarp u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "eth2 0" ""
+ofa-v2-mlx4_0-1u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "mlx4_0 1" ""
+ofa-v2-mlx4_0-2u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "mlx4_0 2" ""
+ofa-v2-mthca0-1u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "mthca0 1" ""
+ofa-v2-mthca0-2u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "mthca0 2" ""
+ofa-v2-cma-roe-eth2 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "eth2 0" ""
+ofa-v2-cma-roe-eth3 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "eth3 0" ""
+ofa-v2-scm-roe-mlx4_0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx4_0 1" ""
+ofa-v2-scm-roe-mlx4_0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx4_0 2" ""
+ofa-v2-mcm-1 u2.0 nonthreadsafe default libdaplomcm.so.2 dapl.2.0 "mlx4_0 1" ""
+ofa-v2-mcm-2 u2.0 nonthreadsafe default libdaplomcm.so.2 dapl.2.0 "mlx4_0 2" ""
+ofa-v2-scif0 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "scif0 1" ""
+ofa-v2-scif0-u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "scif0 1" ""
+ofa-v2-mic0 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "mic0:ib 1" ""
+ofa-v2-mlx4_0-1s u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx4_0 1" ""
+ofa-v2-mlx4_0-2s u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx4_0 2" ""
+ofa-v2-mlx4_1-1s u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx4_1 1" ""
+ofa-v2-mlx4_1-2s u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx4_1 2" ""
+ofa-v2-mlx4_1-1u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "mlx4_1 1" ""
+ofa-v2-mlx4_1-2u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "mlx4_1 2" ""
+ofa-v2-mlx4_0-1m u2.0 nonthreadsafe default libdaplomcm.so.2 dapl.2.0 "mlx4_0 1" ""
+ofa-v2-mlx4_0-2m u2.0 nonthreadsafe default libdaplomcm.so.2 dapl.2.0 "mlx4_0 2" ""
+ofa-v2-mlx4_1-1m u2.0 nonthreadsafe default libdaplomcm.so.2 dapl.2.0 "mlx4_1 1" ""
+ofa-v2-mlx4_1-2m u2.0 nonthreadsafe default libdaplomcm.so.2 dapl.2.0 "mlx4_1 2" ""
+ofa-v2-mlx5_0-1s u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx5_0 1" ""
+ofa-v2-mlx5_0-2s u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx5_0 2" ""
+ofa-v2-mlx5_1-1s u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx5_1 1" ""
+ofa-v2-mlx5_1-2s u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx5_1 2" ""
+ofa-v2-mlx5_0-1u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "mlx5_0 1" ""
+ofa-v2-mlx5_0-2u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "mlx5_0 2" ""
+ofa-v2-mlx5_1-1u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "mlx5_1 1" ""
+ofa-v2-mlx5_1-2u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "mlx5_1 2" ""
+ofa-v2-mlx5_0-1m u2.0 nonthreadsafe default libdaplomcm.so.2 dapl.2.0 "mlx5_0 1" ""
+ofa-v2-mlx5_0-2m u2.0 nonthreadsafe default libdaplomcm.so.2 dapl.2.0 "mlx5_0 2" ""
+ofa-v2-mlx5_1-1m u2.0 nonthreadsafe default libdaplomcm.so.2 dapl.2.0 "mlx5_1 1" ""
+ofa-v2-mlx5_1-2m u2.0 nonthreadsafe default libdaplomcm.so.2 dapl.2.0 "mlx5_1 2" ""
diff --git a/man/dapltest.1 b/man/dapltest.1
index c1c4682..62b44bb 100644
--- a/man/dapltest.1
+++ b/man/dapltest.1
@@ -1,5 +1,5 @@
." Text automatically generated by txt2man
-.TH dapltest 1 "February 23, 2007" "uDAPL 1.2" "USER COMMANDS"
+.TH dapltest 1 "July 16, 2013" "uDAPL 2.0" "USER COMMANDS"
.SH NAME
\fB
@@ -23,7 +23,7 @@ needed to run the test before awaiting further connections.
.SH USAGE
dapltest [ -f script_file_name ]
-[ -T S|Q|T|P|L ] [ -D device_name ] [ -d ] [ -R HT|LL|EC|PM|BE ]
+[ -T S|Q|T|P|L ] [ -D device_name ] [-n port_number] [ -d ] [ -R HT|LL|EC|PM|BE ]
.PP
With no arguments, dapltest runs as a server using default values,
and loops accepting requests from clients.
@@ -72,6 +72,11 @@ corresponds to the provider library to open.
Default: none
.TP
.B
+[ -n server_port_number]
+Specifies the starting server port for all tests.
+Default: 45278
+.TP
+.B
[ -d ]
Enables extra debug verbosity, primarily tracing
of the various DAPL operations as they progress.
@@ -314,21 +319,21 @@ Usage - Limit test client
.fi
.SH EXAMPLES
-dapltest -T S -d -D OpenIB-cma
+dapltest -T S -d -D OpenIB-cma -n 53000
.PP
.nf
.fam C
- Starts a server process with debug verbosity.
+ Starts a server process with debug verbosity, on server port 53000.
.fam T
.fi
-dapltest -T T -d -s host1-ib0 -D OpenIB-cma -i 100 client SR 4096 2 server SR 4096 2
+dapltest -T T -d -s host1-ib0 -D OpenIB-cma -n 53000 -i 100 client SR 4096 2 server SR 4096 2
.PP
.nf
.fam C
Runs a transaction test, with both sides
sending one buffer with two 4KB segments,
- one hundred times.
+ one hundred times. To server host1-ib0 on port 53000
.fam T
.fi
diff --git a/man/dat.conf.5 b/man/dat.conf.5
index 6dee668..e64ec81 100644
--- a/man/dat.conf.5
+++ b/man/dat.conf.5
@@ -45,18 +45,64 @@ entry is termed Static Registration.
- ia params, IA specific parameters - device name and port
- platform params, (not used)
.PP
-.SH Example netdev entries for OpenFabrics rdma_cm providers, both v1.2 and v2.0
+.SH OpenFabrics RDMA providers:
\br
+ Provider options for both 1.2 and 2.0, each using different CM services
+
+ 1. cma - OpenFabrics rdma_cm - uses rdma_cm services for connections
+ - requires IPoIB and SA/SM services for IB
+ - netdev used for device name, without port designation (ia_params)
+ - Supports any transport rdma_cm supports including IB, iWARP, RoCEE
+ - libdaplcma.so (1.2), libdaplofa (2.0)
+
+ 2. scm - uDAPL socket based CM - exchanges CM information over sockets
+ - eliminates the need for rdma_cm, IPoIB, and SA for IB
+ - verbs device used for device name with port designation (ia_param)
+ - Supports IB, RoCEE. Doesn't support iWARP
+ - libdaplscm.so (1.2), libdaploscm (2.0)
+
+ 3. ucm - uDAPL unreliable IB CM - exchanges CM information via IB UD QP's
+ - eliminates the need for sockets or rdma_cm
+ - verbs device used for device name with port designation (ia_param)
+ - Supports IB only, no name service.
+ - libdaplucm.so (1.2), libdaploucm (2.0)
+.PP
+.SH Example entries for each OpenFabrics provider
+\br
+
+ 1. cma - OpenFarbrics rdma_cm (v1.2 and v2.0 examples)
+
OpenIB-cma u1.2 nonthreadsafe default libdaplcma.so.1 dapl.1.2 "ib0 0" ""
ofa-v2-ib0 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "ib0 0" ""
+ ofa-v2-iwarp u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "eth2 0" ""
+ ofa-v2-cma-roe-eth2 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "eth2 0" ""
+ ofa-v2-cma-roe-eth3 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "eth3 0" ""
- NOTE: The OpenFabrics providers use <ia_params> to specify the device with one of the following:
+ NOTE: The OpenFabrics CMA providers use <ia_params> to specify the device with one of the following:
network address, network hostname, or netdev name; along with port number.
- The OpenIB- and ofa-v2- IA names are unique mappings. Reserved for OpenFabrics providers.
+ 2. scm - uDAPL socket based CM (v1.2 and v2.0 examples)
+
+ OpenIB-mlx4_0-1 u1.2 nonthreadsafe default libdaplscm.so.1 dapl.1.2 "mlx4_0 1" ""
+ OpenIB-ipath0-1 u1.2 nonthreadsafe default libdaplscm.so.1 dapl.1.2 "ipath0 1" ""
+ ofa-v2-mlx4_0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx4_0 1" ""
+ ofa-v2-mlx4_0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx4_0 2" ""
+ ofa-v2-mlx4_1-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx4_1 1" ""
+ ofa-v2-ehca0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "ehca0 1" ""
+ ofa-v2-scm-roe-mlx4_0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx4_0 1" ""
+
+ 3. ucm - uDAPL unreliable IB CM (not supported in 1.2, v2.0 examples)
+
+ ofa-v2-mlx4_0-1u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "mlx4_0 1" ""
+ ofa-v2-mlx4_0-2u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "mlx4_0 2" ""
+ ofa-v2-ipath0-1u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "ipath0 1" ""
+ ofa-v2-ehca0-1u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "ehca0 1" ""
+
+ Note: OpenIB- and ofa-v2- IA names are unique mappings, reserved for OpenFabrics providers.
+.PP
+The default location for this configuration file is /etc/dat.conf.
.PP
-The default location for this configuration file is /etc/dat.conf.
The file location may be overridden with the environment variable DAT_OVERRIDE=/your_own_directory/your_dat.conf.
.PP
-.SH "SEE ALSO"
+.SH "SEE ALSO" rdma_cm verbs socket
.PP
diff --git a/test/dapltest/Makefile.in b/test/dapltest/Makefile.in
index d0e7ecc..b6b807a 100644
--- a/test/dapltest/Makefile.in
+++ b/test/dapltest/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,8 +17,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -34,7 +36,7 @@ build_triplet = @build@
host_triplet = @host@
bin_PROGRAMS = dapltest$(EXEEXT)
subdir = test/dapltest
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in NEWS
+DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -42,8 +44,8 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS)
am_dapltest_OBJECTS = dapltest-dapl_main.$(OBJEXT) \
dapltest-dapl_params.$(OBJEXT) dapltest-dapl_fft_cmd.$(OBJEXT) \
@@ -94,6 +96,7 @@ dapltest_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -290,9 +293,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/dapltest/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu test/dapltest/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/dapltest/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign test/dapltest/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -310,34 +313,50 @@ $(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
dapltest$(EXEEXT): $(dapltest_OBJECTS) $(dapltest_DEPENDENCIES)
@rm -f dapltest$(EXEEXT)
$(dapltest_LINK) $(dapltest_OBJECTS) $(dapltest_LDADD) $(LIBS)
@@ -398,679 +417,679 @@ distclean-compile:
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
dapltest-dapl_main.o: cmd/dapl_main.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_main.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_main.Tpo -c -o dapltest-dapl_main.o `test -f 'cmd/dapl_main.c' || echo '$(srcdir)/'`cmd/dapl_main.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_main.Tpo $(DEPDIR)/dapltest-dapl_main.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_main.Tpo $(DEPDIR)/dapltest-dapl_main.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmd/dapl_main.c' object='dapltest-dapl_main.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_main.o `test -f 'cmd/dapl_main.c' || echo '$(srcdir)/'`cmd/dapl_main.c
dapltest-dapl_main.obj: cmd/dapl_main.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_main.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_main.Tpo -c -o dapltest-dapl_main.obj `if test -f 'cmd/dapl_main.c'; then $(CYGPATH_W) 'cmd/dapl_main.c'; else $(CYGPATH_W) '$(srcdir)/cmd/dapl_main.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_main.Tpo $(DEPDIR)/dapltest-dapl_main.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_main.Tpo $(DEPDIR)/dapltest-dapl_main.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmd/dapl_main.c' object='dapltest-dapl_main.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_main.obj `if test -f 'cmd/dapl_main.c'; then $(CYGPATH_W) 'cmd/dapl_main.c'; else $(CYGPATH_W) '$(srcdir)/cmd/dapl_main.c'; fi`
dapltest-dapl_params.o: cmd/dapl_params.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_params.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_params.Tpo -c -o dapltest-dapl_params.o `test -f 'cmd/dapl_params.c' || echo '$(srcdir)/'`cmd/dapl_params.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_params.Tpo $(DEPDIR)/dapltest-dapl_params.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_params.Tpo $(DEPDIR)/dapltest-dapl_params.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmd/dapl_params.c' object='dapltest-dapl_params.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_params.o `test -f 'cmd/dapl_params.c' || echo '$(srcdir)/'`cmd/dapl_params.c
dapltest-dapl_params.obj: cmd/dapl_params.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_params.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_params.Tpo -c -o dapltest-dapl_params.obj `if test -f 'cmd/dapl_params.c'; then $(CYGPATH_W) 'cmd/dapl_params.c'; else $(CYGPATH_W) '$(srcdir)/cmd/dapl_params.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_params.Tpo $(DEPDIR)/dapltest-dapl_params.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_params.Tpo $(DEPDIR)/dapltest-dapl_params.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmd/dapl_params.c' object='dapltest-dapl_params.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_params.obj `if test -f 'cmd/dapl_params.c'; then $(CYGPATH_W) 'cmd/dapl_params.c'; else $(CYGPATH_W) '$(srcdir)/cmd/dapl_params.c'; fi`
dapltest-dapl_fft_cmd.o: cmd/dapl_fft_cmd.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_fft_cmd.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_fft_cmd.Tpo -c -o dapltest-dapl_fft_cmd.o `test -f 'cmd/dapl_fft_cmd.c' || echo '$(srcdir)/'`cmd/dapl_fft_cmd.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_fft_cmd.Tpo $(DEPDIR)/dapltest-dapl_fft_cmd.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_fft_cmd.Tpo $(DEPDIR)/dapltest-dapl_fft_cmd.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmd/dapl_fft_cmd.c' object='dapltest-dapl_fft_cmd.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_fft_cmd.o `test -f 'cmd/dapl_fft_cmd.c' || echo '$(srcdir)/'`cmd/dapl_fft_cmd.c
dapltest-dapl_fft_cmd.obj: cmd/dapl_fft_cmd.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_fft_cmd.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_fft_cmd.Tpo -c -o dapltest-dapl_fft_cmd.obj `if test -f 'cmd/dapl_fft_cmd.c'; then $(CYGPATH_W) 'cmd/dapl_fft_cmd.c'; else $(CYGPATH_W) '$(srcdir)/cmd/dapl_fft_cmd.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_fft_cmd.Tpo $(DEPDIR)/dapltest-dapl_fft_cmd.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_fft_cmd.Tpo $(DEPDIR)/dapltest-dapl_fft_cmd.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmd/dapl_fft_cmd.c' object='dapltest-dapl_fft_cmd.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_fft_cmd.obj `if test -f 'cmd/dapl_fft_cmd.c'; then $(CYGPATH_W) 'cmd/dapl_fft_cmd.c'; else $(CYGPATH_W) '$(srcdir)/cmd/dapl_fft_cmd.c'; fi`
dapltest-dapl_getopt.o: cmd/dapl_getopt.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_getopt.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_getopt.Tpo -c -o dapltest-dapl_getopt.o `test -f 'cmd/dapl_getopt.c' || echo '$(srcdir)/'`cmd/dapl_getopt.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_getopt.Tpo $(DEPDIR)/dapltest-dapl_getopt.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_getopt.Tpo $(DEPDIR)/dapltest-dapl_getopt.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmd/dapl_getopt.c' object='dapltest-dapl_getopt.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_getopt.o `test -f 'cmd/dapl_getopt.c' || echo '$(srcdir)/'`cmd/dapl_getopt.c
dapltest-dapl_getopt.obj: cmd/dapl_getopt.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_getopt.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_getopt.Tpo -c -o dapltest-dapl_getopt.obj `if test -f 'cmd/dapl_getopt.c'; then $(CYGPATH_W) 'cmd/dapl_getopt.c'; else $(CYGPATH_W) '$(srcdir)/cmd/dapl_getopt.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_getopt.Tpo $(DEPDIR)/dapltest-dapl_getopt.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_getopt.Tpo $(DEPDIR)/dapltest-dapl_getopt.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmd/dapl_getopt.c' object='dapltest-dapl_getopt.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_getopt.obj `if test -f 'cmd/dapl_getopt.c'; then $(CYGPATH_W) 'cmd/dapl_getopt.c'; else $(CYGPATH_W) '$(srcdir)/cmd/dapl_getopt.c'; fi`
dapltest-dapl_limit_cmd.o: cmd/dapl_limit_cmd.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_limit_cmd.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_limit_cmd.Tpo -c -o dapltest-dapl_limit_cmd.o `test -f 'cmd/dapl_limit_cmd.c' || echo '$(srcdir)/'`cmd/dapl_limit_cmd.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_limit_cmd.Tpo $(DEPDIR)/dapltest-dapl_limit_cmd.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_limit_cmd.Tpo $(DEPDIR)/dapltest-dapl_limit_cmd.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmd/dapl_limit_cmd.c' object='dapltest-dapl_limit_cmd.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_limit_cmd.o `test -f 'cmd/dapl_limit_cmd.c' || echo '$(srcdir)/'`cmd/dapl_limit_cmd.c
dapltest-dapl_limit_cmd.obj: cmd/dapl_limit_cmd.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_limit_cmd.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_limit_cmd.Tpo -c -o dapltest-dapl_limit_cmd.obj `if test -f 'cmd/dapl_limit_cmd.c'; then $(CYGPATH_W) 'cmd/dapl_limit_cmd.c'; else $(CYGPATH_W) '$(srcdir)/cmd/dapl_limit_cmd.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_limit_cmd.Tpo $(DEPDIR)/dapltest-dapl_limit_cmd.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_limit_cmd.Tpo $(DEPDIR)/dapltest-dapl_limit_cmd.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmd/dapl_limit_cmd.c' object='dapltest-dapl_limit_cmd.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_limit_cmd.obj `if test -f 'cmd/dapl_limit_cmd.c'; then $(CYGPATH_W) 'cmd/dapl_limit_cmd.c'; else $(CYGPATH_W) '$(srcdir)/cmd/dapl_limit_cmd.c'; fi`
dapltest-dapl_netaddr.o: cmd/dapl_netaddr.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_netaddr.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_netaddr.Tpo -c -o dapltest-dapl_netaddr.o `test -f 'cmd/dapl_netaddr.c' || echo '$(srcdir)/'`cmd/dapl_netaddr.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_netaddr.Tpo $(DEPDIR)/dapltest-dapl_netaddr.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_netaddr.Tpo $(DEPDIR)/dapltest-dapl_netaddr.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmd/dapl_netaddr.c' object='dapltest-dapl_netaddr.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_netaddr.o `test -f 'cmd/dapl_netaddr.c' || echo '$(srcdir)/'`cmd/dapl_netaddr.c
dapltest-dapl_netaddr.obj: cmd/dapl_netaddr.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_netaddr.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_netaddr.Tpo -c -o dapltest-dapl_netaddr.obj `if test -f 'cmd/dapl_netaddr.c'; then $(CYGPATH_W) 'cmd/dapl_netaddr.c'; else $(CYGPATH_W) '$(srcdir)/cmd/dapl_netaddr.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_netaddr.Tpo $(DEPDIR)/dapltest-dapl_netaddr.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_netaddr.Tpo $(DEPDIR)/dapltest-dapl_netaddr.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmd/dapl_netaddr.c' object='dapltest-dapl_netaddr.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_netaddr.obj `if test -f 'cmd/dapl_netaddr.c'; then $(CYGPATH_W) 'cmd/dapl_netaddr.c'; else $(CYGPATH_W) '$(srcdir)/cmd/dapl_netaddr.c'; fi`
dapltest-dapl_performance_cmd.o: cmd/dapl_performance_cmd.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_performance_cmd.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_performance_cmd.Tpo -c -o dapltest-dapl_performance_cmd.o `test -f 'cmd/dapl_performance_cmd.c' || echo '$(srcdir)/'`cmd/dapl_performance_cmd.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_performance_cmd.Tpo $(DEPDIR)/dapltest-dapl_performance_cmd.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_performance_cmd.Tpo $(DEPDIR)/dapltest-dapl_performance_cmd.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmd/dapl_performance_cmd.c' object='dapltest-dapl_performance_cmd.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_performance_cmd.o `test -f 'cmd/dapl_performance_cmd.c' || echo '$(srcdir)/'`cmd/dapl_performance_cmd.c
dapltest-dapl_performance_cmd.obj: cmd/dapl_performance_cmd.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_performance_cmd.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_performance_cmd.Tpo -c -o dapltest-dapl_performance_cmd.obj `if test -f 'cmd/dapl_performance_cmd.c'; then $(CYGPATH_W) 'cmd/dapl_performance_cmd.c'; else $(CYGPATH_W) '$(srcdir)/cmd/dapl_performance_cmd.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_performance_cmd.Tpo $(DEPDIR)/dapltest-dapl_performance_cmd.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_performance_cmd.Tpo $(DEPDIR)/dapltest-dapl_performance_cmd.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmd/dapl_performance_cmd.c' object='dapltest-dapl_performance_cmd.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_performance_cmd.obj `if test -f 'cmd/dapl_performance_cmd.c'; then $(CYGPATH_W) 'cmd/dapl_performance_cmd.c'; else $(CYGPATH_W) '$(srcdir)/cmd/dapl_performance_cmd.c'; fi`
dapltest-dapl_qos_util.o: cmd/dapl_qos_util.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_qos_util.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_qos_util.Tpo -c -o dapltest-dapl_qos_util.o `test -f 'cmd/dapl_qos_util.c' || echo '$(srcdir)/'`cmd/dapl_qos_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_qos_util.Tpo $(DEPDIR)/dapltest-dapl_qos_util.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_qos_util.Tpo $(DEPDIR)/dapltest-dapl_qos_util.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmd/dapl_qos_util.c' object='dapltest-dapl_qos_util.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_qos_util.o `test -f 'cmd/dapl_qos_util.c' || echo '$(srcdir)/'`cmd/dapl_qos_util.c
dapltest-dapl_qos_util.obj: cmd/dapl_qos_util.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_qos_util.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_qos_util.Tpo -c -o dapltest-dapl_qos_util.obj `if test -f 'cmd/dapl_qos_util.c'; then $(CYGPATH_W) 'cmd/dapl_qos_util.c'; else $(CYGPATH_W) '$(srcdir)/cmd/dapl_qos_util.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_qos_util.Tpo $(DEPDIR)/dapltest-dapl_qos_util.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_qos_util.Tpo $(DEPDIR)/dapltest-dapl_qos_util.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmd/dapl_qos_util.c' object='dapltest-dapl_qos_util.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_qos_util.obj `if test -f 'cmd/dapl_qos_util.c'; then $(CYGPATH_W) 'cmd/dapl_qos_util.c'; else $(CYGPATH_W) '$(srcdir)/cmd/dapl_qos_util.c'; fi`
dapltest-dapl_quit_cmd.o: cmd/dapl_quit_cmd.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_quit_cmd.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_quit_cmd.Tpo -c -o dapltest-dapl_quit_cmd.o `test -f 'cmd/dapl_quit_cmd.c' || echo '$(srcdir)/'`cmd/dapl_quit_cmd.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_quit_cmd.Tpo $(DEPDIR)/dapltest-dapl_quit_cmd.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_quit_cmd.Tpo $(DEPDIR)/dapltest-dapl_quit_cmd.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmd/dapl_quit_cmd.c' object='dapltest-dapl_quit_cmd.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_quit_cmd.o `test -f 'cmd/dapl_quit_cmd.c' || echo '$(srcdir)/'`cmd/dapl_quit_cmd.c
dapltest-dapl_quit_cmd.obj: cmd/dapl_quit_cmd.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_quit_cmd.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_quit_cmd.Tpo -c -o dapltest-dapl_quit_cmd.obj `if test -f 'cmd/dapl_quit_cmd.c'; then $(CYGPATH_W) 'cmd/dapl_quit_cmd.c'; else $(CYGPATH_W) '$(srcdir)/cmd/dapl_quit_cmd.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_quit_cmd.Tpo $(DEPDIR)/dapltest-dapl_quit_cmd.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_quit_cmd.Tpo $(DEPDIR)/dapltest-dapl_quit_cmd.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmd/dapl_quit_cmd.c' object='dapltest-dapl_quit_cmd.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_quit_cmd.obj `if test -f 'cmd/dapl_quit_cmd.c'; then $(CYGPATH_W) 'cmd/dapl_quit_cmd.c'; else $(CYGPATH_W) '$(srcdir)/cmd/dapl_quit_cmd.c'; fi`
dapltest-dapl_server_cmd.o: cmd/dapl_server_cmd.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_server_cmd.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_server_cmd.Tpo -c -o dapltest-dapl_server_cmd.o `test -f 'cmd/dapl_server_cmd.c' || echo '$(srcdir)/'`cmd/dapl_server_cmd.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_server_cmd.Tpo $(DEPDIR)/dapltest-dapl_server_cmd.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_server_cmd.Tpo $(DEPDIR)/dapltest-dapl_server_cmd.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmd/dapl_server_cmd.c' object='dapltest-dapl_server_cmd.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_server_cmd.o `test -f 'cmd/dapl_server_cmd.c' || echo '$(srcdir)/'`cmd/dapl_server_cmd.c
dapltest-dapl_server_cmd.obj: cmd/dapl_server_cmd.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_server_cmd.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_server_cmd.Tpo -c -o dapltest-dapl_server_cmd.obj `if test -f 'cmd/dapl_server_cmd.c'; then $(CYGPATH_W) 'cmd/dapl_server_cmd.c'; else $(CYGPATH_W) '$(srcdir)/cmd/dapl_server_cmd.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_server_cmd.Tpo $(DEPDIR)/dapltest-dapl_server_cmd.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_server_cmd.Tpo $(DEPDIR)/dapltest-dapl_server_cmd.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmd/dapl_server_cmd.c' object='dapltest-dapl_server_cmd.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_server_cmd.obj `if test -f 'cmd/dapl_server_cmd.c'; then $(CYGPATH_W) 'cmd/dapl_server_cmd.c'; else $(CYGPATH_W) '$(srcdir)/cmd/dapl_server_cmd.c'; fi`
dapltest-dapl_transaction_cmd.o: cmd/dapl_transaction_cmd.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_transaction_cmd.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_transaction_cmd.Tpo -c -o dapltest-dapl_transaction_cmd.o `test -f 'cmd/dapl_transaction_cmd.c' || echo '$(srcdir)/'`cmd/dapl_transaction_cmd.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_transaction_cmd.Tpo $(DEPDIR)/dapltest-dapl_transaction_cmd.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_transaction_cmd.Tpo $(DEPDIR)/dapltest-dapl_transaction_cmd.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmd/dapl_transaction_cmd.c' object='dapltest-dapl_transaction_cmd.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_transaction_cmd.o `test -f 'cmd/dapl_transaction_cmd.c' || echo '$(srcdir)/'`cmd/dapl_transaction_cmd.c
dapltest-dapl_transaction_cmd.obj: cmd/dapl_transaction_cmd.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_transaction_cmd.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_transaction_cmd.Tpo -c -o dapltest-dapl_transaction_cmd.obj `if test -f 'cmd/dapl_transaction_cmd.c'; then $(CYGPATH_W) 'cmd/dapl_transaction_cmd.c'; else $(CYGPATH_W) '$(srcdir)/cmd/dapl_transaction_cmd.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_transaction_cmd.Tpo $(DEPDIR)/dapltest-dapl_transaction_cmd.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_transaction_cmd.Tpo $(DEPDIR)/dapltest-dapl_transaction_cmd.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cmd/dapl_transaction_cmd.c' object='dapltest-dapl_transaction_cmd.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_transaction_cmd.obj `if test -f 'cmd/dapl_transaction_cmd.c'; then $(CYGPATH_W) 'cmd/dapl_transaction_cmd.c'; else $(CYGPATH_W) '$(srcdir)/cmd/dapl_transaction_cmd.c'; fi`
dapltest-dapl_bpool.o: test/dapl_bpool.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_bpool.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_bpool.Tpo -c -o dapltest-dapl_bpool.o `test -f 'test/dapl_bpool.c' || echo '$(srcdir)/'`test/dapl_bpool.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_bpool.Tpo $(DEPDIR)/dapltest-dapl_bpool.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_bpool.Tpo $(DEPDIR)/dapltest-dapl_bpool.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_bpool.c' object='dapltest-dapl_bpool.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_bpool.o `test -f 'test/dapl_bpool.c' || echo '$(srcdir)/'`test/dapl_bpool.c
dapltest-dapl_bpool.obj: test/dapl_bpool.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_bpool.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_bpool.Tpo -c -o dapltest-dapl_bpool.obj `if test -f 'test/dapl_bpool.c'; then $(CYGPATH_W) 'test/dapl_bpool.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_bpool.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_bpool.Tpo $(DEPDIR)/dapltest-dapl_bpool.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_bpool.Tpo $(DEPDIR)/dapltest-dapl_bpool.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_bpool.c' object='dapltest-dapl_bpool.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_bpool.obj `if test -f 'test/dapl_bpool.c'; then $(CYGPATH_W) 'test/dapl_bpool.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_bpool.c'; fi`
dapltest-dapl_client.o: test/dapl_client.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_client.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_client.Tpo -c -o dapltest-dapl_client.o `test -f 'test/dapl_client.c' || echo '$(srcdir)/'`test/dapl_client.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_client.Tpo $(DEPDIR)/dapltest-dapl_client.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_client.Tpo $(DEPDIR)/dapltest-dapl_client.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_client.c' object='dapltest-dapl_client.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_client.o `test -f 'test/dapl_client.c' || echo '$(srcdir)/'`test/dapl_client.c
dapltest-dapl_client.obj: test/dapl_client.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_client.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_client.Tpo -c -o dapltest-dapl_client.obj `if test -f 'test/dapl_client.c'; then $(CYGPATH_W) 'test/dapl_client.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_client.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_client.Tpo $(DEPDIR)/dapltest-dapl_client.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_client.Tpo $(DEPDIR)/dapltest-dapl_client.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_client.c' object='dapltest-dapl_client.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_client.obj `if test -f 'test/dapl_client.c'; then $(CYGPATH_W) 'test/dapl_client.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_client.c'; fi`
dapltest-dapl_client_info.o: test/dapl_client_info.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_client_info.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_client_info.Tpo -c -o dapltest-dapl_client_info.o `test -f 'test/dapl_client_info.c' || echo '$(srcdir)/'`test/dapl_client_info.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_client_info.Tpo $(DEPDIR)/dapltest-dapl_client_info.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_client_info.Tpo $(DEPDIR)/dapltest-dapl_client_info.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_client_info.c' object='dapltest-dapl_client_info.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_client_info.o `test -f 'test/dapl_client_info.c' || echo '$(srcdir)/'`test/dapl_client_info.c
dapltest-dapl_client_info.obj: test/dapl_client_info.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_client_info.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_client_info.Tpo -c -o dapltest-dapl_client_info.obj `if test -f 'test/dapl_client_info.c'; then $(CYGPATH_W) 'test/dapl_client_info.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_client_info.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_client_info.Tpo $(DEPDIR)/dapltest-dapl_client_info.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_client_info.Tpo $(DEPDIR)/dapltest-dapl_client_info.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_client_info.c' object='dapltest-dapl_client_info.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_client_info.obj `if test -f 'test/dapl_client_info.c'; then $(CYGPATH_W) 'test/dapl_client_info.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_client_info.c'; fi`
dapltest-dapl_cnxn.o: test/dapl_cnxn.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_cnxn.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_cnxn.Tpo -c -o dapltest-dapl_cnxn.o `test -f 'test/dapl_cnxn.c' || echo '$(srcdir)/'`test/dapl_cnxn.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_cnxn.Tpo $(DEPDIR)/dapltest-dapl_cnxn.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_cnxn.Tpo $(DEPDIR)/dapltest-dapl_cnxn.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_cnxn.c' object='dapltest-dapl_cnxn.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_cnxn.o `test -f 'test/dapl_cnxn.c' || echo '$(srcdir)/'`test/dapl_cnxn.c
dapltest-dapl_cnxn.obj: test/dapl_cnxn.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_cnxn.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_cnxn.Tpo -c -o dapltest-dapl_cnxn.obj `if test -f 'test/dapl_cnxn.c'; then $(CYGPATH_W) 'test/dapl_cnxn.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_cnxn.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_cnxn.Tpo $(DEPDIR)/dapltest-dapl_cnxn.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_cnxn.Tpo $(DEPDIR)/dapltest-dapl_cnxn.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_cnxn.c' object='dapltest-dapl_cnxn.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_cnxn.obj `if test -f 'test/dapl_cnxn.c'; then $(CYGPATH_W) 'test/dapl_cnxn.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_cnxn.c'; fi`
dapltest-dapl_execute.o: test/dapl_execute.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_execute.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_execute.Tpo -c -o dapltest-dapl_execute.o `test -f 'test/dapl_execute.c' || echo '$(srcdir)/'`test/dapl_execute.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_execute.Tpo $(DEPDIR)/dapltest-dapl_execute.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_execute.Tpo $(DEPDIR)/dapltest-dapl_execute.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_execute.c' object='dapltest-dapl_execute.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_execute.o `test -f 'test/dapl_execute.c' || echo '$(srcdir)/'`test/dapl_execute.c
dapltest-dapl_execute.obj: test/dapl_execute.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_execute.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_execute.Tpo -c -o dapltest-dapl_execute.obj `if test -f 'test/dapl_execute.c'; then $(CYGPATH_W) 'test/dapl_execute.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_execute.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_execute.Tpo $(DEPDIR)/dapltest-dapl_execute.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_execute.Tpo $(DEPDIR)/dapltest-dapl_execute.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_execute.c' object='dapltest-dapl_execute.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_execute.obj `if test -f 'test/dapl_execute.c'; then $(CYGPATH_W) 'test/dapl_execute.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_execute.c'; fi`
dapltest-dapl_fft_connmgt.o: test/dapl_fft_connmgt.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_fft_connmgt.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_fft_connmgt.Tpo -c -o dapltest-dapl_fft_connmgt.o `test -f 'test/dapl_fft_connmgt.c' || echo '$(srcdir)/'`test/dapl_fft_connmgt.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_fft_connmgt.Tpo $(DEPDIR)/dapltest-dapl_fft_connmgt.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_fft_connmgt.Tpo $(DEPDIR)/dapltest-dapl_fft_connmgt.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_fft_connmgt.c' object='dapltest-dapl_fft_connmgt.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_fft_connmgt.o `test -f 'test/dapl_fft_connmgt.c' || echo '$(srcdir)/'`test/dapl_fft_connmgt.c
dapltest-dapl_fft_connmgt.obj: test/dapl_fft_connmgt.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_fft_connmgt.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_fft_connmgt.Tpo -c -o dapltest-dapl_fft_connmgt.obj `if test -f 'test/dapl_fft_connmgt.c'; then $(CYGPATH_W) 'test/dapl_fft_connmgt.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_fft_connmgt.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_fft_connmgt.Tpo $(DEPDIR)/dapltest-dapl_fft_connmgt.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_fft_connmgt.Tpo $(DEPDIR)/dapltest-dapl_fft_connmgt.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_fft_connmgt.c' object='dapltest-dapl_fft_connmgt.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_fft_connmgt.obj `if test -f 'test/dapl_fft_connmgt.c'; then $(CYGPATH_W) 'test/dapl_fft_connmgt.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_fft_connmgt.c'; fi`
dapltest-dapl_fft_endpoint.o: test/dapl_fft_endpoint.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_fft_endpoint.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_fft_endpoint.Tpo -c -o dapltest-dapl_fft_endpoint.o `test -f 'test/dapl_fft_endpoint.c' || echo '$(srcdir)/'`test/dapl_fft_endpoint.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_fft_endpoint.Tpo $(DEPDIR)/dapltest-dapl_fft_endpoint.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_fft_endpoint.Tpo $(DEPDIR)/dapltest-dapl_fft_endpoint.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_fft_endpoint.c' object='dapltest-dapl_fft_endpoint.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_fft_endpoint.o `test -f 'test/dapl_fft_endpoint.c' || echo '$(srcdir)/'`test/dapl_fft_endpoint.c
dapltest-dapl_fft_endpoint.obj: test/dapl_fft_endpoint.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_fft_endpoint.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_fft_endpoint.Tpo -c -o dapltest-dapl_fft_endpoint.obj `if test -f 'test/dapl_fft_endpoint.c'; then $(CYGPATH_W) 'test/dapl_fft_endpoint.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_fft_endpoint.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_fft_endpoint.Tpo $(DEPDIR)/dapltest-dapl_fft_endpoint.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_fft_endpoint.Tpo $(DEPDIR)/dapltest-dapl_fft_endpoint.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_fft_endpoint.c' object='dapltest-dapl_fft_endpoint.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_fft_endpoint.obj `if test -f 'test/dapl_fft_endpoint.c'; then $(CYGPATH_W) 'test/dapl_fft_endpoint.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_fft_endpoint.c'; fi`
dapltest-dapl_fft_hwconn.o: test/dapl_fft_hwconn.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_fft_hwconn.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_fft_hwconn.Tpo -c -o dapltest-dapl_fft_hwconn.o `test -f 'test/dapl_fft_hwconn.c' || echo '$(srcdir)/'`test/dapl_fft_hwconn.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_fft_hwconn.Tpo $(DEPDIR)/dapltest-dapl_fft_hwconn.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_fft_hwconn.Tpo $(DEPDIR)/dapltest-dapl_fft_hwconn.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_fft_hwconn.c' object='dapltest-dapl_fft_hwconn.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_fft_hwconn.o `test -f 'test/dapl_fft_hwconn.c' || echo '$(srcdir)/'`test/dapl_fft_hwconn.c
dapltest-dapl_fft_hwconn.obj: test/dapl_fft_hwconn.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_fft_hwconn.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_fft_hwconn.Tpo -c -o dapltest-dapl_fft_hwconn.obj `if test -f 'test/dapl_fft_hwconn.c'; then $(CYGPATH_W) 'test/dapl_fft_hwconn.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_fft_hwconn.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_fft_hwconn.Tpo $(DEPDIR)/dapltest-dapl_fft_hwconn.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_fft_hwconn.Tpo $(DEPDIR)/dapltest-dapl_fft_hwconn.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_fft_hwconn.c' object='dapltest-dapl_fft_hwconn.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_fft_hwconn.obj `if test -f 'test/dapl_fft_hwconn.c'; then $(CYGPATH_W) 'test/dapl_fft_hwconn.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_fft_hwconn.c'; fi`
dapltest-dapl_fft_mem.o: test/dapl_fft_mem.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_fft_mem.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_fft_mem.Tpo -c -o dapltest-dapl_fft_mem.o `test -f 'test/dapl_fft_mem.c' || echo '$(srcdir)/'`test/dapl_fft_mem.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_fft_mem.Tpo $(DEPDIR)/dapltest-dapl_fft_mem.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_fft_mem.Tpo $(DEPDIR)/dapltest-dapl_fft_mem.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_fft_mem.c' object='dapltest-dapl_fft_mem.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_fft_mem.o `test -f 'test/dapl_fft_mem.c' || echo '$(srcdir)/'`test/dapl_fft_mem.c
dapltest-dapl_fft_mem.obj: test/dapl_fft_mem.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_fft_mem.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_fft_mem.Tpo -c -o dapltest-dapl_fft_mem.obj `if test -f 'test/dapl_fft_mem.c'; then $(CYGPATH_W) 'test/dapl_fft_mem.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_fft_mem.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_fft_mem.Tpo $(DEPDIR)/dapltest-dapl_fft_mem.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_fft_mem.Tpo $(DEPDIR)/dapltest-dapl_fft_mem.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_fft_mem.c' object='dapltest-dapl_fft_mem.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_fft_mem.obj `if test -f 'test/dapl_fft_mem.c'; then $(CYGPATH_W) 'test/dapl_fft_mem.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_fft_mem.c'; fi`
dapltest-dapl_fft_pz.o: test/dapl_fft_pz.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_fft_pz.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_fft_pz.Tpo -c -o dapltest-dapl_fft_pz.o `test -f 'test/dapl_fft_pz.c' || echo '$(srcdir)/'`test/dapl_fft_pz.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_fft_pz.Tpo $(DEPDIR)/dapltest-dapl_fft_pz.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_fft_pz.Tpo $(DEPDIR)/dapltest-dapl_fft_pz.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_fft_pz.c' object='dapltest-dapl_fft_pz.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_fft_pz.o `test -f 'test/dapl_fft_pz.c' || echo '$(srcdir)/'`test/dapl_fft_pz.c
dapltest-dapl_fft_pz.obj: test/dapl_fft_pz.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_fft_pz.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_fft_pz.Tpo -c -o dapltest-dapl_fft_pz.obj `if test -f 'test/dapl_fft_pz.c'; then $(CYGPATH_W) 'test/dapl_fft_pz.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_fft_pz.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_fft_pz.Tpo $(DEPDIR)/dapltest-dapl_fft_pz.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_fft_pz.Tpo $(DEPDIR)/dapltest-dapl_fft_pz.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_fft_pz.c' object='dapltest-dapl_fft_pz.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_fft_pz.obj `if test -f 'test/dapl_fft_pz.c'; then $(CYGPATH_W) 'test/dapl_fft_pz.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_fft_pz.c'; fi`
dapltest-dapl_fft_queryinfo.o: test/dapl_fft_queryinfo.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_fft_queryinfo.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_fft_queryinfo.Tpo -c -o dapltest-dapl_fft_queryinfo.o `test -f 'test/dapl_fft_queryinfo.c' || echo '$(srcdir)/'`test/dapl_fft_queryinfo.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_fft_queryinfo.Tpo $(DEPDIR)/dapltest-dapl_fft_queryinfo.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_fft_queryinfo.Tpo $(DEPDIR)/dapltest-dapl_fft_queryinfo.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_fft_queryinfo.c' object='dapltest-dapl_fft_queryinfo.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_fft_queryinfo.o `test -f 'test/dapl_fft_queryinfo.c' || echo '$(srcdir)/'`test/dapl_fft_queryinfo.c
dapltest-dapl_fft_queryinfo.obj: test/dapl_fft_queryinfo.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_fft_queryinfo.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_fft_queryinfo.Tpo -c -o dapltest-dapl_fft_queryinfo.obj `if test -f 'test/dapl_fft_queryinfo.c'; then $(CYGPATH_W) 'test/dapl_fft_queryinfo.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_fft_queryinfo.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_fft_queryinfo.Tpo $(DEPDIR)/dapltest-dapl_fft_queryinfo.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_fft_queryinfo.Tpo $(DEPDIR)/dapltest-dapl_fft_queryinfo.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_fft_queryinfo.c' object='dapltest-dapl_fft_queryinfo.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_fft_queryinfo.obj `if test -f 'test/dapl_fft_queryinfo.c'; then $(CYGPATH_W) 'test/dapl_fft_queryinfo.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_fft_queryinfo.c'; fi`
dapltest-dapl_fft_test.o: test/dapl_fft_test.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_fft_test.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_fft_test.Tpo -c -o dapltest-dapl_fft_test.o `test -f 'test/dapl_fft_test.c' || echo '$(srcdir)/'`test/dapl_fft_test.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_fft_test.Tpo $(DEPDIR)/dapltest-dapl_fft_test.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_fft_test.Tpo $(DEPDIR)/dapltest-dapl_fft_test.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_fft_test.c' object='dapltest-dapl_fft_test.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_fft_test.o `test -f 'test/dapl_fft_test.c' || echo '$(srcdir)/'`test/dapl_fft_test.c
dapltest-dapl_fft_test.obj: test/dapl_fft_test.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_fft_test.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_fft_test.Tpo -c -o dapltest-dapl_fft_test.obj `if test -f 'test/dapl_fft_test.c'; then $(CYGPATH_W) 'test/dapl_fft_test.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_fft_test.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_fft_test.Tpo $(DEPDIR)/dapltest-dapl_fft_test.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_fft_test.Tpo $(DEPDIR)/dapltest-dapl_fft_test.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_fft_test.c' object='dapltest-dapl_fft_test.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_fft_test.obj `if test -f 'test/dapl_fft_test.c'; then $(CYGPATH_W) 'test/dapl_fft_test.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_fft_test.c'; fi`
dapltest-dapl_fft_util.o: test/dapl_fft_util.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_fft_util.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_fft_util.Tpo -c -o dapltest-dapl_fft_util.o `test -f 'test/dapl_fft_util.c' || echo '$(srcdir)/'`test/dapl_fft_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_fft_util.Tpo $(DEPDIR)/dapltest-dapl_fft_util.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_fft_util.Tpo $(DEPDIR)/dapltest-dapl_fft_util.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_fft_util.c' object='dapltest-dapl_fft_util.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_fft_util.o `test -f 'test/dapl_fft_util.c' || echo '$(srcdir)/'`test/dapl_fft_util.c
dapltest-dapl_fft_util.obj: test/dapl_fft_util.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_fft_util.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_fft_util.Tpo -c -o dapltest-dapl_fft_util.obj `if test -f 'test/dapl_fft_util.c'; then $(CYGPATH_W) 'test/dapl_fft_util.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_fft_util.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_fft_util.Tpo $(DEPDIR)/dapltest-dapl_fft_util.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_fft_util.Tpo $(DEPDIR)/dapltest-dapl_fft_util.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_fft_util.c' object='dapltest-dapl_fft_util.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_fft_util.obj `if test -f 'test/dapl_fft_util.c'; then $(CYGPATH_W) 'test/dapl_fft_util.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_fft_util.c'; fi`
dapltest-dapl_limit.o: test/dapl_limit.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_limit.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_limit.Tpo -c -o dapltest-dapl_limit.o `test -f 'test/dapl_limit.c' || echo '$(srcdir)/'`test/dapl_limit.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_limit.Tpo $(DEPDIR)/dapltest-dapl_limit.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_limit.Tpo $(DEPDIR)/dapltest-dapl_limit.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_limit.c' object='dapltest-dapl_limit.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_limit.o `test -f 'test/dapl_limit.c' || echo '$(srcdir)/'`test/dapl_limit.c
dapltest-dapl_limit.obj: test/dapl_limit.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_limit.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_limit.Tpo -c -o dapltest-dapl_limit.obj `if test -f 'test/dapl_limit.c'; then $(CYGPATH_W) 'test/dapl_limit.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_limit.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_limit.Tpo $(DEPDIR)/dapltest-dapl_limit.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_limit.Tpo $(DEPDIR)/dapltest-dapl_limit.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_limit.c' object='dapltest-dapl_limit.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_limit.obj `if test -f 'test/dapl_limit.c'; then $(CYGPATH_W) 'test/dapl_limit.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_limit.c'; fi`
dapltest-dapl_memlist.o: test/dapl_memlist.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_memlist.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_memlist.Tpo -c -o dapltest-dapl_memlist.o `test -f 'test/dapl_memlist.c' || echo '$(srcdir)/'`test/dapl_memlist.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_memlist.Tpo $(DEPDIR)/dapltest-dapl_memlist.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_memlist.Tpo $(DEPDIR)/dapltest-dapl_memlist.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_memlist.c' object='dapltest-dapl_memlist.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_memlist.o `test -f 'test/dapl_memlist.c' || echo '$(srcdir)/'`test/dapl_memlist.c
dapltest-dapl_memlist.obj: test/dapl_memlist.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_memlist.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_memlist.Tpo -c -o dapltest-dapl_memlist.obj `if test -f 'test/dapl_memlist.c'; then $(CYGPATH_W) 'test/dapl_memlist.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_memlist.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_memlist.Tpo $(DEPDIR)/dapltest-dapl_memlist.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_memlist.Tpo $(DEPDIR)/dapltest-dapl_memlist.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_memlist.c' object='dapltest-dapl_memlist.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_memlist.obj `if test -f 'test/dapl_memlist.c'; then $(CYGPATH_W) 'test/dapl_memlist.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_memlist.c'; fi`
dapltest-dapl_performance_client.o: test/dapl_performance_client.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_performance_client.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_performance_client.Tpo -c -o dapltest-dapl_performance_client.o `test -f 'test/dapl_performance_client.c' || echo '$(srcdir)/'`test/dapl_performance_client.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_performance_client.Tpo $(DEPDIR)/dapltest-dapl_performance_client.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_performance_client.Tpo $(DEPDIR)/dapltest-dapl_performance_client.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_performance_client.c' object='dapltest-dapl_performance_client.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_performance_client.o `test -f 'test/dapl_performance_client.c' || echo '$(srcdir)/'`test/dapl_performance_client.c
dapltest-dapl_performance_client.obj: test/dapl_performance_client.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_performance_client.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_performance_client.Tpo -c -o dapltest-dapl_performance_client.obj `if test -f 'test/dapl_performance_client.c'; then $(CYGPATH_W) 'test/dapl_performance_client.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_performance_client.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_performance_client.Tpo $(DEPDIR)/dapltest-dapl_performance_client.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_performance_client.Tpo $(DEPDIR)/dapltest-dapl_performance_client.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_performance_client.c' object='dapltest-dapl_performance_client.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_performance_client.obj `if test -f 'test/dapl_performance_client.c'; then $(CYGPATH_W) 'test/dapl_performance_client.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_performance_client.c'; fi`
dapltest-dapl_performance_server.o: test/dapl_performance_server.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_performance_server.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_performance_server.Tpo -c -o dapltest-dapl_performance_server.o `test -f 'test/dapl_performance_server.c' || echo '$(srcdir)/'`test/dapl_performance_server.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_performance_server.Tpo $(DEPDIR)/dapltest-dapl_performance_server.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_performance_server.Tpo $(DEPDIR)/dapltest-dapl_performance_server.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_performance_server.c' object='dapltest-dapl_performance_server.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_performance_server.o `test -f 'test/dapl_performance_server.c' || echo '$(srcdir)/'`test/dapl_performance_server.c
dapltest-dapl_performance_server.obj: test/dapl_performance_server.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_performance_server.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_performance_server.Tpo -c -o dapltest-dapl_performance_server.obj `if test -f 'test/dapl_performance_server.c'; then $(CYGPATH_W) 'test/dapl_performance_server.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_performance_server.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_performance_server.Tpo $(DEPDIR)/dapltest-dapl_performance_server.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_performance_server.Tpo $(DEPDIR)/dapltest-dapl_performance_server.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_performance_server.c' object='dapltest-dapl_performance_server.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_performance_server.obj `if test -f 'test/dapl_performance_server.c'; then $(CYGPATH_W) 'test/dapl_performance_server.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_performance_server.c'; fi`
dapltest-dapl_performance_stats.o: test/dapl_performance_stats.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_performance_stats.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_performance_stats.Tpo -c -o dapltest-dapl_performance_stats.o `test -f 'test/dapl_performance_stats.c' || echo '$(srcdir)/'`test/dapl_performance_stats.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_performance_stats.Tpo $(DEPDIR)/dapltest-dapl_performance_stats.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_performance_stats.Tpo $(DEPDIR)/dapltest-dapl_performance_stats.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_performance_stats.c' object='dapltest-dapl_performance_stats.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_performance_stats.o `test -f 'test/dapl_performance_stats.c' || echo '$(srcdir)/'`test/dapl_performance_stats.c
dapltest-dapl_performance_stats.obj: test/dapl_performance_stats.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_performance_stats.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_performance_stats.Tpo -c -o dapltest-dapl_performance_stats.obj `if test -f 'test/dapl_performance_stats.c'; then $(CYGPATH_W) 'test/dapl_performance_stats.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_performance_stats.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_performance_stats.Tpo $(DEPDIR)/dapltest-dapl_performance_stats.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_performance_stats.Tpo $(DEPDIR)/dapltest-dapl_performance_stats.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_performance_stats.c' object='dapltest-dapl_performance_stats.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_performance_stats.obj `if test -f 'test/dapl_performance_stats.c'; then $(CYGPATH_W) 'test/dapl_performance_stats.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_performance_stats.c'; fi`
dapltest-dapl_performance_util.o: test/dapl_performance_util.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_performance_util.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_performance_util.Tpo -c -o dapltest-dapl_performance_util.o `test -f 'test/dapl_performance_util.c' || echo '$(srcdir)/'`test/dapl_performance_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_performance_util.Tpo $(DEPDIR)/dapltest-dapl_performance_util.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_performance_util.Tpo $(DEPDIR)/dapltest-dapl_performance_util.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_performance_util.c' object='dapltest-dapl_performance_util.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_performance_util.o `test -f 'test/dapl_performance_util.c' || echo '$(srcdir)/'`test/dapl_performance_util.c
dapltest-dapl_performance_util.obj: test/dapl_performance_util.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_performance_util.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_performance_util.Tpo -c -o dapltest-dapl_performance_util.obj `if test -f 'test/dapl_performance_util.c'; then $(CYGPATH_W) 'test/dapl_performance_util.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_performance_util.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_performance_util.Tpo $(DEPDIR)/dapltest-dapl_performance_util.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_performance_util.Tpo $(DEPDIR)/dapltest-dapl_performance_util.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_performance_util.c' object='dapltest-dapl_performance_util.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_performance_util.obj `if test -f 'test/dapl_performance_util.c'; then $(CYGPATH_W) 'test/dapl_performance_util.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_performance_util.c'; fi`
dapltest-dapl_quit_util.o: test/dapl_quit_util.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_quit_util.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_quit_util.Tpo -c -o dapltest-dapl_quit_util.o `test -f 'test/dapl_quit_util.c' || echo '$(srcdir)/'`test/dapl_quit_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_quit_util.Tpo $(DEPDIR)/dapltest-dapl_quit_util.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_quit_util.Tpo $(DEPDIR)/dapltest-dapl_quit_util.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_quit_util.c' object='dapltest-dapl_quit_util.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_quit_util.o `test -f 'test/dapl_quit_util.c' || echo '$(srcdir)/'`test/dapl_quit_util.c
dapltest-dapl_quit_util.obj: test/dapl_quit_util.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_quit_util.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_quit_util.Tpo -c -o dapltest-dapl_quit_util.obj `if test -f 'test/dapl_quit_util.c'; then $(CYGPATH_W) 'test/dapl_quit_util.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_quit_util.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_quit_util.Tpo $(DEPDIR)/dapltest-dapl_quit_util.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_quit_util.Tpo $(DEPDIR)/dapltest-dapl_quit_util.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_quit_util.c' object='dapltest-dapl_quit_util.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_quit_util.obj `if test -f 'test/dapl_quit_util.c'; then $(CYGPATH_W) 'test/dapl_quit_util.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_quit_util.c'; fi`
dapltest-dapl_server.o: test/dapl_server.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_server.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_server.Tpo -c -o dapltest-dapl_server.o `test -f 'test/dapl_server.c' || echo '$(srcdir)/'`test/dapl_server.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_server.Tpo $(DEPDIR)/dapltest-dapl_server.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_server.Tpo $(DEPDIR)/dapltest-dapl_server.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_server.c' object='dapltest-dapl_server.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_server.o `test -f 'test/dapl_server.c' || echo '$(srcdir)/'`test/dapl_server.c
dapltest-dapl_server.obj: test/dapl_server.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_server.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_server.Tpo -c -o dapltest-dapl_server.obj `if test -f 'test/dapl_server.c'; then $(CYGPATH_W) 'test/dapl_server.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_server.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_server.Tpo $(DEPDIR)/dapltest-dapl_server.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_server.Tpo $(DEPDIR)/dapltest-dapl_server.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_server.c' object='dapltest-dapl_server.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_server.obj `if test -f 'test/dapl_server.c'; then $(CYGPATH_W) 'test/dapl_server.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_server.c'; fi`
dapltest-dapl_server_info.o: test/dapl_server_info.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_server_info.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_server_info.Tpo -c -o dapltest-dapl_server_info.o `test -f 'test/dapl_server_info.c' || echo '$(srcdir)/'`test/dapl_server_info.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_server_info.Tpo $(DEPDIR)/dapltest-dapl_server_info.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_server_info.Tpo $(DEPDIR)/dapltest-dapl_server_info.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_server_info.c' object='dapltest-dapl_server_info.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_server_info.o `test -f 'test/dapl_server_info.c' || echo '$(srcdir)/'`test/dapl_server_info.c
dapltest-dapl_server_info.obj: test/dapl_server_info.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_server_info.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_server_info.Tpo -c -o dapltest-dapl_server_info.obj `if test -f 'test/dapl_server_info.c'; then $(CYGPATH_W) 'test/dapl_server_info.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_server_info.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_server_info.Tpo $(DEPDIR)/dapltest-dapl_server_info.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_server_info.Tpo $(DEPDIR)/dapltest-dapl_server_info.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_server_info.c' object='dapltest-dapl_server_info.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_server_info.obj `if test -f 'test/dapl_server_info.c'; then $(CYGPATH_W) 'test/dapl_server_info.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_server_info.c'; fi`
dapltest-dapl_test_data.o: test/dapl_test_data.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_test_data.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_test_data.Tpo -c -o dapltest-dapl_test_data.o `test -f 'test/dapl_test_data.c' || echo '$(srcdir)/'`test/dapl_test_data.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_test_data.Tpo $(DEPDIR)/dapltest-dapl_test_data.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_test_data.Tpo $(DEPDIR)/dapltest-dapl_test_data.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_test_data.c' object='dapltest-dapl_test_data.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_test_data.o `test -f 'test/dapl_test_data.c' || echo '$(srcdir)/'`test/dapl_test_data.c
dapltest-dapl_test_data.obj: test/dapl_test_data.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_test_data.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_test_data.Tpo -c -o dapltest-dapl_test_data.obj `if test -f 'test/dapl_test_data.c'; then $(CYGPATH_W) 'test/dapl_test_data.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_test_data.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_test_data.Tpo $(DEPDIR)/dapltest-dapl_test_data.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_test_data.Tpo $(DEPDIR)/dapltest-dapl_test_data.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_test_data.c' object='dapltest-dapl_test_data.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_test_data.obj `if test -f 'test/dapl_test_data.c'; then $(CYGPATH_W) 'test/dapl_test_data.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_test_data.c'; fi`
dapltest-dapl_test_util.o: test/dapl_test_util.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_test_util.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_test_util.Tpo -c -o dapltest-dapl_test_util.o `test -f 'test/dapl_test_util.c' || echo '$(srcdir)/'`test/dapl_test_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_test_util.Tpo $(DEPDIR)/dapltest-dapl_test_util.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_test_util.Tpo $(DEPDIR)/dapltest-dapl_test_util.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_test_util.c' object='dapltest-dapl_test_util.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_test_util.o `test -f 'test/dapl_test_util.c' || echo '$(srcdir)/'`test/dapl_test_util.c
dapltest-dapl_test_util.obj: test/dapl_test_util.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_test_util.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_test_util.Tpo -c -o dapltest-dapl_test_util.obj `if test -f 'test/dapl_test_util.c'; then $(CYGPATH_W) 'test/dapl_test_util.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_test_util.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_test_util.Tpo $(DEPDIR)/dapltest-dapl_test_util.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_test_util.Tpo $(DEPDIR)/dapltest-dapl_test_util.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_test_util.c' object='dapltest-dapl_test_util.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_test_util.obj `if test -f 'test/dapl_test_util.c'; then $(CYGPATH_W) 'test/dapl_test_util.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_test_util.c'; fi`
dapltest-dapl_thread.o: test/dapl_thread.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_thread.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_thread.Tpo -c -o dapltest-dapl_thread.o `test -f 'test/dapl_thread.c' || echo '$(srcdir)/'`test/dapl_thread.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_thread.Tpo $(DEPDIR)/dapltest-dapl_thread.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_thread.Tpo $(DEPDIR)/dapltest-dapl_thread.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_thread.c' object='dapltest-dapl_thread.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_thread.o `test -f 'test/dapl_thread.c' || echo '$(srcdir)/'`test/dapl_thread.c
dapltest-dapl_thread.obj: test/dapl_thread.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_thread.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_thread.Tpo -c -o dapltest-dapl_thread.obj `if test -f 'test/dapl_thread.c'; then $(CYGPATH_W) 'test/dapl_thread.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_thread.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_thread.Tpo $(DEPDIR)/dapltest-dapl_thread.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_thread.Tpo $(DEPDIR)/dapltest-dapl_thread.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_thread.c' object='dapltest-dapl_thread.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_thread.obj `if test -f 'test/dapl_thread.c'; then $(CYGPATH_W) 'test/dapl_thread.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_thread.c'; fi`
dapltest-dapl_transaction_stats.o: test/dapl_transaction_stats.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_transaction_stats.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_transaction_stats.Tpo -c -o dapltest-dapl_transaction_stats.o `test -f 'test/dapl_transaction_stats.c' || echo '$(srcdir)/'`test/dapl_transaction_stats.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_transaction_stats.Tpo $(DEPDIR)/dapltest-dapl_transaction_stats.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_transaction_stats.Tpo $(DEPDIR)/dapltest-dapl_transaction_stats.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_transaction_stats.c' object='dapltest-dapl_transaction_stats.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_transaction_stats.o `test -f 'test/dapl_transaction_stats.c' || echo '$(srcdir)/'`test/dapl_transaction_stats.c
dapltest-dapl_transaction_stats.obj: test/dapl_transaction_stats.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_transaction_stats.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_transaction_stats.Tpo -c -o dapltest-dapl_transaction_stats.obj `if test -f 'test/dapl_transaction_stats.c'; then $(CYGPATH_W) 'test/dapl_transaction_stats.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_transaction_stats.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_transaction_stats.Tpo $(DEPDIR)/dapltest-dapl_transaction_stats.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_transaction_stats.Tpo $(DEPDIR)/dapltest-dapl_transaction_stats.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_transaction_stats.c' object='dapltest-dapl_transaction_stats.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_transaction_stats.obj `if test -f 'test/dapl_transaction_stats.c'; then $(CYGPATH_W) 'test/dapl_transaction_stats.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_transaction_stats.c'; fi`
dapltest-dapl_transaction_test.o: test/dapl_transaction_test.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_transaction_test.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_transaction_test.Tpo -c -o dapltest-dapl_transaction_test.o `test -f 'test/dapl_transaction_test.c' || echo '$(srcdir)/'`test/dapl_transaction_test.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_transaction_test.Tpo $(DEPDIR)/dapltest-dapl_transaction_test.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_transaction_test.Tpo $(DEPDIR)/dapltest-dapl_transaction_test.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_transaction_test.c' object='dapltest-dapl_transaction_test.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_transaction_test.o `test -f 'test/dapl_transaction_test.c' || echo '$(srcdir)/'`test/dapl_transaction_test.c
dapltest-dapl_transaction_test.obj: test/dapl_transaction_test.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_transaction_test.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_transaction_test.Tpo -c -o dapltest-dapl_transaction_test.obj `if test -f 'test/dapl_transaction_test.c'; then $(CYGPATH_W) 'test/dapl_transaction_test.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_transaction_test.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_transaction_test.Tpo $(DEPDIR)/dapltest-dapl_transaction_test.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_transaction_test.Tpo $(DEPDIR)/dapltest-dapl_transaction_test.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_transaction_test.c' object='dapltest-dapl_transaction_test.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_transaction_test.obj `if test -f 'test/dapl_transaction_test.c'; then $(CYGPATH_W) 'test/dapl_transaction_test.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_transaction_test.c'; fi`
dapltest-dapl_transaction_util.o: test/dapl_transaction_util.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_transaction_util.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_transaction_util.Tpo -c -o dapltest-dapl_transaction_util.o `test -f 'test/dapl_transaction_util.c' || echo '$(srcdir)/'`test/dapl_transaction_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_transaction_util.Tpo $(DEPDIR)/dapltest-dapl_transaction_util.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_transaction_util.Tpo $(DEPDIR)/dapltest-dapl_transaction_util.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_transaction_util.c' object='dapltest-dapl_transaction_util.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_transaction_util.o `test -f 'test/dapl_transaction_util.c' || echo '$(srcdir)/'`test/dapl_transaction_util.c
dapltest-dapl_transaction_util.obj: test/dapl_transaction_util.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_transaction_util.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_transaction_util.Tpo -c -o dapltest-dapl_transaction_util.obj `if test -f 'test/dapl_transaction_util.c'; then $(CYGPATH_W) 'test/dapl_transaction_util.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_transaction_util.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_transaction_util.Tpo $(DEPDIR)/dapltest-dapl_transaction_util.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_transaction_util.Tpo $(DEPDIR)/dapltest-dapl_transaction_util.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_transaction_util.c' object='dapltest-dapl_transaction_util.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_transaction_util.obj `if test -f 'test/dapl_transaction_util.c'; then $(CYGPATH_W) 'test/dapl_transaction_util.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_transaction_util.c'; fi`
dapltest-dapl_util.o: test/dapl_util.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_util.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_util.Tpo -c -o dapltest-dapl_util.o `test -f 'test/dapl_util.c' || echo '$(srcdir)/'`test/dapl_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_util.Tpo $(DEPDIR)/dapltest-dapl_util.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_util.Tpo $(DEPDIR)/dapltest-dapl_util.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_util.c' object='dapltest-dapl_util.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_util.o `test -f 'test/dapl_util.c' || echo '$(srcdir)/'`test/dapl_util.c
dapltest-dapl_util.obj: test/dapl_util.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_util.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_util.Tpo -c -o dapltest-dapl_util.obj `if test -f 'test/dapl_util.c'; then $(CYGPATH_W) 'test/dapl_util.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_util.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_util.Tpo $(DEPDIR)/dapltest-dapl_util.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_util.Tpo $(DEPDIR)/dapltest-dapl_util.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test/dapl_util.c' object='dapltest-dapl_util.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_util.obj `if test -f 'test/dapl_util.c'; then $(CYGPATH_W) 'test/dapl_util.c'; else $(CYGPATH_W) '$(srcdir)/test/dapl_util.c'; fi`
dapltest-dapl_endian.o: common/dapl_endian.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_endian.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_endian.Tpo -c -o dapltest-dapl_endian.o `test -f 'common/dapl_endian.c' || echo '$(srcdir)/'`common/dapl_endian.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_endian.Tpo $(DEPDIR)/dapltest-dapl_endian.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_endian.Tpo $(DEPDIR)/dapltest-dapl_endian.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common/dapl_endian.c' object='dapltest-dapl_endian.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_endian.o `test -f 'common/dapl_endian.c' || echo '$(srcdir)/'`common/dapl_endian.c
dapltest-dapl_endian.obj: common/dapl_endian.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_endian.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_endian.Tpo -c -o dapltest-dapl_endian.obj `if test -f 'common/dapl_endian.c'; then $(CYGPATH_W) 'common/dapl_endian.c'; else $(CYGPATH_W) '$(srcdir)/common/dapl_endian.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_endian.Tpo $(DEPDIR)/dapltest-dapl_endian.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_endian.Tpo $(DEPDIR)/dapltest-dapl_endian.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common/dapl_endian.c' object='dapltest-dapl_endian.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_endian.obj `if test -f 'common/dapl_endian.c'; then $(CYGPATH_W) 'common/dapl_endian.c'; else $(CYGPATH_W) '$(srcdir)/common/dapl_endian.c'; fi`
dapltest-dapl_global.o: common/dapl_global.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_global.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_global.Tpo -c -o dapltest-dapl_global.o `test -f 'common/dapl_global.c' || echo '$(srcdir)/'`common/dapl_global.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_global.Tpo $(DEPDIR)/dapltest-dapl_global.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_global.Tpo $(DEPDIR)/dapltest-dapl_global.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common/dapl_global.c' object='dapltest-dapl_global.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_global.o `test -f 'common/dapl_global.c' || echo '$(srcdir)/'`common/dapl_global.c
dapltest-dapl_global.obj: common/dapl_global.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_global.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_global.Tpo -c -o dapltest-dapl_global.obj `if test -f 'common/dapl_global.c'; then $(CYGPATH_W) 'common/dapl_global.c'; else $(CYGPATH_W) '$(srcdir)/common/dapl_global.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_global.Tpo $(DEPDIR)/dapltest-dapl_global.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_global.Tpo $(DEPDIR)/dapltest-dapl_global.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common/dapl_global.c' object='dapltest-dapl_global.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_global.obj `if test -f 'common/dapl_global.c'; then $(CYGPATH_W) 'common/dapl_global.c'; else $(CYGPATH_W) '$(srcdir)/common/dapl_global.c'; fi`
dapltest-dapl_performance_cmd_util.o: common/dapl_performance_cmd_util.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_performance_cmd_util.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_performance_cmd_util.Tpo -c -o dapltest-dapl_performance_cmd_util.o `test -f 'common/dapl_performance_cmd_util.c' || echo '$(srcdir)/'`common/dapl_performance_cmd_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_performance_cmd_util.Tpo $(DEPDIR)/dapltest-dapl_performance_cmd_util.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_performance_cmd_util.Tpo $(DEPDIR)/dapltest-dapl_performance_cmd_util.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common/dapl_performance_cmd_util.c' object='dapltest-dapl_performance_cmd_util.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_performance_cmd_util.o `test -f 'common/dapl_performance_cmd_util.c' || echo '$(srcdir)/'`common/dapl_performance_cmd_util.c
dapltest-dapl_performance_cmd_util.obj: common/dapl_performance_cmd_util.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_performance_cmd_util.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_performance_cmd_util.Tpo -c -o dapltest-dapl_performance_cmd_util.obj `if test -f 'common/dapl_performance_cmd_util.c'; then $(CYGPATH_W) 'common/dapl_performance_cmd_util.c'; else $(CYGPATH_W) '$(srcdir)/common/dapl_performance_cmd_util.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_performance_cmd_util.Tpo $(DEPDIR)/dapltest-dapl_performance_cmd_util.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_performance_cmd_util.Tpo $(DEPDIR)/dapltest-dapl_performance_cmd_util.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common/dapl_performance_cmd_util.c' object='dapltest-dapl_performance_cmd_util.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_performance_cmd_util.obj `if test -f 'common/dapl_performance_cmd_util.c'; then $(CYGPATH_W) 'common/dapl_performance_cmd_util.c'; else $(CYGPATH_W) '$(srcdir)/common/dapl_performance_cmd_util.c'; fi`
dapltest-dapl_quit_cmd_util.o: common/dapl_quit_cmd_util.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_quit_cmd_util.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_quit_cmd_util.Tpo -c -o dapltest-dapl_quit_cmd_util.o `test -f 'common/dapl_quit_cmd_util.c' || echo '$(srcdir)/'`common/dapl_quit_cmd_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_quit_cmd_util.Tpo $(DEPDIR)/dapltest-dapl_quit_cmd_util.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_quit_cmd_util.Tpo $(DEPDIR)/dapltest-dapl_quit_cmd_util.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common/dapl_quit_cmd_util.c' object='dapltest-dapl_quit_cmd_util.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_quit_cmd_util.o `test -f 'common/dapl_quit_cmd_util.c' || echo '$(srcdir)/'`common/dapl_quit_cmd_util.c
dapltest-dapl_quit_cmd_util.obj: common/dapl_quit_cmd_util.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_quit_cmd_util.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_quit_cmd_util.Tpo -c -o dapltest-dapl_quit_cmd_util.obj `if test -f 'common/dapl_quit_cmd_util.c'; then $(CYGPATH_W) 'common/dapl_quit_cmd_util.c'; else $(CYGPATH_W) '$(srcdir)/common/dapl_quit_cmd_util.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_quit_cmd_util.Tpo $(DEPDIR)/dapltest-dapl_quit_cmd_util.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_quit_cmd_util.Tpo $(DEPDIR)/dapltest-dapl_quit_cmd_util.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common/dapl_quit_cmd_util.c' object='dapltest-dapl_quit_cmd_util.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_quit_cmd_util.obj `if test -f 'common/dapl_quit_cmd_util.c'; then $(CYGPATH_W) 'common/dapl_quit_cmd_util.c'; else $(CYGPATH_W) '$(srcdir)/common/dapl_quit_cmd_util.c'; fi`
dapltest-dapl_transaction_cmd_util.o: common/dapl_transaction_cmd_util.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_transaction_cmd_util.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_transaction_cmd_util.Tpo -c -o dapltest-dapl_transaction_cmd_util.o `test -f 'common/dapl_transaction_cmd_util.c' || echo '$(srcdir)/'`common/dapl_transaction_cmd_util.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_transaction_cmd_util.Tpo $(DEPDIR)/dapltest-dapl_transaction_cmd_util.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_transaction_cmd_util.Tpo $(DEPDIR)/dapltest-dapl_transaction_cmd_util.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common/dapl_transaction_cmd_util.c' object='dapltest-dapl_transaction_cmd_util.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_transaction_cmd_util.o `test -f 'common/dapl_transaction_cmd_util.c' || echo '$(srcdir)/'`common/dapl_transaction_cmd_util.c
dapltest-dapl_transaction_cmd_util.obj: common/dapl_transaction_cmd_util.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_transaction_cmd_util.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_transaction_cmd_util.Tpo -c -o dapltest-dapl_transaction_cmd_util.obj `if test -f 'common/dapl_transaction_cmd_util.c'; then $(CYGPATH_W) 'common/dapl_transaction_cmd_util.c'; else $(CYGPATH_W) '$(srcdir)/common/dapl_transaction_cmd_util.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_transaction_cmd_util.Tpo $(DEPDIR)/dapltest-dapl_transaction_cmd_util.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_transaction_cmd_util.Tpo $(DEPDIR)/dapltest-dapl_transaction_cmd_util.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common/dapl_transaction_cmd_util.c' object='dapltest-dapl_transaction_cmd_util.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_transaction_cmd_util.obj `if test -f 'common/dapl_transaction_cmd_util.c'; then $(CYGPATH_W) 'common/dapl_transaction_cmd_util.c'; else $(CYGPATH_W) '$(srcdir)/common/dapl_transaction_cmd_util.c'; fi`
dapltest-udapl_tdep.o: udapl/udapl_tdep.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-udapl_tdep.o -MD -MP -MF $(DEPDIR)/dapltest-udapl_tdep.Tpo -c -o dapltest-udapl_tdep.o `test -f 'udapl/udapl_tdep.c' || echo '$(srcdir)/'`udapl/udapl_tdep.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-udapl_tdep.Tpo $(DEPDIR)/dapltest-udapl_tdep.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-udapl_tdep.Tpo $(DEPDIR)/dapltest-udapl_tdep.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='udapl/udapl_tdep.c' object='dapltest-udapl_tdep.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-udapl_tdep.o `test -f 'udapl/udapl_tdep.c' || echo '$(srcdir)/'`udapl/udapl_tdep.c
dapltest-udapl_tdep.obj: udapl/udapl_tdep.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-udapl_tdep.obj -MD -MP -MF $(DEPDIR)/dapltest-udapl_tdep.Tpo -c -o dapltest-udapl_tdep.obj `if test -f 'udapl/udapl_tdep.c'; then $(CYGPATH_W) 'udapl/udapl_tdep.c'; else $(CYGPATH_W) '$(srcdir)/udapl/udapl_tdep.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-udapl_tdep.Tpo $(DEPDIR)/dapltest-udapl_tdep.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-udapl_tdep.Tpo $(DEPDIR)/dapltest-udapl_tdep.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='udapl/udapl_tdep.c' object='dapltest-udapl_tdep.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-udapl_tdep.obj `if test -f 'udapl/udapl_tdep.c'; then $(CYGPATH_W) 'udapl/udapl_tdep.c'; else $(CYGPATH_W) '$(srcdir)/udapl/udapl_tdep.c'; fi`
dapltest-dapl_mdep_user.o: mdep/linux/dapl_mdep_user.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_mdep_user.o -MD -MP -MF $(DEPDIR)/dapltest-dapl_mdep_user.Tpo -c -o dapltest-dapl_mdep_user.o `test -f 'mdep/linux/dapl_mdep_user.c' || echo '$(srcdir)/'`mdep/linux/dapl_mdep_user.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_mdep_user.Tpo $(DEPDIR)/dapltest-dapl_mdep_user.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_mdep_user.Tpo $(DEPDIR)/dapltest-dapl_mdep_user.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mdep/linux/dapl_mdep_user.c' object='dapltest-dapl_mdep_user.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_mdep_user.o `test -f 'mdep/linux/dapl_mdep_user.c' || echo '$(srcdir)/'`mdep/linux/dapl_mdep_user.c
dapltest-dapl_mdep_user.obj: mdep/linux/dapl_mdep_user.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -MT dapltest-dapl_mdep_user.obj -MD -MP -MF $(DEPDIR)/dapltest-dapl_mdep_user.Tpo -c -o dapltest-dapl_mdep_user.obj `if test -f 'mdep/linux/dapl_mdep_user.c'; then $(CYGPATH_W) 'mdep/linux/dapl_mdep_user.c'; else $(CYGPATH_W) '$(srcdir)/mdep/linux/dapl_mdep_user.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dapltest-dapl_mdep_user.Tpo $(DEPDIR)/dapltest-dapl_mdep_user.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dapltest-dapl_mdep_user.Tpo $(DEPDIR)/dapltest-dapl_mdep_user.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mdep/linux/dapl_mdep_user.c' object='dapltest-dapl_mdep_user.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dapltest_CFLAGS) $(CFLAGS) -c -o dapltest-dapl_mdep_user.obj `if test -f 'mdep/linux/dapl_mdep_user.c'; then $(CYGPATH_W) 'mdep/linux/dapl_mdep_user.c'; else $(CYGPATH_W) '$(srcdir)/mdep/linux/dapl_mdep_user.c'; fi`
@@ -1093,7 +1112,7 @@ tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -1101,29 +1120,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -1144,13 +1168,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -1181,6 +1209,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -1201,6 +1230,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -1209,18 +1240,28 @@ install-data-am:
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am: install-binPROGRAMS
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -1259,6 +1300,7 @@ uninstall-am: uninstall-binPROGRAMS
pdf pdf-am ps ps-am tags uninstall uninstall-am \
uninstall-binPROGRAMS
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/test/dapltest/NEWS b/test/dapltest/NEWS
deleted file mode 100644
index e69de29..0000000
diff --git a/test/dapltest/cmd/dapl_fft_cmd.c b/test/dapltest/cmd/dapl_fft_cmd.c
index a604e93..742fd46 100644
--- a/test/dapltest/cmd/dapl_fft_cmd.c
+++ b/test/dapltest/cmd/dapl_fft_cmd.c
@@ -45,6 +45,7 @@ void DT_FFT_Cmd_Init(FFT_Cmd_t * cmd)
cmd->num_iter = 1000;
cmd->num_threads = 10;
cmd->num_vis = 500;
+ cmd->port = SERVER_PORT_NUMBER;
cmd->ReliabilityLevel = DAT_QOS_BEST_EFFORT;
}
@@ -57,7 +58,7 @@ bool DT_FFT_Cmd_Parse(FFT_Cmd_t * cmd,
unsigned int len;
for (;;) {
- c = DT_mygetopt_r(my_argc, my_argv, "D:f:s:i:t:v:R:", opts);
+ c = DT_mygetopt_r(my_argc, my_argv, "D:f:s:i:t:v:R:n:", opts);
if (c == EOF) {
break;
}
@@ -201,7 +202,11 @@ bool DT_FFT_Cmd_Parse(FFT_Cmd_t * cmd,
}
break;
}
-
+ case 'n':
+ {
+ cmd->port = atoi(opts->optarg);
+ break;
+ }
case '?':
default:
{
@@ -286,6 +291,7 @@ void DT_FFT_Cmd_Usage(void)
"dapltest -T F [-D <dev_name>] -f <funcfeature> [-i <iter_num>] \n"
"[-t <num_threads>] [-v <num_vis>] [-s <server_name>] [case0] [case1] [...]\n"
"USAGE: [-D <device Name>]\n"
+ "USAGE: [-n <server port number>]\n"
"USAGE: -f <func_feature>\n"
"USAGE: hwconn\n"
"USAGE: endpoint\n"
diff --git a/test/dapltest/cmd/dapl_limit_cmd.c b/test/dapltest/cmd/dapl_limit_cmd.c
index 69b8b7c..77e1ae4 100644
--- a/test/dapltest/cmd/dapl_limit_cmd.c
+++ b/test/dapltest/cmd/dapl_limit_cmd.c
@@ -36,7 +36,8 @@ void DT_Limit_Cmd_Init(Limit_Cmd_t * cmd)
memset((void *)cmd, 0, sizeof(Limit_Cmd_t));
cmd->ReliabilityLevel = DAT_QOS_BEST_EFFORT;
cmd->width = 1;
- cmd->maximum = ~0U;
+ cmd->maximum = 1000;
+ cmd->port = SERVER_PORT_NUMBER;
}
/* --------------------------------------------------- */
@@ -48,7 +49,7 @@ DT_Limit_Cmd_Parse(Limit_Cmd_t * cmd,
int i;
for (;;) {
- c = DT_mygetopt_r(my_argc, my_argv, "dm:w:D:R:", opts);
+ c = DT_mygetopt_r(my_argc, my_argv, "dm:w:D:R:n:", opts);
if (c == EOF) {
break;
}
@@ -98,6 +99,11 @@ DT_Limit_Cmd_Parse(Limit_Cmd_t * cmd,
cmd->width = atol(opts->optarg);
break;
}
+ case 'n':
+ {
+ cmd->port = atoi(opts->optarg);
+ break;
+ }
case '?':
default:
{
@@ -187,25 +193,21 @@ void DT_Limit_Cmd_Usage(void)
DT_Mdep_printf("USAGE: ---- LIMIT TEST ----\n");
DT_Mdep_printf("USAGE: dapltest -T L\n");
DT_Mdep_printf("USAGE: [-D <device Name>]\n");
+ DT_Mdep_printf("USAGE: [-n <server port number>]\n");
DT_Mdep_printf("USAGE: [-d] : debug (zero)\n");
DT_Mdep_printf("USAGE: [-w <width_of_resource_sets>]\n");
- DT_Mdep_printf
- ("USAGE: [-m <maximum_for_exhaustion_tests>]\n");
+ DT_Mdep_printf("USAGE: [-m <maximum_for_exhaustion_tests>]\n");
+ DT_Mdep_printf("USAGE: (1000 - Default)\n");
DT_Mdep_printf("USAGE: [-R <service reliability>]\n");
- DT_Mdep_printf
- ("USAGE: (BE == QOS_BEST_EFFORT - Default)\n");
+ DT_Mdep_printf("USAGE: (BE == QOS_BEST_EFFORT - Default)\n");
DT_Mdep_printf("USAGE: (HT == QOS_HIGH_THROUGHPUT)\n");
DT_Mdep_printf("USAGE: (LL == QOS_LOW_LATENCY)\n");
DT_Mdep_printf("USAGE: (EC == QOS_ECONOMY)\n");
DT_Mdep_printf("USAGE: (PM == QOS_PREMIUM)\n");
- DT_Mdep_printf
- ("USAGE: [limit_ia [limit_pz] [limit_evd] ... ]\n");
- DT_Mdep_printf
- ("NOTE: If test is not specified, do all the limit tests\n");
+ DT_Mdep_printf("USAGE: [limit_ia [limit_pz] [limit_evd] ... ]\n");
+ DT_Mdep_printf("NOTE: If test is not specified, do all the limit tests\n");
DT_Mdep_printf("NOTE: Else, just do the specified tests\n");
- DT_Mdep_printf
- ("NOTE: Each test is separated by space, the test can be:\n");
-
+ DT_Mdep_printf("NOTE: Each test is separated by space, the test can be:\n");
DT_Mdep_printf("NOTE: [limit_ia] test max num of open IAs\n");
DT_Mdep_printf("NOTE: [limit_pz] test max num of PZs\n");
#ifndef __KDAPLTEST__
@@ -216,7 +218,6 @@ void DT_Limit_Cmd_Usage(void)
DT_Mdep_printf("NOTE: [limit_psp] test max num of PSPs\n");
DT_Mdep_printf("NOTE: [limit_ep] test max num of EPs\n");
DT_Mdep_printf("NOTE: [limit_lmr] test max num of LMRs\n");
- DT_Mdep_printf
- ("NOTE: [limit_rpost] test max num of recvs posted\n");
+ DT_Mdep_printf("NOTE: [limit_rpost] test max num of recvs posted\n");
DT_Mdep_printf("NOTE: [limit_size_lmr] test max size of LMR\n");
}
diff --git a/test/dapltest/cmd/dapl_main.c b/test/dapltest/cmd/dapl_main.c
index 9ac6f12..0de7baf 100644
--- a/test/dapltest/cmd/dapl_main.c
+++ b/test/dapltest/cmd/dapl_main.c
@@ -119,8 +119,7 @@ int dapltest(int argc, char *argv[])
void Dapltest_Main_Usage(void)
{
DT_Mdep_printf("USAGE:\n");
- DT_Mdep_printf
- ("USAGE: dapltest -T <Test_Type> [-D IA_name] [test-specific args]\n");
+ DT_Mdep_printf("USAGE: dapltest -T <Test_Type> [-D IA_name] [-n port_number] [test-specific args]\n");
DT_Mdep_printf("USAGE: where <Test_Type>\n");
DT_Mdep_printf("USAGE: S = Run as a server\n");
DT_Mdep_printf("USAGE: T = Transaction Test\n");
@@ -129,11 +128,12 @@ void Dapltest_Main_Usage(void)
DT_Mdep_printf("USAGE: L = Limit Test\n");
DT_Mdep_printf("USAGE: F = FFT Test\n");
DT_Mdep_printf("USAGE:\n");
- DT_Mdep_printf
- ("USAGE: -D Interface_Adapter {default ibnic0v2}\n");
+ DT_Mdep_printf("USAGE: -D Interface_Adapter {default ibnic0v2}\n");
+ DT_Mdep_printf("USAGE:\n");
+ DT_Mdep_printf("USAGE: -n server_port_number {default 42768}\n");
DT_Mdep_printf("USAGE:\n");
DT_Mdep_printf
- ("NOTE:\tRun as server taking defaults (dapltest -T S [-D ibnic0v2])\n");
+ ("NOTE:\tRun as server taking defaults (dapltest -T S [-D ibnic0v2] [-p 42768])\n");
DT_Mdep_printf("NOTE: dapltest\n");
DT_Mdep_printf("NOTE:\n");
DT_Mdep_printf
diff --git a/test/dapltest/cmd/dapl_params.c b/test/dapltest/cmd/dapl_params.c
index 9d5e510..f038324 100644
--- a/test/dapltest/cmd/dapl_params.c
+++ b/test/dapltest/cmd/dapl_params.c
@@ -165,6 +165,7 @@ bool DT_Params_Parse(int argc, char *argv[], Params_t * params_ptr)
params_ptr->ReliabilityLevel =
Server_Cmd->ReliabilityLevel;
params_ptr->debug = Server_Cmd->debug;
+ params_ptr->server_port = Server_Cmd->port;
break;
}
case 'T': /* Transaction Test */
@@ -180,6 +181,7 @@ bool DT_Params_Parse(int argc, char *argv[], Params_t * params_ptr)
params_ptr->ReliabilityLevel =
Transaction_Cmd->ReliabilityLevel;
params_ptr->debug = Transaction_Cmd->debug;
+ params_ptr->server_port = Transaction_Cmd->port;
DT_NetAddrLookupHostAddress(¶ms_ptr->server_netaddr,
Transaction_Cmd->
server_name);
@@ -197,6 +199,7 @@ bool DT_Params_Parse(int argc, char *argv[], Params_t * params_ptr)
params_ptr->ReliabilityLevel =
Quit_Cmd->ReliabilityLevel;
params_ptr->debug = Quit_Cmd->debug;
+ params_ptr->server_port = Quit_Cmd->port;
DT_NetAddrLookupHostAddress(¶ms_ptr->server_netaddr,
Quit_Cmd->server_name);
break;
@@ -213,6 +216,7 @@ bool DT_Params_Parse(int argc, char *argv[], Params_t * params_ptr)
params_ptr->ReliabilityLevel =
Limit_Cmd->ReliabilityLevel;
params_ptr->debug = Limit_Cmd->debug;
+ params_ptr->server_port = Limit_Cmd->port;
break;
}
case 'P': /* Performance Test */
@@ -232,6 +236,7 @@ bool DT_Params_Parse(int argc, char *argv[], Params_t * params_ptr)
params_ptr->ReliabilityLevel = Performance_Cmd->qos;
params_ptr->debug = Performance_Cmd->debug;
+ params_ptr->server_port = Performance_Cmd->port;
DT_NetAddrLookupHostAddress(¶ms_ptr->server_netaddr,
Performance_Cmd->
server_name);
@@ -250,6 +255,7 @@ bool DT_Params_Parse(int argc, char *argv[], Params_t * params_ptr)
DT_NetAddrLookupHostAddress(¶ms_ptr->server_netaddr,
FFT_Cmd->server_name);
params_ptr->debug = false;
+ params_ptr->server_port = FFT_Cmd->port;
break;
}
diff --git a/test/dapltest/cmd/dapl_performance_cmd.c b/test/dapltest/cmd/dapl_performance_cmd.c
index 5f9b9f1..de38abf 100644
--- a/test/dapltest/cmd/dapl_performance_cmd.c
+++ b/test/dapltest/cmd/dapl_performance_cmd.c
@@ -35,15 +35,14 @@ static void DT_Performance_Cmd_Usage(void)
DT_Mdep_printf("USAGE: ---- PERFORMANCE TEST ----\n");
DT_Mdep_printf("USAGE: dapltest -T P\n");
DT_Mdep_printf("USAGE: -s <server Name>\n");
+ DT_Mdep_printf("USAGE: -n <server port number>\n");
DT_Mdep_printf("USAGE: [-m b|p]\n");
DT_Mdep_printf("USAGE: [-D <device Name>]\n");
DT_Mdep_printf("USAGE: [-d] : debug (zero)\n");
- DT_Mdep_printf
- ("USAGE: [-i <num iterations>] : (1, 000)\n");
+ DT_Mdep_printf("USAGE: [-i <num iterations>] : (1, 000)\n");
DT_Mdep_printf("USAGE: [-p <pipline>]\n");
DT_Mdep_printf("USAGE: [-R <service reliability>]\n");
- DT_Mdep_printf
- ("USAGE: (BE == QOS_BEST_EFFORT - Default)\n");
+ DT_Mdep_printf("USAGE: (BE == QOS_BEST_EFFORT - Default)\n");
DT_Mdep_printf("USAGE: (HT == QOS_HIGH_THROUGHPUT)\n");
DT_Mdep_printf("USAGE: (LL == QOS_LOW_LATENCY)\n");
DT_Mdep_printf("USAGE: (EC == QOS_ECONOMY)\n");
@@ -145,7 +144,7 @@ DT_Performance_Cmd_Parse(Performance_Cmd_t * cmd,
unsigned int len;
for (;;) {
- c = DT_mygetopt_r(my_argc, my_argv, "D:dm:i:p:R:s:", opts);
+ c = DT_mygetopt_r(my_argc, my_argv, "D:dm:i:p:R:s:n:", opts);
if (EOF == c) {
break;
@@ -224,6 +223,11 @@ DT_Performance_Cmd_Parse(Performance_Cmd_t * cmd,
NAME_SZ);
break;
}
+ case 'n':
+ {
+ cmd->port = atoi(opts->optarg);
+ break;
+ }
default:
{
DT_Mdep_printf
@@ -260,7 +264,7 @@ bool DT_Performance_Cmd_Init(Performance_Cmd_t * cmd)
cmd->debug = false;
cmd->num_iterations = 1000;
cmd->pipeline_len = ~0;
-
+ cmd->port = SERVER_PORT_NUMBER;
cmd->op.transfer_type = RDMA_WRITE;
cmd->op.seg_size = 4096;
cmd->op.num_segs = 1;
@@ -278,6 +282,8 @@ void DT_Performance_Cmd_Print(Performance_Cmd_t * cmd)
DT_Mdep_printf("-------------------------------------\n");
DT_Mdep_printf("PerfCmd.server_name : %s\n",
cmd->server_name);
+ DT_Mdep_printf("PerfCmd.server_port_number : %d\n",
+ cmd->port);
DT_Mdep_printf("PerfCmd.dapl_name : %s\n",
cmd->dapl_name);
DT_Mdep_printf("PerfCmd.mode : %s\n",
diff --git a/test/dapltest/cmd/dapl_quit_cmd.c b/test/dapltest/cmd/dapl_quit_cmd.c
index d8536a7..d8930e4 100644
--- a/test/dapltest/cmd/dapl_quit_cmd.c
+++ b/test/dapltest/cmd/dapl_quit_cmd.c
@@ -35,6 +35,7 @@ void DT_Quit_Cmd_Init(Quit_Cmd_t * cmd)
{
memset((void *)cmd, 0, sizeof(Quit_Cmd_t));
cmd->ReliabilityLevel = DAT_QOS_BEST_EFFORT;
+ cmd->port = SERVER_PORT_NUMBER;
}
/*--------------------------------------------------------- */
@@ -45,7 +46,7 @@ DT_Quit_Cmd_Parse(Quit_Cmd_t * cmd,
int c;
for (;;) {
- c = DT_mygetopt_r(my_argc, my_argv, "ds:D:R:", opts);
+ c = DT_mygetopt_r(my_argc, my_argv, "ds:D:R:n", opts);
if (c == EOF) {
break;
}
@@ -72,6 +73,11 @@ DT_Quit_Cmd_Parse(Quit_Cmd_t * cmd,
DT_ParseQoS(opts->optarg);
break;
}
+ case 'n':
+ {
+ cmd->port = atoi(opts->optarg);
+ break;
+ }
case '?':
default:
{
@@ -113,6 +119,7 @@ void DT_Quit_Cmd_Usage(void)
DT_Mdep_printf("USAGE: ---- QUIT TEST ----\n");
DT_Mdep_printf("USAGE: dapltest -T Q\n");
DT_Mdep_printf("USAGE: -s <server Name>\n");
+ DT_Mdep_printf("USAGE: -n <server port number>\n");
DT_Mdep_printf("USAGE: [-D <device Name>]\n");
DT_Mdep_printf("USAGE: [-d] : debug (zero)\n");
DT_Mdep_printf("USAGE: [-R <service reliability>]\n");
@@ -129,4 +136,5 @@ void DT_Quit_Cmd_Print(Quit_Cmd_t * cmd)
{
DT_Mdep_printf("Quit_Cmd.server_name: %s\n", cmd->server_name);
DT_Mdep_printf("Quit_Cmd.device_name: %s\n", cmd->device_name);
+ DT_Mdep_printf("Quit_Cmd.port: %s\n", cmd->port);
}
diff --git a/test/dapltest/cmd/dapl_server_cmd.c b/test/dapltest/cmd/dapl_server_cmd.c
index 5859471..219b8de 100644
--- a/test/dapltest/cmd/dapl_server_cmd.c
+++ b/test/dapltest/cmd/dapl_server_cmd.c
@@ -34,6 +34,7 @@ void DT_Server_Cmd_Init(Server_Cmd_t * Server_Cmd)
{
DT_dapltest_debug = 0;
Server_Cmd->debug = false;
+ Server_Cmd->port = SERVER_PORT_NUMBER;
Server_Cmd->dapl_name[0] = '\0';
Server_Cmd->ReliabilityLevel = DAT_QOS_BEST_EFFORT;
}
@@ -44,7 +45,7 @@ DT_Server_Cmd_Parse(Server_Cmd_t * Server_Cmd,
{
int c;
for (;;) {
- c = DT_mygetopt_r(my_argc, my_argv, "dD:R:", opts);
+ c = DT_mygetopt_r(my_argc, my_argv, "dD:R:n:", opts);
if (c == EOF) {
break;
}
@@ -69,6 +70,11 @@ DT_Server_Cmd_Parse(Server_Cmd_t * Server_Cmd,
}
break;
}
+ case 'n':
+ {
+ Server_Cmd->port = atoi(opts->optarg);
+ break;
+ }
case '?':
default:
{
@@ -96,8 +102,8 @@ void DT_Server_Cmd_Usage(void)
DT_Mdep_printf("USAGE: [-D <device Name>]\n");
DT_Mdep_printf("USAGE: [-d] : debug (zero)\n");
DT_Mdep_printf("USAGE: [-R <service reliability>]\n");
- DT_Mdep_printf
- ("USAGE: (BE == QOS_BEST_EFFORT - Default)\n");
+ DT_Mdep_printf("USAGE: [-n <server port number>]\n");
+ DT_Mdep_printf("USAGE: (BE == QOS_BEST_EFFORT - Default)\n");
DT_Mdep_printf("USAGE: (HT == QOS_HIGH_THROUGHPUT)\n");
DT_Mdep_printf("USAGE: (LL == QOS_LOW_LATENCY)\n");
DT_Mdep_printf("USAGE: (EC == QOS_ECONOMY)\n");
@@ -111,4 +117,5 @@ void DT_Server_Cmd_Print(Server_Cmd_t * Server_Cmd)
{
DT_Mdep_printf("Server_Cmd.debug: %d\n", Server_Cmd->debug);
DT_Mdep_printf("Server_Cmd.dapl_name: %s\n", Server_Cmd->dapl_name);
+ DT_Mdep_printf("Server_Cmd.port: %d\n", Server_Cmd->port);
}
diff --git a/test/dapltest/cmd/dapl_transaction_cmd.c b/test/dapltest/cmd/dapl_transaction_cmd.c
index 5bdcab8..80b493d 100644
--- a/test/dapltest/cmd/dapl_transaction_cmd.c
+++ b/test/dapltest/cmd/dapl_transaction_cmd.c
@@ -192,18 +192,16 @@ static void DT_Transaction_Cmd_Usage(void)
DT_Mdep_printf("USAGE: dapltest -T T\n");
DT_Mdep_printf("USAGE: -s <server Name>\n");
DT_Mdep_printf("USAGE: [-D <device Name>]\n");
+ DT_Mdep_printf("USAGE: [-n <server port number>]\n");
DT_Mdep_printf("USAGE: [-d] : debug (zero)\n");
- DT_Mdep_printf
- ("USAGE: [-i <num iterations>] : (1, 000)\n");
+ DT_Mdep_printf("USAGE: [-i <num iterations>] : (1, 000)\n");
DT_Mdep_printf("USAGE: [-t <num threads>] : (1)\n");
DT_Mdep_printf("USAGE: [-w <num EPs per thread>] : (1)\n");
DT_Mdep_printf("USAGE: [-V ] : Validate data: (false)\n");
- DT_Mdep_printf
- ("USAGE: [-P ] : DTO Completion Polling: (false)\n");
+ DT_Mdep_printf("USAGE: [-P ] : DTO Completion Polling: (false)\n");
DT_Mdep_printf("USAGE: [-r ] : Use RSPs: (false)\n");
DT_Mdep_printf("USAGE: [-R <service reliability>]\n");
- DT_Mdep_printf
- ("USAGE: (BE == QOS_BEST_EFFORT - Default)\n");
+ DT_Mdep_printf("USAGE: (BE == QOS_BEST_EFFORT - Default)\n");
DT_Mdep_printf("USAGE: (HT == QOS_HIGH_THROUGHPUT)\n");
DT_Mdep_printf("USAGE: (LL == QOS_LOW_LATENCY)\n");
DT_Mdep_printf("USAGE: (EC == QOS_ECONOMY)\n");
@@ -216,16 +214,12 @@ static void DT_Transaction_Cmd_Usage(void)
DT_Mdep_printf("USAGE: : \"RR\" (RDMA READ)\n");
DT_Mdep_printf("USAGE: : \"RW\" (RDMA WRITE)\n");
DT_Mdep_printf("USAGE: [seg_size [num_segs] ] : (4096, 1)\n");
- DT_Mdep_printf
- ("USAGE: [-f] : Reap sends on recv\n");
+ DT_Mdep_printf("USAGE: [-f] : Reap sends on recv\n");
DT_Mdep_printf("USAGE:\n");
DT_Mdep_printf("NOTE: -f is only allowed on \"SR\" OPs\n");
- DT_Mdep_printf
- ("NOTE: -f must appear in pairs (one client, one server)\n");
- DT_Mdep_printf
- ("NOTE: At least one server SR and one client SR OP are required\n");
- DT_Mdep_printf
- ("NOTE: and use of -V results in the use of three extra OPs\n");
+ DT_Mdep_printf("NOTE: -f must appear in pairs (one client, one server)\n");
+ DT_Mdep_printf("NOTE: At least one server SR and one client SR OP are required\n");
+ DT_Mdep_printf("NOTE: and use of -V results in the use of three extra OPs\n");
}
void DT_Transaction_Cmd_Init(Transaction_Cmd_t * cmd)
@@ -238,6 +232,7 @@ void DT_Transaction_Cmd_Init(Transaction_Cmd_t * cmd)
cmd->eps_per_thread = 1;
cmd->debug = false;
cmd->validate = false;
+ cmd->port = SERVER_PORT_NUMBER;
cmd->ReliabilityLevel = DAT_QOS_BEST_EFFORT;
}
@@ -250,7 +245,7 @@ DT_Transaction_Cmd_Parse(Transaction_Cmd_t * cmd,
int i;
char op[100];
for (;;) {
- c = DT_mygetopt_r(my_argc, my_argv, "rQVPdw:s:D:i:t:v:R:",
+ c = DT_mygetopt_r(my_argc, my_argv, "rQVPdw:s:D:i:t:v:R:n:",
opts);
if (c == EOF) {
break;
@@ -339,6 +334,11 @@ DT_Transaction_Cmd_Parse(Transaction_Cmd_t * cmd,
DT_ParseQoS(opts->optarg);
break;
}
+ case 'n':
+ {
+ cmd->port = atoi(opts->optarg);
+ break;
+ }
case '?':
default:
{
@@ -422,6 +422,8 @@ void DT_Transaction_Cmd_Print(Transaction_Cmd_t * cmd)
DT_Mdep_printf("-------------------------------------\n");
DT_Mdep_printf("TransCmd.server_name : %s\n",
cmd->server_name);
+ DT_Mdep_printf("TransCmd.server_port_number : %d\n",
+ cmd->port);
DT_Mdep_printf("TransCmd.num_iterations : %d\n",
cmd->num_iterations);
DT_Mdep_printf("TransCmd.num_threads : %d\n",
diff --git a/test/dapltest/common/dapl_endian.c b/test/dapltest/common/dapl_endian.c
index d93fbb9..c77f2f2 100644
--- a/test/dapltest/common/dapl_endian.c
+++ b/test/dapltest/common/dapl_endian.c
@@ -77,8 +77,6 @@ DAT_UINT64 DT_Endian64(DAT_UINT64 val)
DAT_UINT32 DT_EndianMemHandle(DAT_UINT32 val)
{
- if (DT_local_is_little_endian)
- return val;
val = ((val & c1a32) << 8) | ((val & c1b32) >> 8);
val = ((val & c2a32) << 16) | ((val & c2b32) >> 16);
return (val);
@@ -88,8 +86,6 @@ DAT_UINT64 DT_EndianMemAddress(DAT_UINT64 val)
{
DAT_UINT64 val64;
- if (DT_local_is_little_endian)
- return val;
val64 = val;
val64 = ((val64 & c1a64) << 8) | ((val64 & c1b64) >> 8);
val64 = ((val64 & c2a64) << 16) | ((val64 & c2b64) >> 16);
diff --git a/test/dapltest/include/dapl_common.h b/test/dapltest/include/dapl_common.h
index df3e000..7dfe471 100644
--- a/test/dapltest/include/dapl_common.h
+++ b/test/dapltest/include/dapl_common.h
@@ -33,6 +33,8 @@
#include "dapl_proto.h"
+#define SERVER_PORT_NUMBER ((DAT_CONN_QUAL)62000)
+
typedef enum
{
RDMA_READ,
diff --git a/test/dapltest/include/dapl_fft_cmd.h b/test/dapltest/include/dapl_fft_cmd.h
index 0989a2e..adfee7a 100644
--- a/test/dapltest/include/dapl_fft_cmd.h
+++ b/test/dapltest/include/dapl_fft_cmd.h
@@ -67,6 +67,7 @@ typedef struct
int num_threads; //-t
int num_vis; //-v
DAT_QOS ReliabilityLevel; //-R
+ DAT_CONN_QUAL port; /* -n */
} FFT_Cmd_t;
#endif
diff --git a/test/dapltest/include/dapl_limit_cmd.h b/test/dapltest/include/dapl_limit_cmd.h
index 03bc773..ceb53e8 100644
--- a/test/dapltest/include/dapl_limit_cmd.h
+++ b/test/dapltest/include/dapl_limit_cmd.h
@@ -62,6 +62,7 @@ typedef struct
DAT_UINT32 debug; /* -d */
DAT_UINT32 maximum; /* -m */
DAT_UINT32 Test_List[ LIM_NUM_TESTS ];
+ DAT_CONN_QUAL port; /* -n */
} Limit_Cmd_t;
#pragma pack ()
diff --git a/test/dapltest/include/dapl_params.h b/test/dapltest/include/dapl_params.h
index dc500b7..bac65b0 100644
--- a/test/dapltest/include/dapl_params.h
+++ b/test/dapltest/include/dapl_params.h
@@ -70,6 +70,7 @@ typedef struct
bool local_is_little_endian;
bool debug;
double cpu_mhz;
+ int server_port;
} Params_t;
#endif
diff --git a/test/dapltest/include/dapl_performance_cmd.h b/test/dapltest/include/dapl_performance_cmd.h
index 93fb321..ad6fc1f 100644
--- a/test/dapltest/include/dapl_performance_cmd.h
+++ b/test/dapltest/include/dapl_performance_cmd.h
@@ -62,6 +62,7 @@ typedef struct
DAT_UINT32 pipeline_len; /* -p */
Performance_Cmd_Op_t op;
DAT_UINT32 use_rsp; /* -r */
+ DAT_CONN_QUAL port; /* -n */
} Performance_Cmd_t;
#pragma pack ()
diff --git a/test/dapltest/include/dapl_quit_cmd.h b/test/dapltest/include/dapl_quit_cmd.h
index 8aba24e..8640541 100644
--- a/test/dapltest/include/dapl_quit_cmd.h
+++ b/test/dapltest/include/dapl_quit_cmd.h
@@ -38,6 +38,7 @@ typedef struct
char device_name[256]; /* -D */
DAT_UINT32 debug; /* -d */
DAT_QOS ReliabilityLevel; /* -R */
+ DAT_CONN_QUAL port; /* -n */
} Quit_Cmd_t;
#pragma pack ()
diff --git a/test/dapltest/include/dapl_server_cmd.h b/test/dapltest/include/dapl_server_cmd.h
index 244103a..ee39ddf 100644
--- a/test/dapltest/include/dapl_server_cmd.h
+++ b/test/dapltest/include/dapl_server_cmd.h
@@ -38,6 +38,7 @@ typedef struct
bool debug; /* -d */
char dapl_name[256]; /* -D device name */
DAT_QOS ReliabilityLevel; /* -R */
+ DAT_CONN_QUAL port; /* -n */
} Server_Cmd_t;
#pragma pack ()
diff --git a/test/dapltest/include/dapl_server_info.h b/test/dapltest/include/dapl_server_info.h
index de038c5..f3865eb 100644
--- a/test/dapltest/include/dapl_server_info.h
+++ b/test/dapltest/include/dapl_server_info.h
@@ -37,7 +37,7 @@
struct started_server
{
- char devicename[80];
+ char devicename[256];
struct started_server *next;
};
@@ -45,8 +45,6 @@ typedef struct started_server Started_server_t;
extern Started_server_t *DT_started_server_list;
-#define SERVER_PORT_NUMBER ((DAT_CONN_QUAL)0xB0de)
-
typedef struct
{
DAT_UINT32 dapltest_version;
diff --git a/test/dapltest/include/dapl_transaction_cmd.h b/test/dapltest/include/dapl_transaction_cmd.h
index afd59c0..6801af4 100644
--- a/test/dapltest/include/dapl_transaction_cmd.h
+++ b/test/dapltest/include/dapl_transaction_cmd.h
@@ -59,11 +59,12 @@ typedef struct
DAT_UINT32 debug; /* -d */
DAT_UINT32 validate; /* -V */
DAT_UINT32 poll; /* -P */
+ DAT_CONN_QUAL port; /* -n */
char dapl_name[NAME_SZ]; /* -D */
DAT_QOS ReliabilityLevel;
DAT_UINT32 num_ops;
Transaction_Cmd_Op_t op[MAX_OPS];
-} Transaction_Cmd_t;
+ } Transaction_Cmd_t;
#pragma pack ()
#endif
diff --git a/test/dapltest/mdep/linux/dapl_mdep_user.h b/test/dapltest/mdep/linux/dapl_mdep_user.h
index c39d3d6..772f2dd 100755
--- a/test/dapltest/mdep/linux/dapl_mdep_user.h
+++ b/test/dapltest/mdep/linux/dapl_mdep_user.h
@@ -200,4 +200,9 @@ do { \
#define DT_Mdep_flush() fflush(NULL)
+/*
+ * Release processor to reschedule
+ */
+#define DT_Mdep_yield pthread_yield
+
#endif
diff --git a/test/dapltest/test/dapl_client.c b/test/dapltest/test/dapl_client.c
index 91ebd7d..21c6e01 100644
--- a/test/dapltest/test/dapl_client.c
+++ b/test/dapltest/test/dapl_client.c
@@ -215,7 +215,7 @@ DT_cs_Client(Params_t * params_ptr,
DT_Tdep_PT_Debug(1, (phead, "%s: Connect Endpoint\n", module));
retry:
- ret = dat_ep_connect(ep_handle, server_netaddr, SERVER_PORT_NUMBER, DAT_TIMEOUT_INFINITE, 0, (DAT_PVOID) 0, /* no private data */
+ ret = dat_ep_connect(ep_handle, server_netaddr, params_ptr->server_port, DAT_TIMEOUT_INFINITE, 0, (DAT_PVOID) 0, /* no private data */
params_ptr->ReliabilityLevel,
DAT_CONNECT_DEFAULT_FLAG);
if (ret != DAT_SUCCESS) {
diff --git a/test/dapltest/test/dapl_fft_queryinfo.c b/test/dapltest/test/dapl_fft_queryinfo.c
index 5bbee36..777315f 100644
--- a/test/dapltest/test/dapl_fft_queryinfo.c
+++ b/test/dapltest/test/dapl_fft_queryinfo.c
@@ -227,7 +227,7 @@ int DT_queryinfo_basic(Params_t * params_ptr,
/* Test dat_psp_query function */
else if (object_to_query == QUERY_PSP) {
rc = dat_psp_create(ia_handle,
- SERVER_PORT_NUMBER,
+ params_ptr->server_port,
cr_evd_handle,
DAT_PSP_PROVIDER_FLAG, &psp_handle);
DT_assert_dat(phead, rc == DAT_SUCCESS);
@@ -245,7 +245,7 @@ int DT_queryinfo_basic(Params_t * params_ptr,
/* Test dat_rsp_query function */
else if (object_to_query == QUERY_RSP) {
rc = dat_rsp_create(ia_handle,
- SERVER_PORT_NUMBER,
+ params_ptr->server_port,
ep_handle, cr_evd_handle, &rsp_handle);
DT_assert_dat(phead, rc == DAT_SUCCESS);
rc = dat_rsp_query(rsp_handle, DAT_RSP_FIELD_ALL, &rsp_param);
diff --git a/test/dapltest/test/dapl_fft_util.c b/test/dapltest/test/dapl_fft_util.c
index eeb3299..5afd9fb 100644
--- a/test/dapltest/test/dapl_fft_util.c
+++ b/test/dapltest/test/dapl_fft_util.c
@@ -274,7 +274,7 @@ void DT_fft_init_server(Params_t * params_ptr, FFT_Cmd_t * cmd,
DT_assert_dat(phead, rc == DAT_SUCCESS);
/* create a PSP */
- rc = dat_psp_create(conn->ia_handle, SERVER_PORT_NUMBER, conn->cr_evd,
+ rc = dat_psp_create(conn->ia_handle, params_ptr->server_port, conn->cr_evd,
DAT_PSP_CONSUMER_FLAG, &conn->psp_handle);
DT_assert_dat(phead, rc == DAT_SUCCESS);
@@ -299,7 +299,7 @@ void DT_fft_listen(Params_t * params_ptr, FFT_Connection_t * conn)
DT_assert_dat(phead,
DT_cr_event_wait(phead, conn->cr_evd, &conn->cr_stat)
&& DT_cr_check(phead, &conn->cr_stat, conn->psp_handle,
- SERVER_PORT_NUMBER, &conn->cr_handle,
+ params_ptr->server_port, &conn->cr_handle,
"DT_fft_listen"));
/* accept the connection */
@@ -332,7 +332,7 @@ int DT_fft_connect(Params_t * params_ptr, FFT_Connection_t * conn)
/* attempt to connect, timeout = 10 secs */
rc = dat_ep_connect(conn->ep_handle, conn->remote_netaddr,
- SERVER_PORT_NUMBER, 10 * 1000000, 0,
+ params_ptr->server_port, 10 * 1000000, 0,
(DAT_PVOID) 0, DAT_QOS_BEST_EFFORT,
DAT_CONNECT_DEFAULT_FLAG);
DT_assert_dat(phead, rc == DAT_SUCCESS);
diff --git a/test/dapltest/test/dapl_limit.c b/test/dapltest/test/dapl_limit.c
index 6b299fa..0f3c6c1 100644
--- a/test/dapltest/test/dapl_limit.c
+++ b/test/dapltest/test/dapl_limit.c
@@ -108,7 +108,8 @@ limit_test(DT_Tdep_Print_Head * phead, Limit_Cmd_t * cmd, Limit_Index depth)
#undef DFLT_QLEN
#endif
-# define DFLT_QLEN 10 /* a small event queue size */
+# define DFLT_QLEN 10 /* a small CM event queue */
+# define DFLT_DTO_QLEN 1024 /* a larger DTO event queue */
# define START_COUNT 1024 /* initial # handles */
# define DFLT_BUFFSZ 4096 /* default size for buffer */
# define CONN_QUAL0 0xAffab1e
@@ -456,7 +457,7 @@ limit_test(DT_Tdep_Print_Head * phead, Limit_Cmd_t * cmd, Limit_Index depth)
}
for (w = 0; w < cmd->width; w++) {
ret = DT_Tdep_evd_create(hdl_sets[w].ia_handle,
- DFLT_QLEN,
+ DFLT_DTO_QLEN,
hdl_sets[w].cno_handle,
flags,
&hdl_sets[w].evd_handle);
diff --git a/test/dapltest/test/dapl_performance_client.c b/test/dapltest/test/dapl_performance_client.c
index 96d5b47..169a212 100644
--- a/test/dapltest/test/dapl_performance_client.c
+++ b/test/dapltest/test/dapl_performance_client.c
@@ -427,7 +427,7 @@ DT_Performance_Test_Client_Exchange(Params_t * params_ptr,
* we pass to the other side. The other side cannot (and
* better not) interpret these values.
*/
- if (DT_local_is_little_endian != test_ptr->is_remote_little_endian) {
+ if (DT_local_is_little_endian && !test_ptr->is_remote_little_endian) {
rmi->rmr_context = DT_EndianMemHandle(rmi->rmr_context);
rmi->mem_address.as_64 =
DT_EndianMemAddress(rmi->mem_address.as_64);
diff --git a/test/dapltest/test/dapl_performance_server.c b/test/dapltest/test/dapl_performance_server.c
index 5083967..475a5fe 100644
--- a/test/dapltest/test/dapl_performance_server.c
+++ b/test/dapltest/test/dapl_performance_server.c
@@ -328,7 +328,7 @@ DT_Performance_Test_Server_Exchange(DT_Tdep_Print_Head * phead,
* we pass to the other side. The other side cannot (and
* better not) interpret these values.
*/
- if (DT_local_is_little_endian != test_ptr->is_remote_little_endian) {
+ if (DT_local_is_little_endian && !test_ptr->is_remote_little_endian) {
rmi->rmr_context = DT_EndianMemHandle(rmi->rmr_context);
rmi->mem_address.as_64 =
DT_EndianMemAddress(rmi->mem_address.as_64);
diff --git a/test/dapltest/test/dapl_server.c b/test/dapltest/test/dapl_server.c
index 443425c..88b74d9 100644
--- a/test/dapltest/test/dapl_server.c
+++ b/test/dapltest/test/dapl_server.c
@@ -34,7 +34,7 @@
#undef DFLT_QLEN
#endif
-#define DFLT_QLEN 8 /* default event queue length */
+#define DFLT_QLEN 32 /* default event queue length */
int send_control_data(DT_Tdep_Print_Head * phead,
unsigned char *buffp,
@@ -97,7 +97,7 @@ void DT_cs_Server(Params_t * params_ptr)
goto server_exit;
}
DT_Mdep_LockInit(&ps_ptr->num_clients_lock);
- ps_ptr->NextPortNumber = SERVER_PORT_NUMBER + 1;
+ ps_ptr->NextPortNumber = params_ptr->server_port + 1;
ps_ptr->num_clients = 0;
/* Open the IA */
@@ -191,7 +191,7 @@ void DT_cs_Server(Params_t * params_ptr)
/* Create PSP */
ret = dat_psp_create(ps_ptr->ia_handle,
- SERVER_PORT_NUMBER,
+ params_ptr->server_port,
ps_ptr->creq_evd_hdl,
DAT_PSP_CONSUMER_FLAG, &ps_ptr->psp_handle);
if (ret != DAT_SUCCESS) {
@@ -303,7 +303,7 @@ void DT_cs_Server(Params_t * params_ptr)
module));
if (!DT_cr_event_wait(phead, ps_ptr->creq_evd_hdl, &cr_stat)
|| !DT_cr_check(phead, &cr_stat, ps_ptr->psp_handle,
- SERVER_PORT_NUMBER, &cr_handle, module)) {
+ params_ptr->server_port, &cr_handle, module)) {
DT_Tdep_PT_Printf(phead,
"CR Check failed, file %s line %d\n",
@@ -434,8 +434,8 @@ void DT_cs_Server(Params_t * params_ptr)
pt_ptr->Server_Info.is_little_endian =
DT_local_is_little_endian;
/* reset port, don't eat up port space on long runs */
- if (ps_ptr->NextPortNumber >= SERVER_PORT_NUMBER + 1000)
- ps_ptr->NextPortNumber = SERVER_PORT_NUMBER + 1;
+ if (ps_ptr->NextPortNumber >= params_ptr->server_port + 1000)
+ ps_ptr->NextPortNumber = params_ptr->server_port + 1;
pt_ptr->Server_Info.first_port_number = ps_ptr->NextPortNumber;
ps_ptr->NextPortNumber += pt_ptr->Client_Info.total_threads;
diff --git a/test/dapltest/test/dapl_test_util.c b/test/dapltest/test/dapl_test_util.c
index db9b672..f649b28 100644
--- a/test/dapltest/test/dapl_test_util.c
+++ b/test/dapltest/test/dapl_test_util.c
@@ -415,7 +415,7 @@ DT_dto_event_poll(DT_Tdep_Print_Head * phead,
DAT_EVD_HANDLE evd_handle,
DAT_DTO_COMPLETION_EVENT_DATA * dto_statusp)
{
- for (;;) {
+ for (;;DT_Mdep_yield()) {
DAT_RETURN ret;
DAT_EVENT event;
diff --git a/test/dapltest/test/dapl_transaction_stats.c b/test/dapltest/test/dapl_transaction_stats.c
index f9d6377..6422ee3 100644
--- a/test/dapltest/test/dapl_transaction_stats.c
+++ b/test/dapltest/test/dapl_transaction_stats.c
@@ -59,6 +59,16 @@ DT_transaction_stats_set_ready(DT_Tdep_Print_Head * phead,
DT_Mdep_Unlock(&transaction_stats->lock);
}
+void
+DT_transaction_stats_reset_wait_count(DT_Tdep_Print_Head * phead,
+ Transaction_Stats_t * transaction_stats,
+ unsigned int num)
+{
+ DT_Mdep_Lock(&transaction_stats->lock);
+ transaction_stats->wait_count = num;
+ DT_Mdep_Unlock(&transaction_stats->lock);
+}
+
bool
DT_transaction_stats_wait_for_all(DT_Tdep_Print_Head * phead,
Transaction_Stats_t * transaction_stats)
diff --git a/test/dapltest/test/dapl_transaction_test.c b/test/dapltest/test/dapl_transaction_test.c
index 14c14b4..8b49b9b 100644
--- a/test/dapltest/test/dapl_transaction_test.c
+++ b/test/dapltest/test/dapl_transaction_test.c
@@ -34,6 +34,8 @@
#define RMI_RECV_BUFFER_ID 1
#define SYNC_SEND_BUFFER_ID 2
#define SYNC_RECV_BUFFER_ID 3
+#define FINAL_SYNC_SEND_BUFFER_ID 4
+#define FINAL_SYNC_RECV_BUFFER_ID 5
/*
* The sync buffers are sent to say "Go!" to the other side.
@@ -43,6 +45,10 @@
*/
#define SYNC_BUFF_SIZE 64
+#ifdef DFLT_QLEN
+#undef DFLT_QLEN
+#endif
+
#define DFLT_QLEN 8 /* default event queue length */
#define DFLT_TMO 10 /* default timeout (seconds) */
#define MAX_CONN_RETRY 8
@@ -360,15 +366,15 @@ void DT_Transaction_Main(void *param)
* Adjust default EP attributes to fit the requested test.
* This is simplistic; in that we don't count ops of each
* type and direction, checking EP limits. We just try to
- * be sure the EP's WQs are large enough. The "+2" is for
- * the RemoteMemInfo and Sync receive buffers.
+ * be sure the EP's WQs are large enough. The "+3" is for
+ * the RemoteMemInfo and Start and Final Sync receive buffers.
*/
ep_attr = pt_ptr->ep_attr;
- if (ep_attr.max_recv_dtos < test_ptr->cmd->num_ops + 2) {
- ep_attr.max_recv_dtos = test_ptr->cmd->num_ops + 2;
+ if (ep_attr.max_recv_dtos < test_ptr->cmd->num_ops + 3) {
+ ep_attr.max_recv_dtos = test_ptr->cmd->num_ops + 3;
}
- if (ep_attr.max_request_dtos < test_ptr->cmd->num_ops + 2) {
- ep_attr.max_request_dtos = test_ptr->cmd->num_ops + 2;
+ if (ep_attr.max_request_dtos < test_ptr->cmd->num_ops + 3) {
+ ep_attr.max_request_dtos = test_ptr->cmd->num_ops + 3;
}
/* Create EP */
@@ -395,7 +401,7 @@ void DT_Transaction_Main(void *param)
*/
test_ptr->ep_context[i].bp = DT_BpoolAlloc(pt_ptr, phead, test_ptr->ia_handle, test_ptr->pz_handle, test_ptr->ep_context[i].ep_handle, DAT_HANDLE_NULL, /* rmr */
buff_size,
- 4,
+ 6,
DAT_OPTIMAL_ALIGNMENT,
false, false);
if (!test_ptr->ep_context[i].bp) {
@@ -418,15 +424,25 @@ void DT_Transaction_Main(void *param)
ep_context[i].
bp, 1)));
DT_Tdep_PT_Debug(3,
- (phead, "2: SYNC_SEND %p\n",
+ (phead, "2: INITIAL_SYNC_SEND %p\n",
(DAT_PVOID) DT_Bpool_GetBuffer(test_ptr->
ep_context[i].
bp, 2)));
DT_Tdep_PT_Debug(3,
- (phead, "3: SYNC_RECV %p\n",
+ (phead, "3: INITIAL_SYNC_RECV %p\n",
(DAT_PVOID) DT_Bpool_GetBuffer(test_ptr->
ep_context[i].
bp, 3)));
+ DT_Tdep_PT_Debug(3,
+ (phead, "4: FINAL_SYNC_SEND %p\n",
+ (DAT_PVOID) DT_Bpool_GetBuffer(test_ptr->
+ ep_context[i].
+ bp, 4)));
+ DT_Tdep_PT_Debug(3,
+ (phead, "5: FINAL_SYNC_RECV %p\n",
+ (DAT_PVOID) DT_Bpool_GetBuffer(test_ptr->
+ ep_context[i].
+ bp, 5)));
/*
* Post recv and sync buffers
@@ -1631,6 +1647,25 @@ DT_Transaction_Run(DT_Tdep_Print_Head * phead, Transaction_Test_t * test_ptr)
/* repost unless this is the last iteration */
repost_recv = (iteration + 1 != test_ptr->cmd->num_iterations);
+
+ /*
+ * If this is the last iteration, then post the Final Sync recv
+ * buffer. This makes the buffer available before both sides
+ * finish their last iteration.
+ */
+ if (!repost_recv) {
+
+ /* post the Final Sync recv buf. */
+ for (i = 0; i < test_ptr->cmd->eps_per_thread; i++) {
+ if (!DT_post_recv_buffer(phead,
+ test_ptr->ep_context[i].ep_handle,
+ test_ptr->ep_context[i].bp,
+ FINAL_SYNC_RECV_BUFFER_ID, SYNC_BUFF_SIZE)) {
+ /* error message printed by DT_post_recv_buffer */
+ goto bail;
+ }
+ }
+ }
for (op = 0; op < test_ptr->cmd->num_ops; op++) {
ours = (test_ptr->is_server ==
@@ -1795,6 +1830,126 @@ DT_Transaction_Run(DT_Tdep_Print_Head * phead, Transaction_Test_t * test_ptr)
} /* end loop for each op */
} /* end loop for iteration */
+ /*
+ * Final sync up to ensure all previous remote operations have
+ * finished.
+ */
+ if (test_ptr->is_server) {
+ /*
+ * Server
+ */
+ DT_Tdep_PT_Debug(1,
+ (phead,
+ "Test[" F64x "]: Send Final Sync to Client\n",
+ test_ptr->base_port));
+ for (i = 0; i < test_ptr->cmd->eps_per_thread; i++) {
+ if (!DT_post_send_buffer(phead,
+ test_ptr->ep_context[i].
+ ep_handle,
+ test_ptr->ep_context[i].bp,
+ FINAL_SYNC_SEND_BUFFER_ID,
+ SYNC_BUFF_SIZE)) {
+ DT_Tdep_PT_Debug(1,
+ (phead,
+ "Test[" F64x
+ "]: Server final sync send error\n",
+ test_ptr->base_port));
+ goto bail;
+ }
+ }
+ for (i = 0; i < test_ptr->cmd->eps_per_thread; i++) {
+ DAT_DTO_COMPLETION_EVENT_DATA dto_stat;
+
+ if (!DT_dto_event_wait(phead,
+ test_ptr->ep_context[i].
+ reqt_evd_hdl, &dto_stat)) {
+ DT_Tdep_PT_Debug(1,
+ (phead,
+ "Test[" F64x
+ "]: Server final sync send error\n",
+ test_ptr->base_port));
+
+ goto bail;
+ }
+ }
+
+ DT_Tdep_PT_Debug(1,
+ (phead,
+ "Test[" F64x "]: Wait for Final Sync Message\n",
+ test_ptr->base_port));
+ for (i = 0; i < test_ptr->cmd->eps_per_thread; i++) {
+ DAT_DTO_COMPLETION_EVENT_DATA dto_stat;
+
+ if (!DT_dto_event_wait(phead,
+ test_ptr->ep_context[i].
+ recv_evd_hdl, &dto_stat)) {
+ DT_Tdep_PT_Debug(1,
+ (phead,
+ "Test[" F64x
+ "]: Server final sync recv error\n",
+ test_ptr->base_port));
+ goto bail;
+ }
+ }
+ } else {
+
+ /*
+ * Client
+ */
+ DT_Tdep_PT_Debug(1,
+ (phead,
+ "Test[" F64x "]: Wait for Final Sync Message\n",
+ test_ptr->base_port));
+ DT_transaction_stats_reset_wait_count(phead,
+ &test_ptr->pt_ptr->
+ Client_Stats,
+ test_ptr->cmd->eps_per_thread);
+ for (i = 0; i < test_ptr->cmd->eps_per_thread; i++) {
+ DAT_DTO_COMPLETION_EVENT_DATA dto_stat;
+
+ if (!DT_dto_event_wait(phead,
+ test_ptr->ep_context[i].
+ recv_evd_hdl, &dto_stat)) {
+ DT_Tdep_PT_Debug(1,
+ (phead,
+ "Test[" F64x
+ "]: Client final sync recv error\n",
+ test_ptr->base_port));
+ goto bail;
+ }
+ DT_transaction_stats_set_ready(phead,
+ &test_ptr->pt_ptr->
+ Client_Stats);
+ }
+ DT_Tdep_PT_Debug(1,
+ (phead, "Test[" F64x "]: Send Final Sync Msg\n",
+ test_ptr->base_port));
+ for (i = 0; i < test_ptr->cmd->eps_per_thread; i++) {
+ if (!DT_post_send_buffer(phead,
+ test_ptr->ep_context[i].
+ ep_handle,
+ test_ptr->ep_context[i].bp,
+ FINAL_SYNC_SEND_BUFFER_ID,
+ SYNC_BUFF_SIZE)) {
+ DT_Tdep_PT_Debug(1,
+ (phead,
+ "Test[" F64x
+ "]: Client sync send error\n",
+ test_ptr->base_port));
+ goto bail;
+ }
+ }
+ for (i = 0; i < test_ptr->cmd->eps_per_thread; i++) {
+ DAT_DTO_COMPLETION_EVENT_DATA dto_stat;
+
+ if (!DT_dto_event_wait(phead,
+ test_ptr->ep_context[i].
+ reqt_evd_hdl, &dto_stat)) {
+ goto bail;
+ }
+ }
+ }
+
/* end time and print stats */
test_ptr->stats.end_time = DT_Mdep_GetTime();
if (!test_ptr->pt_ptr->local_is_server) {
diff --git a/test/dapltest/test/dapl_transaction_util.c b/test/dapltest/test/dapl_transaction_util.c
index ffe5d7d..14a14dd 100644
--- a/test/dapltest/test/dapl_transaction_util.c
+++ b/test/dapltest/test/dapl_transaction_util.c
@@ -30,6 +30,8 @@
#include "dapl_proto.h"
+#define DT_LOCAL_COMPLETION_VECTOR_SIZE 32
+
/* -----------------------------------------------------------
* Post a recv buffer on each of this thread's EPs.
*/
@@ -85,11 +87,19 @@ DT_handle_send_op(DT_Tdep_Print_Head * phead,
{
unsigned int i, j;
unsigned char *completion_reaped;
+ unsigned char lcomp[DT_LOCAL_COMPLETION_VECTOR_SIZE];
+ bool rc = false;
- completion_reaped = DT_Mdep_Malloc(num_eps * sizeof(unsigned char));
-
- if (!completion_reaped) {
- return false;
+ if (num_eps <= DT_LOCAL_COMPLETION_VECTOR_SIZE) {
+ completion_reaped = lcomp;
+ bzero((void *)completion_reaped,
+ sizeof(unsigned char) * num_eps);
+ }
+ else {
+ completion_reaped = DT_Mdep_Malloc(num_eps * sizeof(unsigned char));
+ if (!completion_reaped) {
+ return false;
+ }
}
for (i = 0; i < num_eps; i++) {
@@ -120,8 +130,7 @@ DT_handle_send_op(DT_Tdep_Print_Head * phead,
"Test Error: dat_ep_post_send failed: %s\n",
DT_RetToString(ret));
DT_Test_Error();
- DT_Mdep_Free(completion_reaped);
- return false;
+ goto xit;
}
}
@@ -130,13 +139,11 @@ DT_handle_send_op(DT_Tdep_Print_Head * phead,
if (op->reap_send_on_recv && !op->server_initiated) {
/* we will reap the send on the recv (Client SR) */
- DT_Mdep_Free(completion_reaped);
- return true;
+ rc = true;
+ goto xit;
}
}
- bzero((void *)completion_reaped, sizeof(unsigned char) * num_eps);
-
/* reap the send completion */
for (i = 0; i < num_eps; i++) {
Transaction_Test_Op_t *op;
@@ -146,8 +153,7 @@ DT_handle_send_op(DT_Tdep_Print_Head * phead,
if (!DT_dto_event_reap
(phead, ep_context[i].reqt_evd_hdl, poll, &dto_stat)) {
- DT_Mdep_Free(completion_reaped);
- return false;
+ goto xit;
}
epnum = dto_stat.user_cookie.as_64 >> 32;
@@ -160,8 +166,7 @@ DT_handle_send_op(DT_Tdep_Print_Head * phead,
dto_stat.user_cookie.as_64,
dto_stat.transfered_length);
DT_Test_Error();
- DT_Mdep_Free(completion_reaped);
- return false;
+ goto xit;
}
op = &ep_context[epnum].op[op_indx];
@@ -176,8 +181,7 @@ DT_handle_send_op(DT_Tdep_Print_Head * phead,
ep_context[epnum].ep_handle,
op->num_segs * op->seg_size,
dto_cookie, "Send")) {
- DT_Mdep_Free(completion_reaped);
- return false;
+ goto xit;
}
if (completion_reaped[epnum]) {
@@ -185,8 +189,7 @@ DT_handle_send_op(DT_Tdep_Print_Head * phead,
"Test Error: Send: Secondary completion seen for endpoint 0x%p (%d)\n",
ep_context[epnum].ep_handle, epnum);
DT_Test_Error();
- DT_Mdep_Free(completion_reaped);
- return (false);
+ goto xit;
}
completion_reaped[epnum] = 1;
}
@@ -197,13 +200,16 @@ DT_handle_send_op(DT_Tdep_Print_Head * phead,
"Test Error: Send: No completion seen for endpoint 0x%p (#%d)\n",
ep_context[i].ep_handle, i);
DT_Test_Error();
- DT_Mdep_Free(completion_reaped);
- return (false);
+ goto xit;
}
}
- DT_Mdep_Free(completion_reaped);
- return true;
+ rc = true;
+
+xit:
+ if (completion_reaped != lcomp)
+ DT_Mdep_Free(completion_reaped);
+ return rc;
}
/* -----------------------------------------------------------
@@ -220,21 +226,32 @@ DT_handle_recv_op(DT_Tdep_Print_Head * phead,
unsigned int i;
unsigned char *recv_completion_reaped;
unsigned char *send_completion_reaped;
-
- recv_completion_reaped = DT_Mdep_Malloc(num_eps);
- if (recv_completion_reaped == NULL) {
- return false;
+ unsigned char rcomp[DT_LOCAL_COMPLETION_VECTOR_SIZE];
+ unsigned char lcomp[DT_LOCAL_COMPLETION_VECTOR_SIZE];
+ bool rc = false;
+
+ if (num_eps <= DT_LOCAL_COMPLETION_VECTOR_SIZE ) {
+ recv_completion_reaped = rcomp;
+ send_completion_reaped = lcomp;
+ bzero((void *)recv_completion_reaped,
+ sizeof(unsigned char) * num_eps);
+ bzero((void *)send_completion_reaped,
+ sizeof(unsigned char) * num_eps);
}
+ else {
+ recv_completion_reaped = DT_Mdep_Malloc(num_eps);
+ if (recv_completion_reaped == NULL) {
+ return false;
+ }
- send_completion_reaped = DT_Mdep_Malloc(num_eps);
- if (send_completion_reaped == NULL) {
- DT_Mdep_Free(recv_completion_reaped);
- return false;
+ send_completion_reaped = DT_Mdep_Malloc(num_eps);
+ if (send_completion_reaped == NULL) {
+ DT_Mdep_Free(recv_completion_reaped);
+ return false;
+ }
}
/* Foreach EP, reap */
- bzero((void *)recv_completion_reaped, sizeof(unsigned char) * num_eps);
- bzero((void *)send_completion_reaped, sizeof(unsigned char) * num_eps);
for (i = 0; i < num_eps; i++) {
Transaction_Test_Op_t *op;
DAT_DTO_COMPLETION_EVENT_DATA dto_stat;
@@ -244,9 +261,7 @@ DT_handle_recv_op(DT_Tdep_Print_Head * phead,
/* First reap the recv DTO event */
if (!DT_dto_event_reap
(phead, ep_context[i].recv_evd_hdl, poll, &dto_stat)) {
- DT_Mdep_Free(recv_completion_reaped);
- DT_Mdep_Free(send_completion_reaped);
- return false;
+ goto xit;
}
epnum = dto_stat.user_cookie.as_64 >> 32;
@@ -259,9 +274,7 @@ DT_handle_recv_op(DT_Tdep_Print_Head * phead,
dto_stat.user_cookie.as_64,
dto_stat.transfered_length);
DT_Test_Error();
- DT_Mdep_Free(recv_completion_reaped);
- DT_Mdep_Free(send_completion_reaped);
- return false;
+ goto xit;
}
op = &ep_context[epnum].op[op_indx];
@@ -278,9 +291,7 @@ DT_handle_recv_op(DT_Tdep_Print_Head * phead,
DT_Tdep_PT_Printf(phead,
"Test Error: recv DTO problem\n");
DT_Test_Error();
- DT_Mdep_Free(recv_completion_reaped);
- DT_Mdep_Free(send_completion_reaped);
- return false;
+ goto xit;
}
if (recv_completion_reaped[epnum]) {
@@ -288,9 +299,7 @@ DT_handle_recv_op(DT_Tdep_Print_Head * phead,
"Test Error: Receive: Secondary completion seen for endpoint 0x%p (%d)\n",
ep_context[epnum].ep_handle, epnum);
DT_Test_Error();
- DT_Mdep_Free(recv_completion_reaped);
- DT_Mdep_Free(send_completion_reaped);
- return (false);
+ goto xit;
}
recv_completion_reaped[epnum] = 1;
@@ -306,17 +315,13 @@ DT_handle_recv_op(DT_Tdep_Print_Head * phead,
"Internal Error: reap_send_on_recv"
" but current op == #%d\n",
op_indx);
- DT_Mdep_Free(recv_completion_reaped);
- DT_Mdep_Free(send_completion_reaped);
- return false;
+ goto xit;
}
if (!DT_dto_event_reap
(phead, ep_context[i].reqt_evd_hdl, poll,
&dto_stat)) {
- DT_Mdep_Free(recv_completion_reaped);
- DT_Mdep_Free(send_completion_reaped);
- return false;
+ goto xit;
}
epnum = dto_stat.user_cookie.as_64 >> 32;
@@ -329,9 +334,7 @@ DT_handle_recv_op(DT_Tdep_Print_Head * phead,
dto_stat.user_cookie.as_64,
dto_stat.transfered_length);
DT_Test_Error();
- DT_Mdep_Free(recv_completion_reaped);
- DT_Mdep_Free(send_completion_reaped);
- return false;
+ goto xit;
}
/*
@@ -359,9 +362,7 @@ DT_handle_recv_op(DT_Tdep_Print_Head * phead,
DT_Tdep_PT_Printf(phead,
"Test Error: send DTO problem\n");
DT_Test_Error();
- DT_Mdep_Free(recv_completion_reaped);
- DT_Mdep_Free(send_completion_reaped);
- return false;
+ goto xit;
}
if (send_completion_reaped[epnum]) {
@@ -370,9 +371,7 @@ DT_handle_recv_op(DT_Tdep_Print_Head * phead,
ep_context[epnum].ep_handle,
epnum);
DT_Test_Error();
- DT_Mdep_Free(recv_completion_reaped);
- DT_Mdep_Free(send_completion_reaped);
- return (false);
+ goto xit;
}
send_completion_reaped[epnum] = 1;
}
@@ -384,9 +383,7 @@ DT_handle_recv_op(DT_Tdep_Print_Head * phead,
"Test Error: Receive: No completion seen for endpoint 0x%p (#%d)\n",
ep_context[i].ep_handle, i);
DT_Test_Error();
- DT_Mdep_Free(recv_completion_reaped);
- DT_Mdep_Free(send_completion_reaped);
- return (false);
+ goto xit;
}
}
@@ -398,9 +395,7 @@ DT_handle_recv_op(DT_Tdep_Print_Head * phead,
"Test Error: Send (ror): No completion seen for endpoint 0x%p (#%d)\n",
ep_context[i].ep_handle, i);
DT_Test_Error();
- DT_Mdep_Free(recv_completion_reaped);
- DT_Mdep_Free(send_completion_reaped);
- return (false);
+ goto xit;
}
}
}
@@ -412,15 +407,16 @@ DT_handle_recv_op(DT_Tdep_Print_Head * phead,
DT_Tdep_PT_Printf(phead,
"Test Error: recv re-post problem\n");
DT_Test_Error();
- DT_Mdep_Free(recv_completion_reaped);
- DT_Mdep_Free(send_completion_reaped);
- return false;
+ goto xit;
}
}
-
- DT_Mdep_Free(recv_completion_reaped);
- DT_Mdep_Free(send_completion_reaped);
- return true;
+ rc = true;
+xit:
+ if (send_completion_reaped != lcomp) {
+ DT_Mdep_Free(recv_completion_reaped);
+ DT_Mdep_Free(send_completion_reaped);
+ }
+ return rc;
}
/* -----------------------------------------------------------
@@ -435,11 +431,18 @@ DT_handle_rdma_op(DT_Tdep_Print_Head * phead,
unsigned int i, j;
DAT_RETURN ret;
unsigned char *completion_reaped;
+ unsigned char lcomp[DT_LOCAL_COMPLETION_VECTOR_SIZE];
+ bool rc = false;
- completion_reaped = DT_Mdep_Malloc(num_eps * sizeof(unsigned char));
-
- if (!completion_reaped) {
- return false;
+ if (num_eps <= DT_LOCAL_COMPLETION_VECTOR_SIZE) {
+ completion_reaped = lcomp;
+ bzero((void *)completion_reaped, sizeof(unsigned char) * num_eps);
+ }
+ else {
+ completion_reaped = DT_Mdep_Malloc(num_eps * sizeof(unsigned char));
+ if (!completion_reaped) {
+ return false;
+ }
}
/* Initiate the operation */
@@ -500,8 +503,7 @@ DT_handle_rdma_op(DT_Tdep_Print_Head * phead,
RDMA_WRITE ? "write" : "read"),
DT_RetToString(ret));
DT_Test_Error();
- DT_Mdep_Free(completion_reaped);
- return (false);
+ goto err;
} else {
DT_Tdep_PT_Debug(3, (phead,
"Done dat_ep_post_rdma_%s %s\n",
@@ -511,7 +513,6 @@ DT_handle_rdma_op(DT_Tdep_Print_Head * phead,
}
}
- bzero((void *)completion_reaped, sizeof(unsigned char) * num_eps);
/* Wait for it to happen */
for (i = 0; i < num_eps; i++) {
Transaction_Test_Op_t *op;
@@ -521,8 +522,7 @@ DT_handle_rdma_op(DT_Tdep_Print_Head * phead,
if (!DT_dto_event_reap
(phead, ep_context[i].reqt_evd_hdl, poll, &dto_stat)) {
- DT_Mdep_Free(completion_reaped);
- return (false);
+ goto err;
}
epnum = dto_stat.user_cookie.as_64 >> 32;
@@ -537,8 +537,7 @@ DT_handle_rdma_op(DT_Tdep_Print_Head * phead,
dto_stat.user_cookie.as_64,
dto_stat.transfered_length);
DT_Test_Error();
- DT_Mdep_Free(completion_reaped);
- return false;
+ goto err;
}
op = &ep_context[epnum].op[op_indx];
@@ -554,8 +553,7 @@ DT_handle_rdma_op(DT_Tdep_Print_Head * phead,
dto_cookie,
(opcode ==
RDMA_WRITE ? "RDMA/WR" : "RDMA/RD"))) {
- DT_Mdep_Free(completion_reaped);
- return (false);
+ goto err;
}
if (completion_reaped[epnum]) {
@@ -565,8 +563,7 @@ DT_handle_rdma_op(DT_Tdep_Print_Head * phead,
RDMA_WRITE ? "RDMA/WR" : "RDMA/RD",
ep_context[epnum].ep_handle, epnum);
DT_Test_Error();
- DT_Mdep_Free(completion_reaped);
- return (false);
+ goto err;
}
completion_reaped[epnum] = 1;
@@ -584,14 +581,17 @@ DT_handle_rdma_op(DT_Tdep_Print_Head * phead,
RDMA_WRITE ? "RDMA/WR" : "RDMA/RD",
ep_context[i].ep_handle, i);
DT_Test_Error();
- DT_Mdep_Free(completion_reaped);
- return (false);
+ goto err;
}
}
- DT_Mdep_Free(completion_reaped);
+ rc = true;
+
+err:
+ if (completion_reaped != lcomp)
+ DT_Mdep_Free(completion_reaped);
- return (true);
+ return rc;
}
/* -----------------------------------------------------------
diff --git a/test/dtest/Makefile.am b/test/dtest/Makefile.am
index a023c19..801d704 100755
--- a/test/dtest/Makefile.am
+++ b/test/dtest/Makefile.am
@@ -1,7 +1,10 @@
-bin_PROGRAMS = dtest
+bin_PROGRAMS = dtest dtestcm
dtest_SOURCES = dtest.c
dtest_CFLAGS = -g -Wall -D_GNU_SOURCE
+dtestcm_SOURCES = dtestcm.c
+dtestcm_CFLAGS = -g -Wall -D_GNU_SOURCE
+
if EXT_TYPE_IB
bin_PROGRAMS += dtestx
dtestx_SOURCES = dtestx.c
@@ -11,4 +14,5 @@ endif
INCLUDES = -I $(srcdir)/../../dat/include
dtest_LDADD = $(top_builddir)/dat/udat/libdat2.la
+dtestcm_LDADD = $(top_builddir)/dat/udat/libdat2.la
diff --git a/test/dtest/Makefile.in b/test/dtest/Makefile.in
index a96c11b..e3a77eb 100644
--- a/test/dtest/Makefile.in
+++ b/test/dtest/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,8 +17,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -32,7 +34,7 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-bin_PROGRAMS = dtest$(EXEEXT) $(am__EXEEXT_1)
+bin_PROGRAMS = dtest$(EXEEXT) dtestcm$(EXEEXT) $(am__EXEEXT_1)
@EXT_TYPE_IB_TRUE at am__append_1 = dtestx
subdir = test/dtest
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
@@ -43,9 +45,9 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
@EXT_TYPE_IB_TRUE at am__EXEEXT_1 = dtestx$(EXEEXT)
am__installdirs = "$(DESTDIR)$(bindir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS)
am_dtest_OBJECTS = dtest-dtest.$(OBJEXT)
dtest_OBJECTS = $(am_dtest_OBJECTS)
@@ -53,6 +55,12 @@ dtest_DEPENDENCIES = $(top_builddir)/dat/udat/libdat2.la
dtest_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(dtest_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
+am_dtestcm_OBJECTS = dtestcm-dtestcm.$(OBJEXT)
+dtestcm_OBJECTS = $(am_dtestcm_OBJECTS)
+dtestcm_DEPENDENCIES = $(top_builddir)/dat/udat/libdat2.la
+dtestcm_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(dtestcm_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
am__dtestx_SOURCES_DIST = dtestx.c
@EXT_TYPE_IB_TRUE at am_dtestx_OBJECTS = dtestx-dtestx.$(OBJEXT)
dtestx_OBJECTS = $(am_dtestx_OBJECTS)
@@ -64,6 +72,7 @@ dtestx_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -73,8 +82,9 @@ CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
-SOURCES = $(dtest_SOURCES) $(dtestx_SOURCES)
-DIST_SOURCES = $(dtest_SOURCES) $(am__dtestx_SOURCES_DIST)
+SOURCES = $(dtest_SOURCES) $(dtestcm_SOURCES) $(dtestx_SOURCES)
+DIST_SOURCES = $(dtest_SOURCES) $(dtestcm_SOURCES) \
+ $(am__dtestx_SOURCES_DIST)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -190,11 +200,14 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
dtest_SOURCES = dtest.c
dtest_CFLAGS = -g -Wall -D_GNU_SOURCE
+dtestcm_SOURCES = dtestcm.c
+dtestcm_CFLAGS = -g -Wall -D_GNU_SOURCE
@EXT_TYPE_IB_TRUE at dtestx_SOURCES = dtestx.c
@EXT_TYPE_IB_TRUE at dtestx_CFLAGS = -g -Wall -D_GNU_SOURCE -DDAT_EXTENSIONS
@EXT_TYPE_IB_TRUE at dtestx_LDADD = $(top_builddir)/dat/udat/libdat2.la
INCLUDES = -I $(srcdir)/../../dat/include
dtest_LDADD = $(top_builddir)/dat/udat/libdat2.la
+dtestcm_LDADD = $(top_builddir)/dat/udat/libdat2.la
all: all-am
.SUFFIXES:
@@ -208,9 +221,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/dtest/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu test/dtest/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/dtest/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign test/dtest/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -228,37 +241,56 @@ $(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
dtest$(EXEEXT): $(dtest_OBJECTS) $(dtest_DEPENDENCIES)
@rm -f dtest$(EXEEXT)
$(dtest_LINK) $(dtest_OBJECTS) $(dtest_LDADD) $(LIBS)
+dtestcm$(EXEEXT): $(dtestcm_OBJECTS) $(dtestcm_DEPENDENCIES)
+ @rm -f dtestcm$(EXEEXT)
+ $(dtestcm_LINK) $(dtestcm_OBJECTS) $(dtestcm_LDADD) $(LIBS)
dtestx$(EXEEXT): $(dtestx_OBJECTS) $(dtestx_DEPENDENCIES)
@rm -f dtestx$(EXEEXT)
$(dtestx_LINK) $(dtestx_OBJECTS) $(dtestx_LDADD) $(LIBS)
@@ -270,53 +302,68 @@ distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dtest-dtest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dtestcm-dtestcm.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dtestx-dtestx.Po at am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
dtest-dtest.o: dtest.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dtest_CFLAGS) $(CFLAGS) -MT dtest-dtest.o -MD -MP -MF $(DEPDIR)/dtest-dtest.Tpo -c -o dtest-dtest.o `test -f 'dtest.c' || echo '$(srcdir)/'`dtest.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dtest-dtest.Tpo $(DEPDIR)/dtest-dtest.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dtest-dtest.Tpo $(DEPDIR)/dtest-dtest.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dtest.c' object='dtest-dtest.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dtest_CFLAGS) $(CFLAGS) -c -o dtest-dtest.o `test -f 'dtest.c' || echo '$(srcdir)/'`dtest.c
dtest-dtest.obj: dtest.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dtest_CFLAGS) $(CFLAGS) -MT dtest-dtest.obj -MD -MP -MF $(DEPDIR)/dtest-dtest.Tpo -c -o dtest-dtest.obj `if test -f 'dtest.c'; then $(CYGPATH_W) 'dtest.c'; else $(CYGPATH_W) '$(srcdir)/dtest.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dtest-dtest.Tpo $(DEPDIR)/dtest-dtest.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dtest-dtest.Tpo $(DEPDIR)/dtest-dtest.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dtest.c' object='dtest-dtest.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dtest_CFLAGS) $(CFLAGS) -c -o dtest-dtest.obj `if test -f 'dtest.c'; then $(CYGPATH_W) 'dtest.c'; else $(CYGPATH_W) '$(srcdir)/dtest.c'; fi`
+dtestcm-dtestcm.o: dtestcm.c
+ at am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dtestcm_CFLAGS) $(CFLAGS) -MT dtestcm-dtestcm.o -MD -MP -MF $(DEPDIR)/dtestcm-dtestcm.Tpo -c -o dtestcm-dtestcm.o `test -f 'dtestcm.c' || echo '$(srcdir)/'`dtestcm.c
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dtestcm-dtestcm.Tpo $(DEPDIR)/dtestcm-dtestcm.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dtestcm.c' object='dtestcm-dtestcm.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dtestcm_CFLAGS) $(CFLAGS) -c -o dtestcm-dtestcm.o `test -f 'dtestcm.c' || echo '$(srcdir)/'`dtestcm.c
+
+dtestcm-dtestcm.obj: dtestcm.c
+ at am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dtestcm_CFLAGS) $(CFLAGS) -MT dtestcm-dtestcm.obj -MD -MP -MF $(DEPDIR)/dtestcm-dtestcm.Tpo -c -o dtestcm-dtestcm.obj `if test -f 'dtestcm.c'; then $(CYGPATH_W) 'dtestcm.c'; else $(CYGPATH_W) '$(srcdir)/dtestcm.c'; fi`
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dtestcm-dtestcm.Tpo $(DEPDIR)/dtestcm-dtestcm.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dtestcm.c' object='dtestcm-dtestcm.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dtestcm_CFLAGS) $(CFLAGS) -c -o dtestcm-dtestcm.obj `if test -f 'dtestcm.c'; then $(CYGPATH_W) 'dtestcm.c'; else $(CYGPATH_W) '$(srcdir)/dtestcm.c'; fi`
+
dtestx-dtestx.o: dtestx.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dtestx_CFLAGS) $(CFLAGS) -MT dtestx-dtestx.o -MD -MP -MF $(DEPDIR)/dtestx-dtestx.Tpo -c -o dtestx-dtestx.o `test -f 'dtestx.c' || echo '$(srcdir)/'`dtestx.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dtestx-dtestx.Tpo $(DEPDIR)/dtestx-dtestx.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dtestx-dtestx.Tpo $(DEPDIR)/dtestx-dtestx.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dtestx.c' object='dtestx-dtestx.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dtestx_CFLAGS) $(CFLAGS) -c -o dtestx-dtestx.o `test -f 'dtestx.c' || echo '$(srcdir)/'`dtestx.c
dtestx-dtestx.obj: dtestx.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dtestx_CFLAGS) $(CFLAGS) -MT dtestx-dtestx.obj -MD -MP -MF $(DEPDIR)/dtestx-dtestx.Tpo -c -o dtestx-dtestx.obj `if test -f 'dtestx.c'; then $(CYGPATH_W) 'dtestx.c'; else $(CYGPATH_W) '$(srcdir)/dtestx.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dtestx-dtestx.Tpo $(DEPDIR)/dtestx-dtestx.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dtestx-dtestx.Tpo $(DEPDIR)/dtestx-dtestx.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dtestx.c' object='dtestx-dtestx.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dtestx_CFLAGS) $(CFLAGS) -c -o dtestx-dtestx.obj `if test -f 'dtestx.c'; then $(CYGPATH_W) 'dtestx.c'; else $(CYGPATH_W) '$(srcdir)/dtestx.c'; fi`
@@ -339,7 +386,7 @@ tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -347,29 +394,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -390,13 +442,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -427,6 +483,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -447,6 +504,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -455,18 +514,28 @@ install-data-am:
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am: install-binPROGRAMS
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -505,6 +574,7 @@ uninstall-am: uninstall-binPROGRAMS
pdf pdf-am ps ps-am tags uninstall uninstall-am \
uninstall-binPROGRAMS
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/test/dtest/dtest.c b/test/dtest/dtest.c
index 6ff7798..8f4c80f 100755
--- a/test/dtest/dtest.c
+++ b/test/dtest/dtest.c
@@ -76,6 +76,7 @@
#include <getopt.h>
#include <inttypes.h>
#include <unistd.h>
+#include <stdlib.h>
#define DAPL_PROVIDER "ofa-v2-ib0"
@@ -99,13 +100,14 @@
#define MAX_PROCS 1000
/* Header files needed for DAT/uDAPL */
-#include "dat2/udat.h"
+#include "dat2/udat.h"
/* definitions */
#define SERVER_CONN_QUAL 45248
#define DTO_TIMEOUT (1000*1000*5)
+#define CNO_TIMEOUT (1000*1000*1)
#define DTO_FLUSH_TIMEOUT (1000*1000*2)
-#define CONN_TIMEOUT (1000*1000*10)
+#define CONN_TIMEOUT (1000*1000*100)
#define SERVER_TIMEOUT DAT_TIMEOUT_INFINITE
#define RDMA_BUFFER_SIZE (64)
@@ -183,9 +185,10 @@ struct dt_time {
double rdma_rd_total;
double rtt;
double close;
+ double conn;
};
-struct dt_time time;
+struct dt_time ts;
/* defaults */
static int failed = 0;
@@ -197,6 +200,7 @@ static int verbose = 0;
static int polling = 0;
static int poll_count = 0;
static int rdma_wr_poll_count = 0;
+static int conn_poll_count = 0;
static int rdma_rd_poll_count[MAX_RDMA_RD] = { 0 };
static int delay = 0;
static int buf_len = RDMA_BUFFER_SIZE;
@@ -204,10 +208,12 @@ static int use_cno = 0;
static int recv_msg_index = 0;
static int burst_msg_posted = 0;
static int burst_msg_index = 0;
+static int ucm = 0;
+static DAT_SOCK_ADDR6 remote;
/* forward prototypes */
-const char *DT_RetToString(DAT_RETURN ret_value);
-const char *DT_EventToSTr(DAT_EVENT_NUMBER event_code);
+const char *DT_RetToStr(DAT_RETURN ret_value);
+const char *DT_EventToStr(DAT_EVENT_NUMBER event_code);
void print_usage(void);
double get_time(void);
void init_data(void);
@@ -260,14 +266,82 @@ void flush_evds(void)
}
}
+
+static inline DAT_RETURN
+collect_event(DAT_EVD_HANDLE dto_evd,
+ DAT_EVENT *event,
+ DAT_TIMEOUT timeout,
+ int *counter)
+{
+ DAT_EVD_HANDLE evd = DAT_HANDLE_NULL;
+ DAT_COUNT nmore;
+ DAT_RETURN ret = DAT_SUCCESS;
+
+ if (use_cno) {
+retry:
+ /* CNO wait could return EVD's in any order and
+ * may drop some EVD notification's if already
+ * triggered. Once woken, simply dequeue the
+ * Evd the caller wants to collect and return.
+ * If notification without EVD, retry.
+ */
+ ret = dat_cno_wait(h_dto_cno, CNO_TIMEOUT, &evd);
+ if (dat_evd_dequeue(dto_evd, event) != DAT_SUCCESS) {
+ if (ret == DAT_SUCCESS)
+ printf(" WARNING: CNO notification:"
+ " without EVD?\n");
+ goto retry;
+ }
+ ret = DAT_SUCCESS; /* cno timed out, but EVD dequeued */
+
+ } else if (!polling) {
+
+ /* use wait to dequeue */
+ ret = dat_evd_wait(dto_evd, timeout, 1, event, &nmore);
+ if (ret != DAT_SUCCESS)
+ fprintf(stderr,
+ "Error waiting on h_dto_evd %p: %s\n",
+ dto_evd, DT_RetToStr(ret));
+
+ } else {
+ while (dat_evd_dequeue(dto_evd, event) == DAT_QUEUE_EMPTY)
+ if (counter)
+ (*counter)++;
+ }
+ return (ret);
+}
+
+static void print_ia_address(struct sockaddr *sa)
+{
+ char str[INET6_ADDRSTRLEN] = {" ??? "};
+
+ switch(sa->sa_family) {
+ case AF_INET:
+ inet_ntop(AF_INET, &((struct sockaddr_in *)sa)->sin_addr, str, INET6_ADDRSTRLEN);
+ printf("%d Local Address AF_INET - %s port %d\n", getpid(), str, SERVER_CONN_QUAL);
+ break;
+ case AF_INET6:
+ inet_ntop(AF_INET6, &((struct sockaddr_in6 *)sa)->sin6_addr, str, INET6_ADDRSTRLEN);
+ printf("%d Local Address AF_INET6 - %s flowinfo(QPN)=0x%x, port(LID)=0x%x\n",
+ getpid(), str,
+ ntohl(((struct sockaddr_in6 *)sa)->sin6_flowinfo),
+ ntohs(((struct sockaddr_in6 *)sa)->sin6_port));
+ break;
+ default:
+ printf("%d Local Address UNKOWN FAMILY - port %d\n", getpid(), SERVER_CONN_QUAL);
+ }
+}
+
int main(int argc, char **argv)
{
int i, c;
DAT_RETURN ret;
DAT_EP_PARAM ep_param;
+ DAT_IA_ATTR ia_attr;
+ DAT_PROVIDER_ATTR pr_attr;
/* parse arguments */
- while ((c = getopt(argc, argv, "tscvpb:d:B:h:P:")) != -1) {
+ while ((c = getopt(argc, argv, "tscvpq:l:b:d:B:h:P:")) != -1) {
switch (c) {
case 't':
performance_times = 1;
@@ -292,6 +366,20 @@ int main(int argc, char **argv)
printf("%d Polling\n", getpid());
fflush(stdout);
break;
+ case 'q':
+ /* map UCM qpn into AF_INET6 sin6_flowinfo */
+ remote.sin6_family = AF_INET6;
+ remote.sin6_flowinfo = htonl(strtol(optarg,NULL,0));
+ ucm = 1;
+ server = 0;
+ break;
+ case 'l':
+ /* map UCM lid into AF_INET6 sin6_port */
+ remote.sin6_family = AF_INET6;
+ remote.sin6_port = htons(strtol(optarg,NULL,0));
+ ucm = 1;
+ server = 0;
+ break;
case 'B':
burst = atoi(optarg);
break;
@@ -341,7 +429,7 @@ int main(int argc, char **argv)
perror("malloc");
exit(1);
}
- memset(&time, 0, sizeof(struct dt_time));
+ memset(&ts, 0, sizeof(struct dt_time));
LOGPRINTF("%d Allocated RDMA buffers (r:%p,s:%p) len %d \n",
getpid(), rbuf, sbuf, buf_len);
@@ -350,23 +438,42 @@ int main(int argc, char **argv)
start = get_time();
ret = dat_ia_open(provider, 8, &h_async_evd, &h_ia);
stop = get_time();
- time.open += ((stop - start) * 1.0e6);
+ ts.open += ((stop - start) * 1.0e6);
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d: Error Adaptor open: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
exit(1);
} else
LOGPRINTF("%d Opened Interface Adaptor\n", getpid());
+ ret = dat_ia_query(h_ia, 0,
+ DAT_IA_FIELD_ALL, &ia_attr,
+ DAT_PROVIDER_FIELD_PROVIDER_SPECIFIC_ATTR,
+ &pr_attr);
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, "%d: Error Adaptor query: %s\n",
+ getpid(), DT_RetToStr(ret));
+ exit(1);
+ }
+ print_ia_address(ia_attr.ia_address_ptr);
+
+ /* Provider specific attributes */
+ for (i=0; i<pr_attr.num_provider_specific_attr; i++) {
+ LOGPRINTF("%d Provider_attr[%d] %s = %s \n",
+ getpid(), i,
+ pr_attr.provider_specific_attr[i].name,
+ pr_attr.provider_specific_attr[i].value);
+ }
+
/* Create Protection Zone */
start = get_time();
LOGPRINTF("%d Create Protection Zone\n", getpid());
ret = dat_pz_create(h_ia, &h_pz);
stop = get_time();
- time.pzc += ((stop - start) * 1.0e6);
+ ts.pzc += ((stop - start) * 1.0e6);
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error creating Protection Zone: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
exit(1);
} else
LOGPRINTF("%d Created Protection Zone\n", getpid());
@@ -376,7 +483,7 @@ int main(int argc, char **argv)
ret = register_rdma_memory();
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error registering RDMA memory: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
goto cleanup;
} else
LOGPRINTF("%d Register RDMA memory done\n", getpid());
@@ -385,7 +492,7 @@ int main(int argc, char **argv)
ret = create_events();
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error creating events: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
goto cleanup;
} else {
LOGPRINTF("%d Create events done\n", getpid());
@@ -413,11 +520,11 @@ int main(int argc, char **argv)
ret = dat_ep_create(h_ia, h_pz, h_dto_rcv_evd,
h_dto_req_evd, h_conn_evd, &ep_attr, &h_ep);
stop = get_time();
- time.epc += ((stop - start) * 1.0e6);
- time.total += time.epc;
+ ts.epc += ((stop - start) * 1.0e6);
+ ts.total += ts.epc;
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error dat_ep_create: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
goto cleanup;
} else
LOGPRINTF("%d EP created %p \n", getpid(), h_ep);
@@ -429,7 +536,7 @@ int main(int argc, char **argv)
ret = connect_ep(hostname, SERVER_CONN_QUAL);
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error connect_ep: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
goto cleanup;
} else
LOGPRINTF("%d connect_ep complete\n", getpid());
@@ -438,7 +545,7 @@ int main(int argc, char **argv)
ret = dat_ep_query(h_ep, DAT_EP_FIELD_ALL, &ep_param);
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error dat_ep_query: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
goto cleanup;
} else
LOGPRINTF("%d EP queried %p \n", getpid(), h_ep);
@@ -481,7 +588,7 @@ int main(int argc, char **argv)
ret = do_rdma_write_with_msg();
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error do_rdma_write_with_msg: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
goto cleanup;
} else
LOGPRINTF("%d do_rdma_write_with_msg complete\n", getpid());
@@ -490,7 +597,7 @@ int main(int argc, char **argv)
ret = do_rdma_read_with_msg();
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error do_rdma_read_with_msg: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
goto cleanup;
} else
LOGPRINTF("%d do_rdma_read_with_msg complete\n", getpid());
@@ -499,7 +606,7 @@ int main(int argc, char **argv)
ret = do_ping_pong_msg();
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error do_ping_pong_msg: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
goto cleanup;
} else {
LOGPRINTF("%d do_ping_pong_msg complete\n", getpid());
@@ -522,11 +629,11 @@ complete:
start = get_time();
ret = dat_ep_free(h_ep);
stop = get_time();
- time.epf += ((stop - start) * 1.0e6);
- time.total += time.epf;
+ ts.epf += ((stop - start) * 1.0e6);
+ ts.total += ts.epf;
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error freeing EP: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
} else {
LOGPRINTF("%d Freed EP\n", getpid());
h_ep = DAT_HANDLE_NULL;
@@ -538,7 +645,7 @@ complete:
ret = destroy_events();
if (ret != DAT_SUCCESS)
fprintf(stderr, "%d Error destroy_events: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
else
LOGPRINTF("%d destroy events done\n", getpid());
@@ -546,7 +653,7 @@ complete:
LOGPRINTF("%d unregister_rdma_memory \n", getpid());
if (ret != DAT_SUCCESS)
fprintf(stderr, "%d Error unregister_rdma_memory: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
else
LOGPRINTF("%d unregister_rdma_memory done\n", getpid());
@@ -555,10 +662,10 @@ complete:
start = get_time();
ret = dat_pz_free(h_pz);
stop = get_time();
- time.pzf += ((stop - start) * 1.0e6);
+ ts.pzf += ((stop - start) * 1.0e6);
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error freeing PZ: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
} else {
LOGPRINTF("%d Freed pz\n", getpid());
h_pz = NULL;
@@ -569,10 +676,10 @@ complete:
start = get_time();
ret = dat_ia_close(h_ia, DAT_CLOSE_ABRUPT_FLAG);
stop = get_time();
- time.close += ((stop - start) * 1.0e6);
+ ts.close += ((stop - start) * 1.0e6);
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d: Error Adaptor close: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
} else
LOGPRINTF("%d Closed Interface Adaptor\n", getpid());
@@ -592,32 +699,35 @@ complete:
printf("\n%d: DAPL Test Complete.\n\n", getpid());
printf("%d: Message RTT: Total=%10.2lf usec, %d bursts, itime=%10.2lf"
" usec, pc=%d\n",
- getpid(), time.rtt, burst, time.rtt / burst, poll_count);
+ getpid(), ts.rtt, burst, ts.rtt / burst, poll_count);
printf("%d: RDMA write: Total=%10.2lf usec, %d bursts, itime=%10.2lf"
" usec, pc=%d\n",
- getpid(), time.rdma_wr, burst,
- time.rdma_wr / burst, rdma_wr_poll_count);
+ getpid(), ts.rdma_wr, burst,
+ ts.rdma_wr / burst, rdma_wr_poll_count);
for (i = 0; i < MAX_RDMA_RD; i++) {
printf("%d: RDMA read: Total=%10.2lf usec, %d bursts, "
"itime=%10.2lf usec, pc=%d\n",
- getpid(), time.rdma_rd_total, MAX_RDMA_RD,
- time.rdma_rd[i], rdma_rd_poll_count[i]);
+ getpid(), ts.rdma_rd_total, MAX_RDMA_RD,
+ ts.rdma_rd[i], rdma_rd_poll_count[i]);
}
- printf("%d: open: %10.2lf usec\n", getpid(), time.open);
- printf("%d: close: %10.2lf usec\n", getpid(), time.close);
- printf("%d: PZ create: %10.2lf usec\n", getpid(), time.pzc);
- printf("%d: PZ free: %10.2lf usec\n", getpid(), time.pzf);
- printf("%d: LMR create:%10.2lf usec\n", getpid(), time.reg);
- printf("%d: LMR free: %10.2lf usec\n", getpid(), time.unreg);
- printf("%d: EVD create:%10.2lf usec\n", getpid(), time.evdc);
- printf("%d: EVD free: %10.2lf usec\n", getpid(), time.evdf);
+ printf("%d: open: %10.2lf usec\n", getpid(), ts.open);
+ printf("%d: close: %10.2lf usec\n", getpid(), ts.close);
+ printf("%d: PZ create: %10.2lf usec\n", getpid(), ts.pzc);
+ printf("%d: PZ free: %10.2lf usec\n", getpid(), ts.pzf);
+ printf("%d: LMR create:%10.2lf usec\n", getpid(), ts.reg);
+ printf("%d: LMR free: %10.2lf usec\n", getpid(), ts.unreg);
+ printf("%d: EVD create:%10.2lf usec\n", getpid(), ts.evdc);
+ printf("%d: EVD free: %10.2lf usec\n", getpid(), ts.evdf);
if (use_cno) {
- printf("%d: CNO create: %10.2lf usec\n", getpid(), time.cnoc);
- printf("%d: CNO free: %10.2lf usec\n", getpid(), time.cnof);
+ printf("%d: CNO create: %10.2lf usec\n", getpid(), ts.cnoc);
+ printf("%d: CNO free: %10.2lf usec\n", getpid(), ts.cnof);
}
- printf("%d: EP create: %10.2lf usec\n", getpid(), time.epc);
- printf("%d: EP free: %10.2lf usec\n", getpid(), time.epf);
- printf("%d: TOTAL: %10.2lf usec\n", getpid(), time.total);
+ printf("%d: EP create: %10.2lf usec\n", getpid(), ts.epc);
+ printf("%d: EP free: %10.2lf usec\n", getpid(), ts.epf);
+ if (!server)
+ printf("%d: connect: %10.2lf usec, poll_cnt=%d\n",
+ getpid(), ts.conn, conn_poll_count);
+ printf("%d: TOTAL: %10.2lf usec\n", getpid(), ts.total);
#if defined(_WIN32) || defined(_WIN64)
WSACleanup();
@@ -625,19 +735,6 @@ complete:
return (0);
}
-#if defined(_WIN32) || defined(_WIN64)
-
-void gettimeofday(struct timeval *t, char *jnk)
-{
- SYSTEMTIME now;
- GetLocalTime(&now);
- t->tv_sec = now.wMinute * 60;
- t->tv_sec += now.wSecond;
- t->tv_usec = now.wMilliseconds;
-}
-
-#endif
-
double get_time(void)
{
struct timeval tp;
@@ -660,7 +757,6 @@ send_msg(void *data,
{
DAT_LMR_TRIPLET iov;
DAT_EVENT event;
- DAT_COUNT nmore;
DAT_RETURN ret;
iov.lmr_context = context;
@@ -677,48 +773,23 @@ send_msg(void *data,
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d: ERROR: dat_ep_post_send() %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return ret;
}
if (!(flags & DAT_COMPLETION_SUPPRESS_FLAG)) {
- if (polling) {
- printf("%d Polling post send completion...\n",
- getpid());
- while (dat_evd_dequeue(h_dto_req_evd, &event) ==
- DAT_QUEUE_EMPTY) ;
- } else {
- LOGPRINTF("%d waiting for post_send completion event\n",
- getpid());
- if (use_cno) {
- DAT_EVD_HANDLE evd = DAT_HANDLE_NULL;
- ret =
- dat_cno_wait(h_dto_cno, DTO_TIMEOUT, &evd);
- LOGPRINTF("%d cno wait return evd_handle=%p\n",
- getpid(), evd);
- if (evd != h_dto_req_evd) {
- fprintf(stderr,
- "%d Error waiting on h_dto_cno: evd != h_dto_req_evd\n",
- getpid());
- return (DAT_ABORT);
- }
- }
- /* use wait to dequeue */
- ret =
- dat_evd_wait(h_dto_req_evd, DTO_TIMEOUT, 1, &event,
- &nmore);
- if (ret != DAT_SUCCESS) {
- fprintf(stderr,
- "%d: ERROR: DTO dat_evd_wait() %s\n",
- getpid(), DT_RetToString(ret));
- return ret;
- }
- }
+
+ if (collect_event(h_dto_req_evd,
+ &event,
+ DTO_TIMEOUT,
+ &poll_count) != DAT_SUCCESS)
+ return (DAT_ABORT);
/* validate event number, len, cookie, and status */
if (event.event_number != DAT_DTO_COMPLETION_EVENT) {
fprintf(stderr, "%d: ERROR: DTO event number %s\n",
- getpid(), DT_EventToSTr(event.event_number));
+ getpid(),
+ DT_EventToStr(event.event_number));
return (DAT_ABORT);
}
@@ -739,7 +810,7 @@ send_msg(void *data,
if (event.event_data.dto_completion_event_data.status !=
DAT_SUCCESS) {
fprintf(stderr, "%d: ERROR: DTO event status %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (DAT_ABORT);
}
}
@@ -749,7 +820,7 @@ send_msg(void *data,
DAT_RETURN connect_ep(char *hostname, DAT_CONN_QUAL conn_id)
{
- DAT_SOCK_ADDR remote_addr;
+ DAT_IA_ADDRESS_PTR remote_addr = (DAT_IA_ADDRESS_PTR)&remote;
DAT_RETURN ret;
DAT_REGION_DESCRIPTION region;
DAT_EVENT event;
@@ -781,7 +852,7 @@ DAT_RETURN connect_ep(char *hostname, DAT_CONN_QUAL conn_id)
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error registering send msg buffer: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else
LOGPRINTF("%d Registered send Message Buffer %p \n",
@@ -805,7 +876,7 @@ DAT_RETURN connect_ep(char *hostname, DAT_CONN_QUAL conn_id)
®istered_addr_recv_msg);
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error registering recv msg buffer: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else
LOGPRINTF("%d Registered Receive Message Buffer %p\n",
@@ -832,7 +903,7 @@ DAT_RETURN connect_ep(char *hostname, DAT_CONN_QUAL conn_id)
if (ret != DAT_SUCCESS) {
fprintf(stderr,
"%d Error registering recv msg buffer: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else
LOGPRINTF("%d Registered Receive Message Buffer %p\n",
@@ -843,6 +914,9 @@ DAT_RETURN connect_ep(char *hostname, DAT_CONN_QUAL conn_id)
/* setup receive rdma buffer to initial string to be overwritten */
strcpy((char *)rbuf, "blah, blah, blah\n");
+ /* clear event structure */
+ memset(&event, 0, sizeof(DAT_EVENT));
+
if (server) { /* SERVER */
/* create the service point for server listen */
@@ -852,7 +926,7 @@ DAT_RETURN connect_ep(char *hostname, DAT_CONN_QUAL conn_id)
h_cr_evd, DAT_PSP_CONSUMER_FLAG, &h_psp);
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error dat_psp_create: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else
LOGPRINTF("%d dat_psp_created for server listen\n",
@@ -864,7 +938,7 @@ DAT_RETURN connect_ep(char *hostname, DAT_CONN_QUAL conn_id)
ret = dat_evd_wait(h_cr_evd, SERVER_TIMEOUT, 1, &event, &nmore);
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error dat_evd_wait: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else
LOGPRINTF("%d dat_evd_wait for cr_evd completed\n",
@@ -872,7 +946,8 @@ DAT_RETURN connect_ep(char *hostname, DAT_CONN_QUAL conn_id)
if (event.event_number != DAT_CONNECTION_REQUEST_EVENT) {
fprintf(stderr, "%d Error unexpected cr event : %s\n",
- getpid(), DT_EventToSTr(event.event_number));
+ getpid(),
+ DT_EventToStr(event.event_number));
return (DAT_ABORT);
}
if ((event.event_data.cr_arrival_event_data.conn_qual !=
@@ -880,7 +955,8 @@ DAT_RETURN connect_ep(char *hostname, DAT_CONN_QUAL conn_id)
|| (event.event_data.cr_arrival_event_data.sp_handle.
psp_handle != h_psp)) {
fprintf(stderr, "%d Error wrong cr event data : %s\n",
- getpid(), DT_EventToSTr(event.event_number));
+ getpid(),
+ DT_EventToStr(event.event_number));
return (DAT_ABORT);
}
@@ -928,7 +1004,7 @@ DAT_RETURN connect_ep(char *hostname, DAT_CONN_QUAL conn_id)
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error dat_cr_accept: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else
LOGPRINTF("%d dat_cr_accept completed\n", getpid());
@@ -936,6 +1012,9 @@ DAT_RETURN connect_ep(char *hostname, DAT_CONN_QUAL conn_id)
struct addrinfo *target;
int rval;
+ if (ucm)
+ goto no_resolution;
+
#if defined(_WIN32) || defined(_WIN64)
if ((rval = getaddrinfo(hostname, "ftp", NULL, &target)) != 0) {
printf("\n remote name resolution failed! %s\n",
@@ -955,15 +1034,15 @@ DAT_RETURN connect_ep(char *hostname, DAT_CONN_QUAL conn_id)
getpid(), (rval >> 0) & 0xff, (rval >> 8) & 0xff,
(rval >> 16) & 0xff, (rval >> 24) & 0xff, conn_id);
- remote_addr = *((DAT_IA_ADDRESS_PTR) target->ai_addr);
- freeaddrinfo(target);
-
+ remote_addr = (DAT_IA_ADDRESS_PTR)target->ai_addr; /* IP */
+no_resolution:
for (i = 0; i < 48; i++) /* simple pattern in private data */
pdata[i] = i + 1;
LOGPRINTF("%d Connecting to server\n", getpid());
+ start = get_time();
ret = dat_ep_connect(h_ep,
- &remote_addr,
+ remote_addr,
conn_id,
CONN_TIMEOUT,
48,
@@ -971,27 +1050,34 @@ DAT_RETURN connect_ep(char *hostname, DAT_CONN_QUAL conn_id)
0, DAT_CONNECT_DEFAULT_FLAG);
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error dat_ep_connect: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else
LOGPRINTF("%d dat_ep_connect completed\n", getpid());
+
+ if (!ucm)
+ freeaddrinfo(target);
}
printf("%d Waiting for connect response\n", getpid());
- ret = dat_evd_wait(h_conn_evd, DAT_TIMEOUT_INFINITE, 1, &event, &nmore);
- if (ret != DAT_SUCCESS) {
- fprintf(stderr, "%d Error dat_evd_wait: %s\n",
- getpid(), DT_RetToString(ret));
- return (ret);
- } else
- LOGPRINTF("%d dat_evd_wait for h_conn_evd completed\n",
- getpid());
+ if (polling)
+ while (DAT_GET_TYPE(dat_evd_dequeue(h_conn_evd, &event)) ==
+ DAT_QUEUE_EMPTY)
+ conn_poll_count++;
+ else
+ ret = dat_evd_wait(h_conn_evd, DAT_TIMEOUT_INFINITE,
+ 1, &event, &nmore);
+
+ if (!server) {
+ stop = get_time();
+ ts.conn += ((stop - start) * 1.0e6);
+ }
#ifdef TEST_REJECT_WITH_PRIVATE_DATA
if (event.event_number != DAT_CONNECTION_EVENT_PEER_REJECTED) {
fprintf(stderr, "%d expected conn reject event : %s\n",
- getpid(), DT_EventToSTr(event.event_number));
+ getpid(), DT_EventToStr(event.event_number));
return (DAT_ABORT);
}
/* get the reject private data and validate */
@@ -1012,8 +1098,9 @@ DAT_RETURN connect_ep(char *hostname, DAT_CONN_QUAL conn_id)
#endif
if (event.event_number != DAT_CONNECTION_EVENT_ESTABLISHED) {
- fprintf(stderr, "%d Error unexpected conn event : %s\n",
- getpid(), DT_EventToSTr(event.event_number));
+ fprintf(stderr, "%d Error unexpected conn event : 0x%x %s\n",
+ getpid(), event.event_number,
+ DT_EventToStr(event.event_number));
return (DAT_ABORT);
}
@@ -1064,7 +1151,7 @@ DAT_RETURN connect_ep(char *hostname, DAT_CONN_QUAL conn_id)
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error send_msg: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else
LOGPRINTF("%d send_msg completed\n", getpid());
@@ -1072,43 +1159,17 @@ DAT_RETURN connect_ep(char *hostname, DAT_CONN_QUAL conn_id)
/*
* Wait for remote RMR information for RDMA
*/
- if (polling) {
- printf("%d Polling for remote to send RMR data\n", getpid());
- while (dat_evd_dequeue(h_dto_rcv_evd, &event) ==
- DAT_QUEUE_EMPTY) ;
- } else {
- printf("%d Waiting for remote to send RMR data\n", getpid());
- if (use_cno) {
- DAT_EVD_HANDLE evd = DAT_HANDLE_NULL;
- ret = dat_cno_wait(h_dto_cno, DTO_TIMEOUT, &evd);
- LOGPRINTF("%d cno wait return evd_handle=%p\n",
- getpid(), evd);
- if (evd != h_dto_rcv_evd) {
- fprintf(stderr,
- "%d Error waiting on h_dto_cno: evd != h_dto_rcv_evd\n",
- getpid());
- return (DAT_ABORT);
- }
- }
- /* use wait to dequeue */
- ret =
- dat_evd_wait(h_dto_rcv_evd, DTO_TIMEOUT, 1, &event, &nmore);
- if (ret != DAT_SUCCESS) {
- fprintf(stderr,
- "%d Error waiting on h_dto_rcv_evd: %s\n",
- getpid(), DT_RetToString(ret));
- return (ret);
- } else {
- LOGPRINTF("%d dat_evd_wait h_dto_rcv_evd completed\n",
- getpid());
- }
- }
-
+ if (collect_event(h_dto_rcv_evd,
+ &event,
+ DTO_TIMEOUT,
+ &poll_count) != DAT_SUCCESS)
+ return (DAT_ABORT);
+
printf("%d remote RMR data arrived!\n", getpid());
if (event.event_number != DAT_DTO_COMPLETION_EVENT) {
fprintf(stderr, "%d Error unexpected DTO event : %s\n",
- getpid(), DT_EventToSTr(event.event_number));
+ getpid(), DT_EventToStr(event.event_number));
return (DAT_ABORT);
}
if ((event.event_data.dto_completion_event_data.transfered_length !=
@@ -1163,7 +1224,7 @@ void disconnect_ep(void)
if (ret != DAT_SUCCESS) {
fprintf(stderr,
"%d Error dat_ep_disconnect: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
} else {
LOGPRINTF("%d dat_ep_disconnect completed\n",
getpid());
@@ -1178,7 +1239,7 @@ void disconnect_ep(void)
&nmore);
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error dat_evd_wait: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
} else {
LOGPRINTF("%d dat_evd_wait for h_conn_evd completed\n",
getpid());
@@ -1190,7 +1251,7 @@ void disconnect_ep(void)
ret = dat_psp_free(h_psp);
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error dat_psp_free: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
} else {
LOGPRINTF("%d dat_psp_free completed\n", getpid());
}
@@ -1204,7 +1265,7 @@ void disconnect_ep(void)
if (ret != DAT_SUCCESS) {
fprintf(stderr,
"%d Error deregistering send msg mr: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
} else {
LOGPRINTF("%d Unregistered send message Buffer\n",
getpid());
@@ -1220,7 +1281,7 @@ void disconnect_ep(void)
if (ret != DAT_SUCCESS) {
fprintf(stderr,
"%d Error deregistering recv msg mr: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
} else {
LOGPRINTF("%d Unregistered recv message Buffer\n",
getpid());
@@ -1233,7 +1294,6 @@ void disconnect_ep(void)
DAT_RETURN do_rdma_write_with_msg(void)
{
DAT_EVENT event;
- DAT_COUNT nmore;
DAT_LMR_TRIPLET l_iov[MSG_IOV_COUNT];
DAT_RMR_TRIPLET r_iov;
DAT_DTO_COOKIE cookie;
@@ -1278,7 +1338,7 @@ DAT_RETURN do_rdma_write_with_msg(void)
if (ret != DAT_SUCCESS) {
fprintf(stderr,
"%d: ERROR: dat_ep_post_rdma_write() %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (DAT_ABORT);
}
LOGPRINTF("%d rdma_write # %d completed\n", getpid(), i + 1);
@@ -1297,50 +1357,27 @@ DAT_RETURN do_rdma_write_with_msg(void)
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error send_msg: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else {
LOGPRINTF("%d send_msg completed\n", getpid());
}
- /*
- * Collect first event, write completion or the inbound recv
- */
- if (polling) {
- while (dat_evd_dequeue(h_dto_rcv_evd, &event) ==
- DAT_QUEUE_EMPTY)
- rdma_wr_poll_count++;
- } else {
- LOGPRINTF("%d waiting for message receive event\n", getpid());
- if (use_cno) {
- DAT_EVD_HANDLE evd = DAT_HANDLE_NULL;
- ret = dat_cno_wait(h_dto_cno, DTO_TIMEOUT, &evd);
- LOGPRINTF("%d cno wait return evd_handle=%p\n",
- getpid(), evd);
- if (evd != h_dto_rcv_evd) {
- fprintf(stderr,
- "%d Error waiting on h_dto_cno: "
- "evd != h_dto_rcv_evd\n", getpid());
- return (ret);
- }
- }
- /* use wait to dequeue */
- ret =
- dat_evd_wait(h_dto_rcv_evd, DTO_TIMEOUT, 1, &event, &nmore);
- if (ret != DAT_SUCCESS) {
- fprintf(stderr, "%d: ERROR: DTO dat_evd_wait() %s\n",
- getpid(), DT_RetToString(ret));
- return (ret);
- }
- }
+ /* inbound recv event, send completion's suppressed */
+ if (collect_event(h_dto_rcv_evd,
+ &event,
+ DTO_TIMEOUT,
+ &rdma_wr_poll_count) != DAT_SUCCESS)
+ return (DAT_ABORT);
+
stop = get_time();
- time.rdma_wr = ((stop - start) * 1.0e6);
+ ts.rdma_wr = ((stop - start) * 1.0e6);
/* validate event number and status */
printf("%d inbound rdma_write; send message arrived!\n", getpid());
if (event.event_number != DAT_DTO_COMPLETION_EVENT) {
fprintf(stderr, "%d Error unexpected DTO event : %s\n",
- getpid(), DT_EventToSTr(event.event_number));
+ getpid(), DT_EventToStr(event.event_number));
return (DAT_ABORT);
}
@@ -1388,7 +1425,6 @@ DAT_RETURN do_rdma_write_with_msg(void)
DAT_RETURN do_rdma_read_with_msg(void)
{
DAT_EVENT event;
- DAT_COUNT nmore;
DAT_LMR_TRIPLET l_iov;
DAT_RMR_TRIPLET r_iov;
DAT_DTO_COOKIE cookie;
@@ -1427,45 +1463,21 @@ DAT_RETURN do_rdma_read_with_msg(void)
if (ret != DAT_SUCCESS) {
fprintf(stderr,
"%d: ERROR: dat_ep_post_rdma_read() %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (DAT_ABORT);
}
- if (polling) {
- while (dat_evd_dequeue(h_dto_req_evd, &event) ==
- DAT_QUEUE_EMPTY)
- rdma_rd_poll_count[i]++;
- } else {
- LOGPRINTF("%d waiting for rdma_read completion event\n",
- getpid());
- if (use_cno) {
- DAT_EVD_HANDLE evd = DAT_HANDLE_NULL;
- ret =
- dat_cno_wait(h_dto_cno, DTO_TIMEOUT, &evd);
- LOGPRINTF("%d cno wait return evd_handle=%p\n",
- getpid(), evd);
- if (evd != h_dto_req_evd) {
- fprintf(stderr,
- "%d Error waiting on h_dto_cno: evd != h_dto_req_evd\n",
- getpid());
- return (DAT_ABORT);
- }
- }
- /* use wait to dequeue */
- ret =
- dat_evd_wait(h_dto_req_evd, DTO_TIMEOUT, 1, &event,
- &nmore);
- if (ret != DAT_SUCCESS) {
- fprintf(stderr,
- "%d: ERROR: DTO dat_evd_wait() %s\n",
- getpid(), DT_RetToString(ret));
- return ret;
- }
- }
+ /* RDMA read completion event */
+ if (collect_event(h_dto_req_evd,
+ &event,
+ DTO_TIMEOUT,
+ &rdma_rd_poll_count[i]) != DAT_SUCCESS)
+ return (DAT_ABORT);
+
/* validate event number, len, cookie, and status */
if (event.event_number != DAT_DTO_COMPLETION_EVENT) {
fprintf(stderr, "%d: ERROR: DTO event number %s\n",
- getpid(), DT_EventToSTr(event.event_number));
+ getpid(), DT_EventToStr(event.event_number));
return (DAT_ABORT);
}
if ((event.event_data.dto_completion_event_data.
@@ -1484,12 +1496,12 @@ DAT_RETURN do_rdma_read_with_msg(void)
if (event.event_data.dto_completion_event_data.status !=
DAT_SUCCESS) {
fprintf(stderr, "%d: ERROR: DTO event status %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (DAT_ABORT);
}
stop = get_time();
- time.rdma_rd[i] = ((stop - start) * 1.0e6);
- time.rdma_rd_total += time.rdma_rd[i];
+ ts.rdma_rd[i] = ((stop - start) * 1.0e6);
+ ts.rdma_rd_total += ts.rdma_rd[i];
LOGPRINTF("%d rdma_read # %d completed\n", getpid(), i + 1);
}
@@ -1500,6 +1512,15 @@ DAT_RETURN do_rdma_read_with_msg(void)
*/
printf("%d Sending RDMA read completion message\n", getpid());
+ /* give remote chance to process read completes */
+ if (use_cno) {
+#if defined(_WIN32) || defined(_WIN64)
+ Sleep(1000);
+#else
+ sleep(1);
+#endif
+ }
+
ret = send_msg(&rmr_send_msg,
sizeof(DAT_RMR_TRIPLET),
lmr_context_send_msg,
@@ -1507,48 +1528,25 @@ DAT_RETURN do_rdma_read_with_msg(void)
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error send_msg: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else {
LOGPRINTF("%d send_msg completed\n", getpid());
}
- /*
- * Collect first event, write completion or the inbound recv with immed
- */
printf("%d Waiting for inbound message....\n", getpid());
- if (polling) {
- while (dat_evd_dequeue(h_dto_rcv_evd, &event) ==
- DAT_QUEUE_EMPTY) ;
- } else {
- LOGPRINTF("%d waiting for message receive event\n", getpid());
- if (use_cno) {
- DAT_EVD_HANDLE evd = DAT_HANDLE_NULL;
- ret = dat_cno_wait(h_dto_cno, DTO_TIMEOUT, &evd);
- LOGPRINTF("%d cno wait return evd_handle=%p\n",
- getpid(), evd);
- if (evd != h_dto_rcv_evd) {
- fprintf(stderr,
- "%d Error waiting on h_dto_cno: evd != h_dto_rcv_evd\n",
- getpid());
- return (ret);
- }
- }
- /* use wait to dequeue */
- ret =
- dat_evd_wait(h_dto_rcv_evd, DTO_TIMEOUT, 1, &event, &nmore);
- if (ret != DAT_SUCCESS) {
- fprintf(stderr, "%d: ERROR: DTO dat_evd_wait() %s\n",
- getpid(), DT_RetToString(ret));
- return (ret);
- }
- }
+
+ if (collect_event(h_dto_rcv_evd,
+ &event,
+ DTO_TIMEOUT,
+ &poll_count) != DAT_SUCCESS)
+ return (DAT_ABORT);
/* validate event number and status */
printf("%d inbound rdma_read; send message arrived!\n", getpid());
if (event.event_number != DAT_DTO_COMPLETION_EVENT) {
fprintf(stderr, "%d Error unexpected DTO event : %s\n",
- getpid(), DT_EventToSTr(event.event_number));
+ getpid(), DT_EventToStr(event.event_number));
return (DAT_ABORT);
}
@@ -1597,7 +1595,6 @@ DAT_RETURN do_rdma_read_with_msg(void)
DAT_RETURN do_ping_pong_msg()
{
DAT_EVENT event;
- DAT_COUNT nmore;
DAT_DTO_COOKIE cookie;
DAT_LMR_TRIPLET l_iov;
DAT_RETURN ret;
@@ -1629,7 +1626,7 @@ DAT_RETURN do_ping_pong_msg()
if (ret != DAT_SUCCESS) {
fprintf(stderr,
"%d Error posting recv msg buffer: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else {
LOGPRINTF("%d Posted Receive Message Buffer %p\n",
@@ -1667,48 +1664,21 @@ DAT_RETURN do_ping_pong_msg()
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error send_msg: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else {
LOGPRINTF("%d send_msg completed\n", getpid());
}
}
- /* Wait for recv message */
- if (polling) {
- poll_count = 0;
- LOGPRINTF("%d Polling for message receive event\n",
- getpid());
- while (dat_evd_dequeue(h_dto_rcv_evd, &event) ==
- DAT_QUEUE_EMPTY)
- poll_count++;
- } else {
- LOGPRINTF("%d waiting for message receive event\n",
- getpid());
- if (use_cno) {
- DAT_EVD_HANDLE evd = DAT_HANDLE_NULL;
- ret =
- dat_cno_wait(h_dto_cno, DTO_TIMEOUT, &evd);
- LOGPRINTF("%d cno wait return evd_handle=%p\n",
- getpid(), evd);
- if (evd != h_dto_rcv_evd) {
- fprintf(stderr,
- "%d Error waiting on h_dto_cno: evd != h_dto_rcv_evd\n",
- getpid());
- return (ret);
- }
- }
- /* use wait to dequeue */
- ret =
- dat_evd_wait(h_dto_rcv_evd, DTO_TIMEOUT, 1, &event,
- &nmore);
- if (ret != DAT_SUCCESS) {
- fprintf(stderr,
- "%d: ERROR: DTO dat_evd_wait() %s\n",
- getpid(), DT_RetToString(ret));
- return (ret);
- }
- }
+ /* recv message, send completions suppressed */
+ if (collect_event(h_dto_rcv_evd,
+ &event,
+ DTO_TIMEOUT,
+ &poll_count) != DAT_SUCCESS)
+ return (DAT_ABORT);
+
+
/* start timer after first message arrives on server */
if (i == 0) {
start = get_time();
@@ -1717,7 +1687,7 @@ DAT_RETURN do_ping_pong_msg()
LOGPRINTF("%d inbound message; message arrived!\n", getpid());
if (event.event_number != DAT_DTO_COMPLETION_EVENT) {
fprintf(stderr, "%d Error unexpected DTO event : %s\n",
- getpid(), DT_EventToSTr(event.event_number));
+ getpid(), DT_EventToStr(event.event_number));
return (DAT_ABORT);
}
if ((event.event_data.dto_completion_event_data.
@@ -1757,7 +1727,7 @@ DAT_RETURN do_ping_pong_msg()
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error send_msg: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else {
LOGPRINTF("%d send_msg completed\n", getpid());
@@ -1769,7 +1739,7 @@ DAT_RETURN do_ping_pong_msg()
snd_buf += buf_len;
}
stop = get_time();
- time.rtt = ((stop - start) * 1.0e6);
+ ts.rtt = ((stop - start) * 1.0e6);
return (DAT_SUCCESS);
}
@@ -1794,13 +1764,13 @@ DAT_RETURN register_rdma_memory(void)
&rmr_context_recv,
®istered_size_recv, ®istered_addr_recv);
stop = get_time();
- time.reg += ((stop - start) * 1.0e6);
- time.total += time.reg;
+ ts.reg += ((stop - start) * 1.0e6);
+ ts.total += ts.reg;
if (ret != DAT_SUCCESS) {
fprintf(stderr,
"%d Error registering Receive RDMA buffer: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else {
LOGPRINTF("%d Registered Receive RDMA Buffer %p\n",
@@ -1822,7 +1792,7 @@ DAT_RETURN register_rdma_memory(void)
®istered_size_send, ®istered_addr_send);
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error registering send RDMA buffer: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else {
LOGPRINTF("%d Registered Send RDMA Buffer %p\n",
@@ -1845,11 +1815,11 @@ DAT_RETURN unregister_rdma_memory(void)
start = get_time();
ret = dat_lmr_free(h_lmr_recv);
stop = get_time();
- time.unreg += ((stop - start) * 1.0e6);
- time.total += time.unreg;
+ ts.unreg += ((stop - start) * 1.0e6);
+ ts.total += ts.unreg;
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error deregistering recv mr: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else {
LOGPRINTF("%d Unregistered Recv Buffer\n", getpid());
@@ -1863,7 +1833,7 @@ DAT_RETURN unregister_rdma_memory(void)
ret = dat_lmr_free(h_lmr_send);
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error deregistering send mr: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else {
LOGPRINTF("%d Unregistered send Buffer\n", getpid());
@@ -1895,11 +1865,11 @@ DAT_RETURN create_events(void)
&h_dto_cno);
#endif
stop = get_time();
- time.cnoc += ((stop - start) * 1.0e6);
- time.total += time.cnoc;
+ ts.cnoc += ((stop - start) * 1.0e6);
+ ts.total += ts.cnoc;
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error dat_cno_create: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else {
LOGPRINTF("%d cr_evd created, %p\n", getpid(),
@@ -1913,11 +1883,11 @@ DAT_RETURN create_events(void)
dat_evd_create(h_ia, 10, DAT_HANDLE_NULL, DAT_EVD_CR_FLAG,
&h_cr_evd);
stop = get_time();
- time.evdc += ((stop - start) * 1.0e6);
- time.total += time.evdc;
+ ts.evdc += ((stop - start) * 1.0e6);
+ ts.total += ts.evdc;
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error dat_evd_create: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else {
LOGPRINTF("%d cr_evd created %p\n", getpid(), h_cr_evd);
@@ -1930,7 +1900,7 @@ DAT_RETURN create_events(void)
DAT_EVD_CONNECTION_FLAG, &h_conn_evd);
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error dat_evd_create: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else {
LOGPRINTF("%d con_evd created %p\n", getpid(), h_conn_evd);
@@ -1942,7 +1912,7 @@ DAT_RETURN create_events(void)
h_dto_cno, DAT_EVD_DTO_FLAG, &h_dto_req_evd);
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error dat_evd_create REQ: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else {
LOGPRINTF("%d dto_req_evd created %p\n", getpid(),
@@ -1955,7 +1925,7 @@ DAT_RETURN create_events(void)
h_dto_cno, DAT_EVD_DTO_FLAG, &h_dto_rcv_evd);
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error dat_evd_create RCV: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else {
LOGPRINTF("%d dto_rcv_evd created %p\n", getpid(),
@@ -1966,7 +1936,7 @@ DAT_RETURN create_events(void)
ret = dat_evd_query(h_dto_req_evd, DAT_EVD_FIELD_EVD_QLEN, ¶m);
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error dat_evd_query request evd: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else if (param.evd_qlen < (MSG_BUF_COUNT + MAX_RDMA_RD + burst) * 2) {
fprintf(stderr, "%d Error dat_evd qsize too small: %d < %d\n",
@@ -1996,7 +1966,7 @@ DAT_RETURN destroy_events(void)
ret = dat_evd_free(h_cr_evd);
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error freeing cr EVD: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else {
LOGPRINTF("%d Freed cr EVD\n", getpid());
@@ -2010,7 +1980,7 @@ DAT_RETURN destroy_events(void)
ret = dat_evd_free(h_conn_evd);
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error freeing conn EVD: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else {
LOGPRINTF("%d Freed conn EVD\n", getpid());
@@ -2024,11 +1994,11 @@ DAT_RETURN destroy_events(void)
start = get_time();
ret = dat_evd_free(h_dto_rcv_evd);
stop = get_time();
- time.evdf += ((stop - start) * 1.0e6);
- time.total += time.evdf;
+ ts.evdf += ((stop - start) * 1.0e6);
+ ts.total += ts.evdf;
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error freeing dto EVD: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else {
LOGPRINTF("%d Freed dto EVD\n", getpid());
@@ -2042,7 +2012,7 @@ DAT_RETURN destroy_events(void)
ret = dat_evd_free(h_dto_req_evd);
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error freeing dto EVD: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else {
LOGPRINTF("%d Freed dto EVD\n", getpid());
@@ -2056,11 +2026,11 @@ DAT_RETURN destroy_events(void)
start = get_time();
ret = dat_cno_free(h_dto_cno);
stop = get_time();
- time.cnof += ((stop - start) * 1.0e6);
- time.total += time.cnof;
+ ts.cnof += ((stop - start) * 1.0e6);
+ ts.total += ts.cnof;
if (ret != DAT_SUCCESS) {
fprintf(stderr, "%d Error freeing dto CNO: %s\n",
- getpid(), DT_RetToString(ret));
+ getpid(), DT_RetToStr(ret));
return (ret);
} else {
LOGPRINTF("%d Freed dto CNO\n", getpid());
@@ -2075,7 +2045,7 @@ DAT_RETURN destroy_events(void)
* but don't assume the values are zero-based or contiguous.
*/
char errmsg[512] = { 0 };
-const char *DT_RetToString(DAT_RETURN ret_value)
+const char *DT_RetToStr(DAT_RETURN ret_value)
{
const char *major_msg, *minor_msg;
@@ -2091,7 +2061,7 @@ const char *DT_RetToString(DAT_RETURN ret_value)
/*
* Map DAT_EVENT_CODE values to readable strings
*/
-const char *DT_EventToSTr(DAT_EVENT_NUMBER event_code)
+const char *DT_EventToStr(DAT_EVENT_NUMBER event_code)
{
unsigned int i;
static struct {
@@ -2142,6 +2112,8 @@ void print_usage(void)
printf("B: burst count, rdma and msgs \n");
printf("h: hostname/address of server, specified on client\n");
printf("P: provider name (default = OpenIB-cma)\n");
+ printf("l: server lid (required ucm provider)\n");
+ printf("q: server qpn (required ucm provider)\n");
printf("\n");
}
diff --git a/test/dtest/dtestcm.c b/test/dtest/dtestcm.c
new file mode 100644
index 0000000..d3762c9
--- /dev/null
+++ b/test/dtest/dtestcm.c
@@ -0,0 +1,1168 @@
+/*
+ * Copyright (c) 2009 Intel Corporation. All rights reserved.
+ *
+ * This software is available to you under a choice of one of two
+ * licenses. You may choose to be licensed under the terms of the GNU
+ * General Public License (GPL) Version 2, available from the file
+ * COPYING in the main directory of this source tree, or the
+ * OpenIB.org BSD license below:
+ *
+ * Redistribution and use in source and binary forms, with or
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ * - Redistributions of source code must retain the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * $Id: $
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifdef DAPL_PROVIDER
+#undef DAPL_PROVIDER
+#endif
+
+#if defined(_WIN32) || defined(_WIN64)
+
+#include <windows.h>
+#include <winsock2.h>
+#include <ws2tcpip.h>
+#include <io.h>
+#include <process.h>
+#include <complib/cl_types.h>
+#include "..\..\..\..\etc\user\getopt.c"
+
+#define getpid() ((int)GetCurrentProcessId())
+#define F64x "%I64x"
+#define F64d "%I64d"
+
+#ifdef DBG
+#define DAPL_PROVIDER "ibnic0v2d"
+#else
+#define DAPL_PROVIDER "ibnic0v2"
+#endif
+
+#define ntohll _byteswap_uint64
+#define htonll _byteswap_uint64
+
+#else // _WIN32 || _WIN64
+
+#include <endian.h>
+#include <byteswap.h>
+#include <netdb.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/time.h>
+#include <netinet/in.h>
+#include <netinet/tcp.h>
+#include <arpa/inet.h>
+#include <sys/mman.h>
+#include <getopt.h>
+#include <inttypes.h>
+#include <unistd.h>
+#include <stdlib.h>
+
+#define DAPL_PROVIDER "ofa-v2-ib0"
+
+#define F64x "%"PRIx64""
+#define F64d "%"PRId64""
+
+
+#if __BYTE_ORDER == __BIG_ENDIAN
+#define htonll(x) (x)
+#define ntohll(x) (x)
+#elif __BYTE_ORDER == __LITTLE_ENDIAN
+#define htonll(x) bswap_64(x)
+#define ntohll(x) bswap_64(x)
+#endif
+
+#endif // _WIN32 || _WIN64
+
+#define MAX_POLLING_CNT 50000
+
+/* Header files needed for DAT/uDAPL */
+#include "dat2/udat.h"
+#include "dat2/dat_ib_extensions.h"
+
+/* definitions */
+#define SERVER_CONN_QUAL 45248
+#define CONN_TIMEOUT (1000*1000*100)
+#define CR_TIMEOUT DAT_TIMEOUT_INFINITE
+
+/* Global DAT vars */
+static DAT_IA_HANDLE h_ia = DAT_HANDLE_NULL;
+static DAT_PZ_HANDLE h_pz = DAT_HANDLE_NULL;
+static DAT_EP_HANDLE *h_ep;
+static DAT_PSP_HANDLE *h_psp;
+static DAT_CR_HANDLE h_cr = DAT_HANDLE_NULL;
+
+static DAT_EVD_HANDLE h_async_evd = DAT_HANDLE_NULL;
+static DAT_EVD_HANDLE h_dto_req_evd = DAT_HANDLE_NULL;
+static DAT_EVD_HANDLE h_dto_rcv_evd = DAT_HANDLE_NULL;
+static DAT_EVD_HANDLE h_cr_evd = DAT_HANDLE_NULL;
+static DAT_EVD_HANDLE h_conn_evd = DAT_HANDLE_NULL;
+
+static DAT_EP_ATTR ep_attr;
+char hostname[256] = { 0 };
+char provider[64] = DAPL_PROVIDER;
+char addr_str[INET_ADDRSTRLEN];
+
+int status;
+
+/* timers */
+double start, stop, total_us, total_sec;
+
+struct dt_time {
+ double total;
+ double open;
+ double reg;
+ double unreg;
+ double pzc;
+ double pzf;
+ double evdc;
+ double evdf;
+ double cnoc;
+ double cnof;
+ double epc;
+ double epf;
+ double rtt;
+ double close;
+ double conn;
+};
+
+struct dt_time ts;
+
+/* defaults */
+static int connected = 0;
+static int multi_listens = 0;
+static int ud_test = 0;
+static int server = 1;
+static int waiting = 0;
+static int verbose = 0;
+static int cr_poll_count = 0;
+static int conn_poll_count = 0;
+static int delay = 0;
+static int connections = 1000;
+static int burst = 100;
+static int port_id = SERVER_CONN_QUAL;
+static int ucm = 0;
+static DAT_SOCK_ADDR6 remote;
+
+/* forward prototypes */
+const char *DT_RetToString(DAT_RETURN ret_value);
+const char *DT_EventToSTr(DAT_EVENT_NUMBER event_code);
+void print_usage(void);
+double get_time(void);
+DAT_RETURN conn_client(void);
+DAT_RETURN conn_server(void);
+DAT_RETURN disconnect_eps(void);
+DAT_RETURN create_events(void);
+DAT_RETURN destroy_events(void);
+
+#define LOGPRINTF if (verbose) printf
+
+void flush_evds(void)
+{
+ DAT_EVENT event;
+
+ /* Flush async error queue */
+ printf(" ERR: Checking ASYNC EVD...\n");
+ while (dat_evd_dequeue(h_async_evd, &event) == DAT_SUCCESS) {
+ printf(" ASYNC EVD ENTRY: handle=%p reason=%d\n",
+ event.event_data.asynch_error_event_data.dat_handle,
+ event.event_data.asynch_error_event_data.reason);
+ }
+}
+
+static void print_ia_address(struct sockaddr *sa)
+{
+ char str[INET6_ADDRSTRLEN] = {" ??? "};
+
+ switch(sa->sa_family) {
+ case AF_INET:
+ inet_ntop(AF_INET, &((struct sockaddr_in *)sa)->sin_addr, str, INET6_ADDRSTRLEN);
+ printf("%d Local Address AF_INET - %s port %d\n", getpid(), str, SERVER_CONN_QUAL);
+ break;
+ case AF_INET6:
+ inet_ntop(AF_INET6, &((struct sockaddr_in6 *)sa)->sin6_addr, str, INET6_ADDRSTRLEN);
+ printf("%d Local Address AF_INET6 - %s flowinfo(QPN)=0x%x, port(LID)=0x%x\n",
+ getpid(), str,
+ ntohl(((struct sockaddr_in6 *)sa)->sin6_flowinfo),
+ ntohs(((struct sockaddr_in6 *)sa)->sin6_port));
+ break;
+ default:
+ printf("%d Local Address UNKOWN FAMILY - port %d\n", getpid(), SERVER_CONN_QUAL);
+ }
+}
+
+int main(int argc, char **argv)
+{
+ int i, c, len;
+ DAT_RETURN ret;
+ DAT_IA_ATTR ia_attr;
+
+ /* parse arguments */
+ while ((c = getopt(argc, argv, "smwvub:c:d:h:P:p:q:l:")) != -1) {
+ switch (c) {
+ case 's':
+ server = 1;
+ break;
+ case 'm':
+ multi_listens = 1;
+ break;
+ case 'w':
+ waiting = 1;
+ break;
+ case 'u':
+ ud_test = 1;
+ break;
+ case 'c':
+ connections = atoi(optarg);
+ break;
+ case 'p':
+ port_id = atoi(optarg);
+ break;
+ case 'v':
+ verbose = 1;
+ fflush(stdout);
+ break;
+ case 'd':
+ delay = atoi(optarg);
+ break;
+ case 'b':
+ burst = atoi(optarg);
+ break;
+ case 'h':
+ server = 0;
+ strcpy(hostname, optarg);
+ break;
+ case 'P':
+ strcpy(provider, optarg);
+ break;
+ case 'q':
+ /* map UCM qpn into AF_INET6 sin6_flowinfo */
+ remote.sin6_family = AF_INET6;
+ remote.sin6_flowinfo = htonl(strtol(optarg,NULL,0));
+ ucm = 1;
+ server = 0;
+ break;
+ case 'l':
+ /* map UCM lid into AF_INET6 sin6_port */
+ remote.sin6_family = AF_INET6;
+ remote.sin6_port = htons(strtol(optarg,NULL,0));
+ ucm = 1;
+ server = 0;
+ break;
+ default:
+ print_usage();
+ exit(-12);
+ }
+ }
+
+#if defined(_WIN32) || defined(_WIN64)
+ {
+ WSADATA wsaData;
+
+ i = WSAStartup(MAKEWORD(2, 2), &wsaData);
+ if (i != 0) {
+ printf("%s WSAStartup(2.2) failed? (0x%x)\n", argv[0],
+ i);
+ fflush(stdout);
+ exit(1);
+ }
+ }
+#endif
+
+ if (!server) {
+ printf(" Running client on %s with %d %s connections\n",
+ provider, connections, ud_test ? "UD" : "RC");
+ } else {
+ printf(" Running server on %s with %d %s connections\n",
+ provider, connections, ud_test ? "UD" : "RC");
+ }
+ fflush(stdout);
+
+ if (burst > connections)
+ burst = connections;
+
+
+ /* allocate EP handles for all connections */
+ h_ep = (DAT_EP_HANDLE*)malloc(connections * sizeof(DAT_EP_HANDLE));
+ if (h_ep == NULL) {
+ perror("malloc ep");
+ exit(1);
+ }
+ memset(h_ep, 0, (burst * sizeof(DAT_PSP_HANDLE)));
+
+ /* allocate PSP handles, check for multi-listens */
+ if (multi_listens)
+ len = burst * sizeof(DAT_PSP_HANDLE);
+ else
+ len = sizeof(DAT_PSP_HANDLE);
+
+ h_psp = (DAT_PSP_HANDLE*)malloc(len);
+ if (h_psp == NULL) {
+ perror("malloc psp");
+ exit(1);
+ }
+ memset(h_psp, 0, len);
+ memset(&ts, 0, sizeof(struct dt_time));
+
+ /* dat_ia_open, dat_pz_create */
+ h_async_evd = DAT_HANDLE_NULL;
+ start = get_time();
+ ret = dat_ia_open(provider, 8, &h_async_evd, &h_ia);
+ stop = get_time();
+ ts.open += ((stop - start) * 1.0e6);
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, " Error Adaptor open: %s\n",
+ DT_RetToString(ret));
+ exit(1);
+ } else
+ LOGPRINTF(" Opened Interface Adaptor\n");
+
+ /* query for UCM addressing */
+ ret = dat_ia_query(h_ia, 0, DAT_IA_FIELD_ALL, &ia_attr, 0, 0);
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, "%d: Error Adaptor query: %s\n",
+ getpid(), DT_RetToString(ret));
+ exit(1);
+ }
+ print_ia_address(ia_attr.ia_address_ptr);
+
+ /* Create Protection Zone */
+ start = get_time();
+ LOGPRINTF(" Create Protection Zone\n");
+ ret = dat_pz_create(h_ia, &h_pz);
+ stop = get_time();
+ ts.pzc += ((stop - start) * 1.0e6);
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, " Error creating Protection Zone: %s\n",
+ DT_RetToString(ret));
+ exit(1);
+ } else
+ LOGPRINTF(" Created Protection Zone\n");
+
+ LOGPRINTF(" Create events\n");
+ ret = create_events();
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, " Error creating events: %s\n",
+ DT_RetToString(ret));
+ goto cleanup;
+ } else {
+ LOGPRINTF(" Create events done\n");
+ }
+
+ /* create EP */
+ memset(&ep_attr, 0, sizeof(ep_attr));
+ if (ud_test) {
+ ep_attr.service_type = DAT_IB_SERVICE_TYPE_UD;
+ ep_attr.max_message_size = 2048;
+ } else {
+ ep_attr.service_type = DAT_SERVICE_TYPE_RC;
+ ep_attr.max_rdma_size = 0x10000;
+ ep_attr.max_rdma_read_in = 4;
+ ep_attr.max_rdma_read_out = 4;
+ }
+ ep_attr.max_recv_dtos = 1;
+ ep_attr.max_request_dtos = 1;
+ ep_attr.max_recv_iov = 1;
+ ep_attr.max_request_iov = 1;
+ ep_attr.request_completion_flags = DAT_COMPLETION_DEFAULT_FLAG;
+
+ start = get_time();
+ for (i = 0; i < connections; i++) {
+ ret = dat_ep_create(h_ia, h_pz, h_dto_rcv_evd,
+ h_dto_req_evd, h_conn_evd,
+ &ep_attr, &h_ep[i]);
+ }
+ stop = get_time();
+ ts.epc += ((stop - start) * 1.0e6);
+ ts.total += ts.epc;
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, " Error dat_ep_create: %s\n",
+ DT_RetToString(ret));
+ goto cleanup;
+ } else
+ LOGPRINTF(" EP created %p \n", h_ep[i]);
+
+ /* create the service point for server listen */
+ if (server) {
+ LOGPRINTF(" Creating server service point(s)\n");
+ for (i = 0; i < burst; i++) {
+ ret = dat_psp_create(h_ia,
+ port_id+i,
+ h_cr_evd,
+ DAT_PSP_CONSUMER_FLAG,
+ &h_psp[i]);
+
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, " ERR psp_create: %s\n",
+ DT_RetToString(ret));
+ goto cleanup;
+ } else
+ LOGPRINTF(" psp_created for listen\n");
+
+ printf(" Server ready on port %d\n",
+ port_id+i);
+
+ if (!multi_listens)
+ break;
+ }
+ }
+
+ /* Connect all */
+ if (server)
+ ret = conn_server();
+ else
+ ret = conn_client();
+
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, " Error %s: %s\n",
+ server ? "server()" : "client()",
+ DT_RetToString(ret));
+ goto cleanup;
+ } else
+ LOGPRINTF(" connect_ep complete\n");
+
+ connected = 1;
+ goto complete;
+
+cleanup:
+ flush_evds();
+ goto bail;
+complete:
+
+ /* disconnect and free EP resources */
+ if (h_ep[0]) {
+ /* unregister message buffers and tear down connection */
+ LOGPRINTF(" Disconnect EPs\n");
+ ret = disconnect_eps();
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, " Error disconnect_eps: %s\n",
+ DT_RetToString(ret));
+ goto bail;
+ } else {
+ LOGPRINTF(" disconnect_eps complete\n");
+ }
+ }
+
+ /* destroy server service point(s) */
+ if ((server) && (h_psp[0] != DAT_HANDLE_NULL)) {
+ for (i = 0; i < burst; i++) {
+ ret = dat_psp_free(h_psp[i]);
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, " Error dat_psp_free: %s\n",
+ DT_RetToString(ret));
+ goto bail;
+ } else {
+ LOGPRINTF(" psp_free[%d] complete\n",i);
+ }
+ if (!multi_listens)
+ break;
+ }
+ }
+
+ /* free EVDs */
+ LOGPRINTF(" destroy events\n");
+ ret = destroy_events();
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, " Error destroy_events: %s\n",
+ DT_RetToString(ret));
+ goto bail;
+ } else
+ LOGPRINTF(" destroy events done\n");
+
+
+ /* Free protection domain */
+ LOGPRINTF(" Freeing pz\n");
+ start = get_time();
+ ret = dat_pz_free(h_pz);
+ stop = get_time();
+ ts.pzf += ((stop - start) * 1.0e6);
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, " Error freeing PZ: %s\n",
+ DT_RetToString(ret));
+ goto bail;
+ } else {
+ LOGPRINTF(" Freed pz\n");
+ h_pz = NULL;
+ }
+
+ /* close the device */
+ LOGPRINTF(" Closing Interface Adaptor\n");
+ start = get_time();
+ ret = dat_ia_close(h_ia, DAT_CLOSE_ABRUPT_FLAG);
+ stop = get_time();
+ ts.close += ((stop - start) * 1.0e6);
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, " Error Adaptor close: %s\n",
+ DT_RetToString(ret));
+ goto bail;
+ } else
+ LOGPRINTF(" Closed Interface Adaptor\n");
+
+ printf(" DAPL Connection Test Complete.\n");
+ printf(" open: %10.2lf usec\n", ts.open);
+ printf(" close: %10.2lf usec\n", ts.close);
+ printf(" PZ create: %10.2lf usec\n", ts.pzc);
+ printf(" PZ free: %10.2lf usec\n", ts.pzf);
+ printf(" LMR create:%10.2lf usec\n", ts.reg);
+ printf(" LMR free: %10.2lf usec\n", ts.unreg);
+ printf(" EVD create:%10.2lf usec\n", ts.evdc);
+ printf(" EVD free: %10.2lf usec\n", ts.evdf);
+ printf(" EP create: %10.2lf usec avg\n", ts.epc/connections);
+ printf(" EP free: %10.2lf usec avg\n", ts.epf/connections);
+ if (!server) {
+ printf(" Connections: %8.2lf usec, CPS %7.2lf "
+ "Total %4.2lf secs, poll_cnt=%u, Num=%d\n",
+ (double)(ts.conn/connections),
+ (double)(1/(ts.conn/1000000/connections)),
+ (double)(ts.conn/1000000),
+ conn_poll_count, connections);
+ }
+ printf(" TOTAL: %4.2lf sec\n", ts.total/1000000);
+ fflush(stderr); fflush(stdout);
+bail:
+ free(h_ep);
+ free(h_psp);
+
+#if defined(_WIN32) || defined(_WIN64)
+ WSACleanup();
+#endif
+ return (0);
+}
+
+double get_time(void)
+{
+ struct timeval tp;
+
+ gettimeofday(&tp, NULL);
+ return ((double)tp.tv_sec + (double)tp.tv_usec * 1e-6);
+}
+
+DAT_RETURN conn_server()
+{
+ DAT_RETURN ret;
+ DAT_EVENT event;
+ DAT_COUNT nmore;
+ int i,bi;
+ unsigned char *buf;
+ DAT_CR_ARRIVAL_EVENT_DATA *cr_event =
+ &event.event_data.cr_arrival_event_data;
+ DAT_CR_PARAM cr_param = { 0 };
+
+ printf(" Accepting...\n");
+ for (i = 0; i < connections; i++) {
+
+ /* poll for CR's */
+ if (!waiting) {
+ cr_poll_count = 0;
+ while (DAT_GET_TYPE(dat_evd_dequeue(h_cr_evd, &event))
+ == DAT_QUEUE_EMPTY)
+ cr_poll_count++;
+ } else {
+ ret = dat_evd_wait(h_cr_evd, CR_TIMEOUT,
+ 1, &event, &nmore);
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr,
+ " ERR: CR dat_evd_wait() %s\n",
+ DT_RetToString(ret));
+ return ret;
+ }
+ }
+
+ if ((event.event_number != DAT_CONNECTION_REQUEST_EVENT) &&
+ (ud_test && event.event_number !=
+ DAT_IB_UD_CONNECTION_REQUEST_EVENT)) {
+ fprintf(stderr, " Error unexpected CR event : %s\n",
+ DT_EventToSTr(event.event_number));
+ return (DAT_ABORT);
+ }
+
+
+ /* use to test rdma_cma timeout logic */
+#if defined(_WIN32) || defined(_WIN64)
+ if (delay) {
+ printf(" Accept delayed by %d seconds...\n", delay);
+ Sleep(delay * 1000);
+ }
+#else
+ if (delay) {
+ printf(" Accept delayed by %d seconds...\n", delay);
+ sleep(delay);
+ }
+#endif
+ /* accept connect request from client */
+ h_cr = cr_event->cr_handle;
+ LOGPRINTF(" Accepting connect request from client\n");
+
+ /* private data - check and send it back */
+ dat_cr_query(h_cr, DAT_CSP_FIELD_ALL, &cr_param);
+
+ buf = (unsigned char *)cr_param.private_data;
+ LOGPRINTF(" CONN REQUEST Private Data %p[0]=%d [47]=%d\n",
+ buf, buf[0], buf[47]);
+
+ for (bi = 0; bi < 48; bi++) {
+ if (buf[bi] != bi + 1) {
+ fprintf(stderr, " ERR on CONNECT REQUEST"
+ " private data: %p[%d]=%d s/be %d\n",
+ buf, bi, buf[bi], bi + 1);
+ dat_cr_reject(h_cr, 0, NULL);
+ return (DAT_ABORT);
+ }
+ buf[bi]++; /* change for trip back */
+ }
+
+#ifdef TEST_REJECT_WITH_PRIVATE_DATA
+ printf(" REJECT request with 48 bytes of private data\n");
+ ret = dat_cr_reject(h_cr, 48, cr_param.private_data);
+ printf("\n DAPL Test Complete. %s\n\n",
+ ret ? "FAILED" : "PASSED");
+ exit(0);
+#endif
+ ret = dat_cr_accept(h_cr, h_ep[i], 48,
+ cr_param.private_data);
+
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, " ERR dat_cr_accept: %s\n",
+ DT_RetToString(ret));
+ return (ret);
+ } else
+ LOGPRINTF(" accept[%d] complete\n", i);
+
+ event.event_number = 0;
+ }
+
+ /* process the RTU, ESTABLISHMENT event */
+ printf(" Completing...\n");
+ for (i=0;i<connections;i++) {
+
+ /* process completions */
+ if (!waiting) {
+ conn_poll_count = 0;
+ while (DAT_GET_TYPE(dat_evd_dequeue(h_conn_evd,
+ &event)) == DAT_QUEUE_EMPTY)
+ conn_poll_count++;
+ } else {
+ ret = dat_evd_wait(h_conn_evd, CONN_TIMEOUT,
+ 1, &event, &nmore);
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr,
+ " ERR: CONN evd_wait() %s\n",
+ DT_RetToString(ret));
+ return ret;
+ }
+ }
+ if ((event.event_number != DAT_CONNECTION_EVENT_ESTABLISHED) &&
+ (ud_test && event.event_number !=
+ DAT_IB_UD_CONNECTION_EVENT_ESTABLISHED)) {
+
+ fprintf(stderr, " Error unexpected CR EST "
+ "event : 0x%x %s\n",
+ event.event_number,
+ DT_EventToSTr(event.event_number));
+ return (DAT_ABORT);
+ }
+ event.event_number = 0;
+ LOGPRINTF(" CONN_EST[%d] complete\n", i);
+ }
+
+ printf("\n ALL %d CONNECTED on Server!\n\n", connections);
+ return DAT_SUCCESS;
+}
+
+
+DAT_RETURN conn_client()
+{
+ DAT_IA_ADDRESS_PTR raddr = (DAT_IA_ADDRESS_PTR)&remote;
+ DAT_RETURN ret;
+ DAT_EVENT event;
+ DAT_COUNT nmore;
+ DAT_CONN_QUAL conn_id;
+ DAT_CONNECTION_EVENT_DATA *conn_event =
+ &event.event_data.connect_event_data;
+ int i,ii,bi;
+ unsigned char *buf;
+ unsigned char pdata[48] = { 0 };
+ struct addrinfo *target;
+ int rval;
+
+ if (ucm)
+ goto no_resolution;
+
+#if defined(_WIN32) || defined(_WIN64)
+ if ((rval = getaddrinfo(hostname, "ftp", NULL, &target)) != 0) {
+ printf("\n remote name resolution failed! %s\n",
+ gai_strerror(rval));
+ exit(1);
+ }
+ rval = ((struct sockaddr_in *)target->ai_addr)->sin_addr.s_addr;
+#else
+ if (getaddrinfo(hostname, NULL, NULL, &target) != 0) {
+ perror("\n remote name resolution failed!");
+ exit(1);
+ }
+ rval = ((struct sockaddr_in *)target->ai_addr)->sin_addr.s_addr;
+#endif
+ printf(" Connecting to Server: %s \n", hostname);
+ printf(" Address: %d.%d.%d.%d port %d\n",
+ (rval >> 0) & 0xff, (rval >> 8) & 0xff,
+ (rval >> 16) & 0xff, (rval >> 24) & 0xff,
+ port_id);
+
+ raddr = (DAT_IA_ADDRESS_PTR)target->ai_addr;
+
+no_resolution:
+
+ for (i = 0; i < 48; i++) /* simple pattern in private data */
+ pdata[i] = i + 1;
+
+ printf(" Connecting...\n");
+ start = get_time();
+ for (i = 0; i < connections; i += burst) {
+ for (ii = 0; ii < burst; ii++) { /* conn_reqs */
+ if (multi_listens)
+ conn_id = port_id + ii;
+ else
+ conn_id = port_id;
+
+ ret = dat_ep_connect(h_ep[i+ii], raddr,
+ conn_id, CONN_TIMEOUT,
+ 48, (DAT_PVOID) pdata, 0,
+ DAT_CONNECT_DEFAULT_FLAG);
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, " ERR dat_ep_connect: %s\n",
+ DT_RetToString(ret));
+ return (ret);
+ } else
+ LOGPRINTF(" dat_ep_connect[%d] complete\n",
+ i+ii);
+
+ }
+ for (ii = 0; ii < burst; ii++) { /* conn_events */
+ if (!waiting) {
+ conn_poll_count = 0;
+ while (DAT_GET_TYPE(dat_evd_dequeue(
+ h_conn_evd, &event)) ==
+ DAT_QUEUE_EMPTY)
+ conn_poll_count++;
+ } else {
+ ret = dat_evd_wait(h_conn_evd, CONN_TIMEOUT,
+ 1, &event, &nmore);
+
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr,
+ " ERR: CONN evd_wait() %s\n",
+ DT_RetToString(ret));
+ return ret;
+ }
+ }
+
+#ifdef TEST_REJECT_WITH_PRIVATE_DATA
+ if (event.event_number !=
+ DAT_CONNECTION_EVENT_PEER_REJECTED) {
+ fprintf(stderr, " expected conn reject "
+ "event : %s\n",
+ DT_EventToSTr(event.event_number));
+ return (DAT_ABORT);
+ }
+
+ /* get the reject private data and validate */
+ buf = (unsigned char *)conn_event->private_data;
+ printf(" Recv REJ with pdata %p[0]=%d [47]=%d\n",
+ buf, buf[0], buf[47]);
+ for (bi = 0; bi < 48; bi++) {
+ if (buf[bi] != idx + 2) {
+ fprintf(stderr, " client: Error"
+ " with REJECT event private"
+ " data: %p[%d]=%d s/be %d\n",
+ buf, bi,
+ buf[bi], bi + 2);
+ dat_ep_disconnect(h_ep[i+ii], 0);
+ return (DAT_ABORT);
+ }
+ }
+ printf("\n Rej Test Done. PASSED\n\n");
+ exit(0);
+#endif
+ if ((event.event_number !=
+ DAT_CONNECTION_EVENT_ESTABLISHED) &&
+ (ud_test && event.event_number !=
+ DAT_IB_UD_CONNECTION_EVENT_ESTABLISHED)) {
+ fprintf(stderr, " Error unexpected conn "
+ "event : 0x%x %s\n",
+ event.event_number,
+ DT_EventToSTr(event.event_number));
+ return (DAT_ABORT);
+ }
+
+ /* check private data back from server */
+ buf = (unsigned char *)conn_event->private_data;
+
+ LOGPRINTF(" CONN[%d] Private Data "
+ "%p[0]=%d [47]=%d\n",
+ i+ii, buf, buf[0], buf[47]);
+
+ for (bi = 0; bi < 48; bi++) {
+ if (buf[bi] != bi + 2) {
+ DAT_COUNT nmore;
+ fprintf(stderr, " ERR CONN event"
+ " pdata: %p[%d]=%d s/be %d\n",
+ buf, bi, buf[bi],
+ bi + 2);
+ dat_ep_disconnect(h_ep[i+ii],
+ DAT_CLOSE_ABRUPT_FLAG);
+ LOGPRINTF(" waiting for disc...\n");
+ dat_evd_wait(h_conn_evd,
+ DAT_TIMEOUT_INFINITE,
+ 1, &event, &nmore);
+ return (DAT_ABORT);
+ }
+ }
+ event.event_number = 0;
+ }
+ }
+
+ stop = get_time();
+ ts.conn += ((stop - start) * 1.0e6);
+
+ if (!ucm)
+ freeaddrinfo(target);
+
+ printf("\n ALL %d CONNECTED on Client!\n\n", connections);
+
+ return (DAT_SUCCESS);
+}
+
+/* validate disconnected EP's and free them */
+DAT_RETURN disconnect_eps(void)
+{
+ DAT_RETURN ret;
+ DAT_EVENT event;
+ DAT_COUNT nmore;
+ int i,ii;
+ DAT_CONNECTION_EVENT_DATA *conn_event =
+ &event.event_data.connect_event_data;
+
+ if (!connected)
+ return DAT_SUCCESS;
+
+ /* UD, no connection to disconnect, just free EP's */
+ if (ud_test) {
+ for (i = 0; i < connections; i++) {
+ ret = dat_ep_free(h_ep[i]);
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr,
+ " ERR free EP[%d] %p: %s\n",
+ i, h_ep[i], DT_RetToString(ret));
+ } else {
+ LOGPRINTF(" Freed EP[%d] %p\n",
+ i, h_ep[i]);
+ h_ep[i] = DAT_HANDLE_NULL;
+ }
+ }
+ stop = get_time();
+ ts.epf += ((stop - start) * 1.0e6);
+ ts.total += ts.epf;
+ return DAT_SUCCESS;
+ }
+
+ /*
+ * Only the client needs to call disconnect. The server _should_ be able
+ * to just wait on the EVD associated with connection events for a
+ * disconnect request and then exit.
+ */
+ if (!server) {
+ start = get_time();
+ for (i = 0; i < connections; i++) {
+ LOGPRINTF(" dat_ep_disconnect\n");
+ ret = dat_ep_disconnect(h_ep[i],
+ DAT_CLOSE_DEFAULT);
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr,
+ " Error disconnect: %s\n",
+ DT_RetToString(ret));
+ return ret;
+ } else {
+ LOGPRINTF(" disconnect completed\n");
+ }
+ }
+ } else {
+ LOGPRINTF(" Server waiting for disconnect...\n");
+ }
+
+ LOGPRINTF(" Wait for Disc event, free EPs as completed\n");
+ start = get_time();
+ for (i = 0; i < connections; i++) {
+ event.event_number = 0;
+ conn_event->ep_handle = NULL;
+ ret = dat_evd_wait(h_conn_evd, DAT_TIMEOUT_INFINITE,
+ 1, &event, &nmore);
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, " Error dat_evd_wait: %s\n",
+ DT_RetToString(ret));
+ return ret;
+ } else {
+ LOGPRINTF(" disc event[%d] complete,"
+ " check for valid EP...\n", i);
+ }
+
+ /* check for valid EP in creation list */
+ for (ii = 0; ii < connections; ii++) {
+ if (h_ep[ii] == conn_event->ep_handle) {
+ LOGPRINTF(" valid EP[%d] %p !\n",
+ ii, h_ep[ii]);
+ ret = dat_ep_free(h_ep[ii]);
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr,
+ " ERR free EP[%d] %p: %s\n",
+ i, h_ep[ii],
+ DT_RetToString(ret));
+ } else {
+ LOGPRINTF(" Freed EP[%d] %p\n",
+ i, h_ep[ii]);
+ h_ep[ii] = DAT_HANDLE_NULL;
+ }
+ break;
+ } else {
+ continue;
+ }
+ }
+ if (ii == connections) {
+ LOGPRINTF(" %s: invalid EP[%d] %p via DISC event!\n",
+ server ? "Server" : "Client",
+ i, conn_event->ep_handle);
+ return DAT_INVALID_HANDLE;
+ }
+ }
+ /* free EPs */
+ stop = get_time();
+ ts.epf += ((stop - start) * 1.0e6);
+ ts.total += ts.epf;
+ return DAT_SUCCESS;
+}
+
+
+ /*
+ * Create CR, CONN, and DTO events
+ */
+DAT_RETURN create_events(void)
+{
+ DAT_RETURN ret;
+
+ /* create cr EVD */
+ start = get_time();
+ ret = dat_evd_create(h_ia, connections, DAT_HANDLE_NULL,
+ DAT_EVD_CR_FLAG, &h_cr_evd);
+ stop = get_time();
+ ts.evdc += ((stop - start) * 1.0e6);
+ ts.total += ts.evdc;
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, " Error dat_evd_create: %s\n",
+ DT_RetToString(ret));
+ return (ret);
+ } else {
+ LOGPRINTF(" cr_evd created %p\n", h_cr_evd);
+ }
+
+ /* create conn EVD */
+ ret = dat_evd_create(h_ia,
+ connections*2,
+ DAT_HANDLE_NULL,
+ DAT_EVD_CONNECTION_FLAG, &h_conn_evd);
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, " Error dat_evd_create: %s\n",
+ DT_RetToString(ret));
+ return (ret);
+ } else {
+ LOGPRINTF(" con_evd created %p\n", h_conn_evd);
+ }
+
+ /* create dto SND EVD */
+ ret = dat_evd_create(h_ia, 1, NULL,
+ DAT_EVD_DTO_FLAG, &h_dto_req_evd);
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, " Error dat_evd_create REQ: %s\n",
+ DT_RetToString(ret));
+ return (ret);
+ } else {
+ LOGPRINTF(" dto_req_evd created %p\n",
+ h_dto_req_evd);
+ }
+
+ /* create dto RCV EVD */
+ ret = dat_evd_create(h_ia, 1, NULL,
+ DAT_EVD_DTO_FLAG, &h_dto_rcv_evd);
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, " Error dat_evd_create RCV: %s\n",
+ DT_RetToString(ret));
+ return (ret);
+ } else {
+ LOGPRINTF(" dto_rcv_evd created %p\n",
+ h_dto_rcv_evd);
+ }
+ return DAT_SUCCESS;
+}
+
+/*
+ * Destroy CR, CONN, CNO, and DTO events
+ */
+
+DAT_RETURN destroy_events(void)
+{
+ DAT_RETURN ret;
+
+ /* free cr EVD */
+ if (h_cr_evd != DAT_HANDLE_NULL) {
+ LOGPRINTF(" Free cr EVD %p \n", h_cr_evd);
+ ret = dat_evd_free(h_cr_evd);
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, " Error freeing cr EVD: %s\n",
+ DT_RetToString(ret));
+ return (ret);
+ } else {
+ LOGPRINTF(" Freed cr EVD\n");
+ h_cr_evd = DAT_HANDLE_NULL;
+ }
+ }
+
+ /* free conn EVD */
+ if (h_conn_evd != DAT_HANDLE_NULL) {
+ LOGPRINTF(" Free conn EVD %p\n", h_conn_evd);
+ ret = dat_evd_free(h_conn_evd);
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, " Error freeing conn EVD: %s\n",
+ DT_RetToString(ret));
+ return (ret);
+ } else {
+ LOGPRINTF(" Freed conn EVD\n");
+ h_conn_evd = DAT_HANDLE_NULL;
+ }
+ }
+
+ /* free RCV dto EVD */
+ if (h_dto_rcv_evd != DAT_HANDLE_NULL) {
+ LOGPRINTF(" Free RCV dto EVD %p\n", h_dto_rcv_evd);
+ start = get_time();
+ ret = dat_evd_free(h_dto_rcv_evd);
+ stop = get_time();
+ ts.evdf += ((stop - start) * 1.0e6);
+ ts.total += ts.evdf;
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, " Error freeing dto EVD: %s\n",
+ DT_RetToString(ret));
+ return (ret);
+ } else {
+ LOGPRINTF(" Freed dto EVD\n");
+ h_dto_rcv_evd = DAT_HANDLE_NULL;
+ }
+ }
+
+ /* free REQ dto EVD */
+ if (h_dto_req_evd != DAT_HANDLE_NULL) {
+ LOGPRINTF(" Free REQ dto EVD %p\n", h_dto_req_evd);
+ ret = dat_evd_free(h_dto_req_evd);
+ if (ret != DAT_SUCCESS) {
+ fprintf(stderr, " Error freeing dto EVD: %s\n",
+ DT_RetToString(ret));
+ return (ret);
+ } else {
+ LOGPRINTF(" Freed dto EVD\n");
+ h_dto_req_evd = DAT_HANDLE_NULL;
+ }
+ }
+
+ return DAT_SUCCESS;
+}
+
+/*
+ * Map DAT_RETURN values to readable strings,
+ * but don't assume the values are zero-based or contiguous.
+ */
+char errmsg[512] = { 0 };
+const char *DT_RetToString(DAT_RETURN ret_value)
+{
+ const char *major_msg, *minor_msg;
+
+ dat_strerror(ret_value, &major_msg, &minor_msg);
+
+ strcpy(errmsg, major_msg);
+ strcat(errmsg, " ");
+ strcat(errmsg, minor_msg);
+
+ return errmsg;
+}
+
+/*
+ * Map DAT_EVENT_CODE values to readable strings
+ */
+const char *DT_EventToSTr(DAT_EVENT_NUMBER event_code)
+{
+ unsigned int i;
+ static struct {
+ const char *name;
+ DAT_RETURN value;
+ } dat_events[] = {
+# define DATxx(x) { # x, x }
+ DATxx(DAT_DTO_COMPLETION_EVENT),
+ DATxx(DAT_RMR_BIND_COMPLETION_EVENT),
+ DATxx(DAT_CONNECTION_REQUEST_EVENT),
+ DATxx(DAT_CONNECTION_EVENT_ESTABLISHED),
+ DATxx(DAT_CONNECTION_EVENT_PEER_REJECTED),
+ DATxx(DAT_CONNECTION_EVENT_NON_PEER_REJECTED),
+ DATxx(DAT_CONNECTION_EVENT_ACCEPT_COMPLETION_ERROR),
+ DATxx(DAT_CONNECTION_EVENT_DISCONNECTED),
+ DATxx(DAT_CONNECTION_EVENT_BROKEN),
+ DATxx(DAT_CONNECTION_EVENT_TIMED_OUT),
+ DATxx(DAT_CONNECTION_EVENT_UNREACHABLE),
+ DATxx(DAT_ASYNC_ERROR_EVD_OVERFLOW),
+ DATxx(DAT_ASYNC_ERROR_IA_CATASTROPHIC),
+ DATxx(DAT_ASYNC_ERROR_EP_BROKEN),
+ DATxx(DAT_ASYNC_ERROR_TIMED_OUT),
+ DATxx(DAT_ASYNC_ERROR_PROVIDER_INTERNAL_ERROR),
+ DATxx(DAT_SOFTWARE_EVENT)
+# undef DATxx
+ };
+# define NUM_EVENTS (sizeof(dat_events)/sizeof(dat_events[0]))
+
+ for (i = 0; i < NUM_EVENTS; i++) {
+ if (dat_events[i].value == event_code) {
+ return (dat_events[i].name);
+ }
+ }
+
+ return ("Invalid_DAT_EVENT_NUMBER");
+}
+
+void print_usage(void)
+{
+ printf("\n DAPL USAGE \n\n");
+ printf("s: server\n");
+ printf("c: connections (default = 1000)\n");
+ printf("v: verbose\n");
+ printf("w: wait on event (default, polling)\n");
+ printf("d: delay before accept\n");
+ printf("h: hostname/address of server, specified on client\n");
+ printf("P: provider name (default = OpenIB-v2-ib0)\n");
+ printf("\n");
+}
+
diff --git a/test/dtest/dtestx.c b/test/dtest/dtestx.c
index 2d062f1..32ffe33 100755
--- a/test/dtest/dtestx.c
+++ b/test/dtest/dtestx.c
@@ -44,6 +44,7 @@
#include "..\..\..\..\etc\user\getopt.c"
#define __BYTE_ORDER __LITTLE_ENDIAN
+#define getpid() ((int)GetCurrentProcessId())
#define F64x "%I64x"
#define F64u "%I64u"
#define DAPL_PROVIDER "ibnic0v2"
@@ -178,6 +179,8 @@ int eps = 1;
int verbose = 0;
int counters = 0;
int counters_ok = 0;
+static int ucm = 0;
+static DAT_SOCK_ADDR6 remote;
#define LOGPRINTF if (verbose) printf
@@ -208,6 +211,27 @@ static void sleep(int secs)
#define _WSACleanup()
#endif
+static void print_ia_address(struct sockaddr *sa)
+{
+ char str[INET6_ADDRSTRLEN] = {" ??? "};
+
+ switch(sa->sa_family) {
+ case AF_INET:
+ inet_ntop(AF_INET, &((struct sockaddr_in *)sa)->sin_addr, str, INET6_ADDRSTRLEN);
+ printf("%d Local Address AF_INET - %s port %d\n", getpid(), str, SERVER_ID);
+ break;
+ case AF_INET6:
+ inet_ntop(AF_INET6, &((struct sockaddr_in6 *)sa)->sin6_addr, str, INET6_ADDRSTRLEN);
+ printf("%d Local Address AF_INET6 - %s flowinfo(QPN)=0x%x, port(LID)=0x%x\n",
+ getpid(), str,
+ ntohl(((struct sockaddr_in6 *)sa)->sin6_flowinfo),
+ ntohs(((struct sockaddr_in6 *)sa)->sin6_port));
+ break;
+ default:
+ printf("%d Local Address UNKOWN FAMILY - port %d\n", getpid(), SERVER_ID);
+ }
+}
+
void
send_msg(void *data,
DAT_COUNT size,
@@ -332,7 +356,7 @@ void process_conn(int idx)
DAT_EVENT event;
DAT_COUNT nmore;
DAT_RETURN status;
- int pdata;
+ int pdata, exp_event;
DAT_IB_EXTENSION_EVENT_DATA *ext_event = (DAT_IB_EXTENSION_EVENT_DATA *)
& event.event_extension_data[0];
DAT_CONNECTION_EVENT_DATA *conn_event =
@@ -344,16 +368,22 @@ void process_conn(int idx)
status = dat_evd_wait(con_evd, CONN_TIMEOUT, 1, &event, &nmore);
_OK(status, "CONN dat_evd_wait");
- LOGPRINTF("%s got connect[%d] event, pdata %p sz=%d\n",
+ LOGPRINTF("%s got connect[%d] event 0x%x, pdata %p sz=%d\n",
server ? "Server" : "Client", idx,
- conn_event->private_data, conn_event->private_data_size);
+ event.event_number, conn_event->private_data,
+ conn_event->private_data_size);
+
+ if (ud_test)
+ exp_event = DAT_IB_UD_CONNECTION_EVENT_ESTABLISHED;
+ else
+ exp_event = DAT_CONNECTION_EVENT_ESTABLISHED;
/* Waiting on CR's or CONN_EST */
- if (event.event_number != DAT_CONNECTION_EVENT_ESTABLISHED &&
+ if (event.event_number != exp_event ||
(ud_test && event.event_number !=
- DAT_IB_UD_CONNECTION_EVENT_ESTABLISHED)) {
+ DAT_IB_UD_CONNECTION_EVENT_ESTABLISHED)) {
printf("unexpected event, !conn established: 0x%x\n",
- event.event_number);
+ event.event_number);
exit(1);
}
@@ -391,8 +421,9 @@ void process_conn(int idx)
int connect_ep(char *hostname)
{
- DAT_SOCK_ADDR remote_addr;
+ DAT_IA_ADDRESS_PTR remote_addr = (DAT_IA_ADDRESS_PTR)&remote;
DAT_EP_ATTR ep_attr;
+ DAT_IA_ATTR ia_attr;
DAT_RETURN status;
DAT_REGION_DESCRIPTION region;
DAT_EVENT event;
@@ -411,10 +442,19 @@ int connect_ep(char *hostname)
_OK(status, "dat_ia_open");
memset(&prov_attrs, 0, sizeof(prov_attrs));
- status = dat_ia_query(ia, NULL, 0, NULL,
+ status = dat_ia_query(ia, NULL,
+ DAT_IA_FIELD_ALL, &ia_attr,
DAT_PROVIDER_FIELD_ALL, &prov_attrs);
_OK(status, "dat_ia_query");
+ print_ia_address(ia_attr.ia_address_ptr);
+
+ if (ucm && ud_test) {
+ printf("%d UD test over UCM provider not supported\n",
+ getpid());
+ exit(1);
+ }
+
/* Print provider specific attributes */
for (i = 0; i < prov_attrs.num_provider_specific_attr; i++) {
LOGPRINTF(" Provider Specific Attribute[%d] %s=%s\n",
@@ -566,6 +606,9 @@ int connect_ep(char *hostname)
if (!server || (server && ud_test)) {
struct addrinfo *target;
+ if (ucm)
+ goto no_resolution;
+
if (getaddrinfo(hostname, NULL, NULL, &target) != 0) {
printf("Error getting remote address.\n");
exit(1);
@@ -578,10 +621,11 @@ int connect_ep(char *hostname)
inet_ntoa(((struct sockaddr_in *)
target->ai_addr)->sin_addr));
- remote_addr = *((DAT_IA_ADDRESS_PTR) target->ai_addr);
- freeaddrinfo(target);
strcpy((char *)buf[SND_RDMA_BUF_INDEX], "Client written data");
-
+
+ remote_addr = (DAT_IA_ADDRESS_PTR)target->ai_addr; /* IP */
+no_resolution:
+
/* one Client EP, multiple Server EPs, same conn_qual
* use private data to select EP on Server
*/
@@ -595,13 +639,16 @@ int connect_ep(char *hostname)
pdata = 0; /* just use first EP */
status = dat_ep_connect(ep[0],
- &remote_addr,
+ remote_addr,
(server ? CLIENT_ID :
SERVER_ID), CONN_TIMEOUT, 4,
(DAT_PVOID) & pdata, 0,
DAT_CONNECT_DEFAULT_FLAG);
_OK(status, "dat_ep_connect");
}
+
+ if (!ucm)
+ freeaddrinfo(target);
}
/* UD: process CR's starting with 2nd on server, 1st for client */
@@ -720,7 +767,19 @@ int disconnect_ep(void)
DAT_EVENT event;
DAT_COUNT nmore;
int i;
+
+ if (counters) { /* examples of query and print */
+ int ii;
+ DAT_UINT64 ia_cntrs[DCNT_IA_ALL_COUNTERS];
+ dat_query_counters(ia, DCNT_IA_ALL_COUNTERS, ia_cntrs, 0);
+ printf(" IA Cntrs:");
+ for (ii = 0; ii < DCNT_IA_ALL_COUNTERS; ii++)
+ printf(" " F64u "", ia_cntrs[ii]);
+ printf("\n");
+ dat_print_counters(ia, DCNT_IA_ALL_COUNTERS, 0);
+ }
+
if (!ud_test) {
status = dat_ep_disconnect(ep[0], DAT_CLOSE_DEFAULT);
_OK2(status, "dat_ep_disconnect");
@@ -796,17 +855,6 @@ int disconnect_ep(void)
status = dat_pz_free(pz);
_OK2(status, "dat_pz_free");
- if (counters) { /* examples of query and print */
- int ii;
- DAT_UINT64 ia_cntrs[DCNT_IA_ALL_COUNTERS];
-
- dat_query_counters(ia, DCNT_IA_ALL_COUNTERS, ia_cntrs, 0);
- printf(" IA Cntrs:");
- for (ii = 0; ii < DCNT_IA_ALL_COUNTERS; ii++)
- printf(" " F64u "", ia_cntrs[ii]);
- printf("\n");
- dat_print_counters(ia, DCNT_IA_ALL_COUNTERS, 0);
- }
status = dat_ia_close(ia, DAT_CLOSE_DEFAULT);
_OK2(status, "dat_ia_close");
@@ -1199,7 +1247,7 @@ int main(int argc, char **argv)
int rc;
/* parse arguments */
- while ((rc = getopt(argc, argv, "csvumpU:h:b:P:")) != -1) {
+ while ((rc = getopt(argc, argv, "csvumpU:h:b:P:q:l:")) != -1) {
switch (rc) {
case 'u':
ud_test = 1;
@@ -1234,6 +1282,20 @@ int main(int argc, char **argv)
case 'v':
verbose = 1;
break;
+ case 'q':
+ /* map UCM qpn into AF_INET6 sin6_flowinfo */
+ remote.sin6_family = AF_INET6;
+ remote.sin6_flowinfo = htonl(strtol(optarg,NULL,0));
+ ucm = 1;
+ server = 0;
+ break;
+ case 'l':
+ /* map UCM lid into AF_INET6 sin6_port */
+ remote.sin6_family = AF_INET6;
+ remote.sin6_port = htons(strtol(optarg,NULL,0));
+ ucm = 1;
+ server = 0;
+ break;
default:
print_usage();
exit(-12);
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ofed/dapl.git
More information about the Pkg-ofed-commits
mailing list