+++ /dev/null
-
-==========
-1.0 BUILD:
-==========
-
-The default build includes a non-debug version of libdat and libdapl-cma uDAPL provider. It will also builds test suites dtest and dapltest and provides manpages for each. This version requires libibverbs and librdmacm installation, IPoIB installation, and IPoIB configuration with an IP address.
-
-Building :
-----------
-./autogen.sh
-./configure
-make
-
-Building debug version:
-----------------------
-./autogen.sh
-./configure --enable-debug
-make
-
-Build example with OFED 1.2+ prefix (x86_64)
----------------------------------------------
-./autogen.sh
-./configure --prefix /usr --sysconf=/etc --libdir /usr/lib64 LDFLAGS=-L/usr/lib64 CPPFLAGS="-I/usr/include"
-make
-
-Installing:
-----------
-make install
-
-Note: The development package installs DAT 2.0 include files under /usr/include/dat2 to co-exist with DAT 1.2 /usr/include/dat
-
-NOTE: to link these libraries you must either use libtool and
-specify the full pathname of the library, or use the `-LLIBDIR'
-flag during linking and do at least one of the following:
- - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
- during execution
- - add LIBDIR to the `LD_RUN_PATH' environment variable
- during linking
- - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
- - have your system administrator add LIBDIR to `/etc/ld.so.conf'
-
-See any operating system documentation about shared libraries for
-more information, such as the ld(1) and ld.so(8) manual pages.
-
-===================
-2.0 CONFIGURATION:
-===================
-
-sample /etc/dat.conf
-
-#
-# DAT 1.2 and 2.0 configuration file
-#
-# Each entry should have the following fields:
-#
-# <ia_name> <api_version> <threadsafety> <default> <lib_path> \
-# <provider_version> <ia_params> <platform_params>
-#
-# For the uDAPL cma provder, specify <ia_params> as one of the following:
-# network address, network hostname, or netdev name and 0 for port
-#
-# Simple (OpenIB-cma) default with netdev name provided first on list
-# to enable use of same dat.conf version on all nodes
-#
-# Add examples for multiple interfaces and IPoIB HA fail over, and bonding
-#
-OpenIB-cma u1.2 nonthreadsafe default libdaplcma.so.1 dapl.1.2 "ib0 0" ""
-OpenIB-cma-1 u1.2 nonthreadsafe default libdaplcma.so.1 dapl.1.2 "ib1 0" ""
-OpenIB-cma-2 u1.2 nonthreadsafe default libdaplcma.so.1 dapl.1.2 "ib2 0" ""
-OpenIB-cma-3 u1.2 nonthreadsafe default libdaplcma.so.1 dapl.1.2 "ib3 0" ""
-OpenIB-bond u1.2 nonthreadsafe default libdaplcma.so.1 dapl.1.2 "bond0 0" ""
-OpenIB-2-cma u2.0 nonthreadsafe default libdaplcma.so.2 dapl.2.0 "ib0 0" ""
-OpenIB-2-cma-1 u2.0 nonthreadsafe default libdaplcma.so.2 dapl.2.0 "ib1 0" ""
-OpenIB-2-cma-2 u2.0 nonthreadsafe default libdaplcma.so.2 dapl.2.0 "ib2 0" ""
-OpenIB-2-cma-3 u2.0 nonthreadsafe default libdaplcma.so.2 dapl.2.0 "ib3 0" ""
-OpenIB-2-bond u2.0 nonthreadsafe default libdaplcma.so.2 dapl.2.0 "bond0 0" ""
-
-
-=============================
-3.0 Bugs/Known issues
-=============================
-
-
-
-=============================
-4.0 SAMPLE uDAPL APPLICATION:
-=============================
-
-There are 2 sample programs, with manpages, provided with this package.
-
-(dapl/test/dtest/)
-
-NAME
- dtest - simple uDAPL send/receive and RDMA test
-
-SYNOPSIS
- dtest [-P provider] [-b buf size] [-B burst count][-v] [-c] [-p] [-d] [-s]
-
- dtest [-P provider] [-b buf size] [-B burst count][-v] [-c] [-p] [-d] [-h HOSTNAME]
-
-DESCRIPTION
- dtest is a simple test used to exercise and verify the uDAPL interfaces. At least two instantia-
- tions of the test must be run. One acts as the server and the other the client. The server side of
- the test, once invoked listens for connection requests, until timing out or killed. Upon receipt
- of a cd connection request, the connection is established, the server and client sides exchange
- information necessary to perform RDMA writes and reads.
-
-OPTIONS
- -P=PROVIDER
- use PROVIDER to specify uDAPL interface using /etc/dat.conf (default OpenIB-cma)
-
- -b=BUFFER_SIZE
- use buffer size BUFFER_SIZE for RDMA(default 64)
-
- -B=BURST_COUNT
- use busrt count BURST_COUNT for interations (default 10)
-
- -v, verbose output(default off)
-
- -c, use consumer notification events (default off)
-
- -p, use polling (default wait for event)
-
- -d, delay in seconds before close (default off)
-
- -s, run as server (default - run as server)
-
- -h=HOSTNAME
- use HOSTNAME to specify server hostname or IP address (default - none)
-
-EXAMPLES
- dtest -P OpenIB-cma -v -s
- Starts a server process with debug verbosity using provider OpenIB-cma.
-
- dtest -P OpenIB-cma -h server1-ib0
-
- Starts a client process, using OpenIB-cma provider to connect to hostname server1-ib0.
-
-SEE ALSO
- dapltest(1)
-
-AUTHORS
- Arlin Davis
- <ardavis@ichips.intel.com>
-
-BUGS
-
-/dapl/test/dapltest/
-
-NAME
- dapltest - test for the Direct Access Programming Library (DAPL)
-
-DESCRIPTION
- Dapltest is a set of tests developed to exercise, characterize, and verify the DAPL interfaces
- during development and porting. At least two instantiations of the test must be run. One acts as
- the server, fielding requests and spawning server-side test threads as needed. Other client invo-
- cations connect to the server and issue test requests. The server side of the test, once invoked,
- listens continuously for client connection requests, until quit or killed. Upon receipt of a con-
- nection request, the connection is established, the server and client sides swap version numbers
- to verify that they are able to communicate, and the client sends the test request to the server.
- If the version numbers match, and the test request is well-formed, the server spawns the threads
- needed to run the test before awaiting further connections.
-
-USAGE
- dapltest [ -f script_file_name ] [ -T S|Q|T|P|L ] [ -D device_name ] [ -d ] [ -R HT|LL|EC|PM|BE ]
-
- With no arguments, dapltest runs as a server using default values, and loops accepting requests
- from clients.
-
- The -f option allows all arguments to be placed in a file, to ease test automation.
-
- The following arguments are common to all tests:
-
- [ -T S|Q|T|P|L ]
- Test function to be performed:
-
- S - server loop
-
- Q - quit, client requests that server wait for any outstanding tests to complete, then
- clean up and exit
-
- T - transaction test, transfers data between client and server
-
- P - performance test, times DTO operations
-
- L - limit test, exhausts various resources, runs in client w/o server interaction
- Default: S
-
- [ -D device_name ]
- Specifies the interface adapter name as documented in the /etc/dat.conf static configura-
- tion file. This name corresponds to the provider library to open. Default: none
-
- [ -d ] Enables extra debug verbosity, primarily tracing of the various DAPL operations as they
- progress. Repeating this parameter increases debug spew. Errors encountered result in the
- test spewing some explanatory text and stopping; this flag provides more detail about what
- lead up to the error. Default: zero
-
- [ -R BE ]
- Indicate the quality of service (QoS) desired. Choices are:
-
- HT - high throughput
-
- LL - low latency
-
- EC - economy (neither HT nor LL)
-
- PM - premium
-
- BE - best effort Default: BE
-
- Usage - Quit test client
-
- dapltest [Common_Args] [ -s server_name ]
-
- Quit testing (-T Q) connects to the server to ask it to clean up and
- exit (after it waits for any outstanding test runs to complete).
- In addition to being more polite than simply killing the server,
- this test exercises the DAPL object teardown code paths.
- There is only one argument other than those supported by all tests:
-
- -s server_name Specifies the name of the server interface.
- No default.
-
- Usage - Transaction test client
-
- dapltest [Common_Args] [ -s server_name ]
- [ -t threads ] [ -w endpoints ] [ -i iterations ] [ -Q ]
- [ -V ] [ -P ] OPclient OPserver [ op3,
-
- Transaction testing (-T T) transfers a variable amount of data between
-:
- client and server. The data transfer can be described as a sequence of
- individual operations; that entire sequence is transferred ’iterations’
- times by each thread over all of its endpoint(s).
-
- The following parameters determine the behavior of the transaction test:
-
- -s server_name Specifies the name or IP address of the server interface.
- No default.
-
- [ -t threads ] Specify the number of threads to be used.
- Default: 1
-
- [ -w endpoints ] Specify the number of connected endpoints per thread.
- Default: 1
-
- [ -i iterations ] Specify the number of times the entire sequence
- of data transfers will be made over each endpoint.
- Default: 1000
-
- [ -Q ] Funnel completion events into a CNO.
- Default: use EVDs
-
- [ -V ] Validate the data being transferred.
- Default: ignore the data
-
- [ -P ] Turn on DTO completion polling
- Default: off
-
- OP1 OP2 [ OP3, ... ]
- A single transaction (OPx) consists of:
-
- server|client Indicates who initiates the
- data transfer.
-
- SR|RR|RW Indicates the type of transfer:
- SR send/recv
- RR RDMA read
- RW RDMA write
- Defaults: none
-
- [ seg_size [ num_segs ] ]
-:
-
- Indicates the amount and format
- of the data to be transferred.
- Default: 4096 1
- (i.e., 1 4KB buffer)
-
- [ -f ] For SR transfers only, indicates
- that a client’s send transfer
- completion should be reaped when
- the next recv completion is reaped.
- Sends and receives must be paired
- (one client, one server, and in that
- order) for this option to be used.
-
- Restrictions:
-
- Due to the flow control algorithm used by the transaction test, there
- must be at least one SR OP for both the client and the server.
-
- Requesting data validation (-V) causes the test to automatically append
- three OPs to those specified. These additional operations provide
- synchronization points during each iteration, at which all user-specified
- transaction buffers are checked. These three appended operations satisfy
- the "one SR in each direction" requirement.
-
- The transaction OP list is printed out if -d is supplied.
-
- Usage - Performance test client
-
- dapltest [Common_Args] -s server_name [ -m p|b ]
- [ -i iterations ] [ -p pipeline ] OP
-
- Performance testing (-T P) times the transfer of an operation.
- The operation is posted ’iterations’ times.
-
- The following parameters determine the behavior of the transaction test:
-
- -s server_name Specifies the name or IP address of the server interface.
- No default.
-
- -m b|p Used to choose either blocking (b) or polling (p)
- Default: blocking (b)
- [ -i iterations ] Specify the number of times the entire sequence
- of data transfers will be made over each endpoint.
- Default: 1000
-
- [ -p pipeline ] Specify the pipline length, valid arguments are in
- the range [0,MAX_SEND_DTOS]. If a value greater than
- MAX_SEND_DTOS is requested the value will be
- adjusted down to MAX_SEND_DTOS.
- Default: MAX_SEND_DTOS
-
- OP Specifies the operation as follow:
-
- RR|RW Indicates the type of transfer:
- RR RDMA read
- RW RDMA write
- Defaults: none
-
- [ seg_size [ num_segs ] ]
- Indicates the amount and format
- of the data to be transferred.
- Default: 4096 1
- (i.e., 1 4KB buffer)
-
- Usage - Limit test client
-
- Limit testing (-T L) neither requires nor connects to any server
- instance. The client runs one or more tests which attempt to
- exhaust various resources to determine DAPL limits and exercise
- DAPL error paths. If no arguments are given, all tests are run.
-
- Limit testing creates the sequence of DAT objects needed to
- move data back and forth, attempting to find the limits supported
- for the DAPL object requested. For example, if the LMR creation
- limit is being examined, the test will create a set of
- {IA, PZ, CNO, EVD, EP} before trying to run dat_lmr_create() to
- failure using that set of DAPL objects. The ’width’ parameter
- can be used to control how many of these parallel DAPL object
- sets are created before beating upon the requested constructor.
- Use of -m limits the number of dat_*_create() calls that will
- be attempted, which can be helpful if the DAPL in use supports
- essentailly unlimited numbers of some objects.
- The limit test arguments are:
-
- [ -m maximum ] Specify the maximum number of dapl_*_create()
- attempts.
- Default: run to object creation failure
-
- [ -w width ] Specify the number of DAPL object sets to
- create while initializing.
- Default: 1
-
- [ limit_ia ] Attempt to exhaust dat_ia_open()
-
- [ limit_pz ] Attempt to exhaust dat_pz_create()
-
- [ limit_cno ] Attempt to exhaust dat_cno_create()
-
- [ limit_evd ] Attempt to exhaust dat_evd_create()
-
- [ limit_ep ] Attempt to exhaust dat_ep_create()
-
- [ limit_rsp ] Attempt to exhaust dat_rsp_create()
-
- [ limit_psp ] Attempt to exhaust dat_psp_create()
-
- [ limit_lmr ] Attempt to exhaust dat_lmr_create(4KB)
-
- [ limit_rpost ] Attempt to exhaust dat_ep_post_recv(4KB)
-
- [ limit_size_lmr ] Probe maximum size dat_lmr_create()
-
- Default: run all tests
-
-EXAMPLES
- dapltest -T S -d -D OpenIB-cma
-
- Starts a server process with debug verbosity.
-
- dapltest -T T -d -s host1-ib0 -D OpenIB-cma -i 100 client SR 4096 2 server SR 4096 2
-
- Runs a transaction test, with both sides
- sending one buffer with two 4KB segments,
- one hundred times.
-
- dapltest -T P -d -s host1-ib0 -D OpenIB-cma -i 100 SR 4096 2
-
- Runs a performance test, with the client
- sending one buffer with two 4KB segments,
- one hundred times.
-
- dapltest -T Q -s host1-ib0 -D OpenIB-cma
-
- Asks the server to clean up and exit.
-
- dapltest -T L -D OpenIB-cma -d -w 16 -m 1000
-
- Runs all of the limit tests, setting up
- 16 complete sets of DAPL objects, and
- creating at most a thousand instances
- when trying to exhaust resources.
-
- dapltest -T T -V -d -t 2 -w 4 -i 55555 -s linux3 -D OpenIB-cma client RW 4096 1 server RW 2048 4
- client SR 1024 4 server SR 4096 2 client SR 1024 3 -f server SR 2048 1 -f
-
- Runs a more complicated transaction test,
- with two thread using four EPs each,
- sending a more complicated buffer pattern
- for a larger number of iterations,
- validating the data received.
-
- BUGS (and To Do List)
-
- Use of CNOs (-Q) is not yet supported.
-
- Further limit tests could be added.
-
-
-
-
--- /dev/null
+
+==========
+1.0 BUILD:
+==========
+
+The default build includes a non-debug version of libdat and libdapl-cma uDAPL provider. It will also builds test suites dtest and dapltest and provides manpages for each. This version requires libibverbs and librdmacm installation, IPoIB installation, and IPoIB configuration with an IP address.
+
+Building :
+----------
+./autogen.sh
+./configure
+make
+
+Building debug version:
+----------------------
+./autogen.sh
+./configure --enable-debug
+make
+
+Build example with OFED 1.2+ prefix (x86_64)
+---------------------------------------------
+./autogen.sh
+./configure --prefix /usr --sysconf=/etc --libdir /usr/lib64 LDFLAGS=-L/usr/lib64 CPPFLAGS="-I/usr/include"
+make
+
+Installing:
+----------
+make install
+
+Note: The development package installs DAT 2.0 include files under /usr/include/dat2 to co-exist with DAT 1.2 /usr/include/dat
+
+NOTE: to link these libraries you must either use libtool and
+specify the full pathname of the library, or use the `-LLIBDIR'
+flag during linking and do at least one of the following:
+ - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
+ during execution
+ - add LIBDIR to the `LD_RUN_PATH' environment variable
+ during linking
+ - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
+ - have your system administrator add LIBDIR to `/etc/ld.so.conf'
+
+See any operating system documentation about shared libraries for
+more information, such as the ld(1) and ld.so(8) manual pages.
+
+===================
+2.0 CONFIGURATION:
+===================
+
+sample /etc/dat.conf
+
+#
+# DAT 1.2 and 2.0 configuration file
+#
+# Each entry should have the following fields:
+#
+# <ia_name> <api_version> <threadsafety> <default> <lib_path> \
+# <provider_version> <ia_params> <platform_params>
+#
+# For the uDAPL cma provder, specify <ia_params> as one of the following:
+# network address, network hostname, or netdev name and 0 for port
+#
+# Simple (OpenIB-cma) default with netdev name provided first on list
+# to enable use of same dat.conf version on all nodes
+#
+# Add examples for multiple interfaces and IPoIB HA fail over, and bonding
+#
+OpenIB-cma u1.2 nonthreadsafe default libdaplcma.so.1 dapl.1.2 "ib0 0" ""
+OpenIB-cma-1 u1.2 nonthreadsafe default libdaplcma.so.1 dapl.1.2 "ib1 0" ""
+OpenIB-cma-2 u1.2 nonthreadsafe default libdaplcma.so.1 dapl.1.2 "ib2 0" ""
+OpenIB-cma-3 u1.2 nonthreadsafe default libdaplcma.so.1 dapl.1.2 "ib3 0" ""
+OpenIB-bond u1.2 nonthreadsafe default libdaplcma.so.1 dapl.1.2 "bond0 0" ""
+OpenIB-2-cma u2.0 nonthreadsafe default libdaplcma.so.2 dapl.2.0 "ib0 0" ""
+OpenIB-2-cma-1 u2.0 nonthreadsafe default libdaplcma.so.2 dapl.2.0 "ib1 0" ""
+OpenIB-2-cma-2 u2.0 nonthreadsafe default libdaplcma.so.2 dapl.2.0 "ib2 0" ""
+OpenIB-2-cma-3 u2.0 nonthreadsafe default libdaplcma.so.2 dapl.2.0 "ib3 0" ""
+OpenIB-2-bond u2.0 nonthreadsafe default libdaplcma.so.2 dapl.2.0 "bond0 0" ""
+
+
+=============================
+3.0 Bugs/Known issues
+=============================
+
+
+
+=============================
+4.0 SAMPLE uDAPL APPLICATION:
+=============================
+
+There are 2 sample programs, with manpages, provided with this package.
+
+(dapl/test/dtest/)
+
+NAME
+ dtest - simple uDAPL send/receive and RDMA test
+
+SYNOPSIS
+ dtest [-P provider] [-b buf size] [-B burst count][-v] [-c] [-p] [-d] [-s]
+
+ dtest [-P provider] [-b buf size] [-B burst count][-v] [-c] [-p] [-d] [-h HOSTNAME]
+
+DESCRIPTION
+ dtest is a simple test used to exercise and verify the uDAPL interfaces. At least two instantia-
+ tions of the test must be run. One acts as the server and the other the client. The server side of
+ the test, once invoked listens for connection requests, until timing out or killed. Upon receipt
+ of a cd connection request, the connection is established, the server and client sides exchange
+ information necessary to perform RDMA writes and reads.
+
+OPTIONS
+ -P=PROVIDER
+ use PROVIDER to specify uDAPL interface using /etc/dat.conf (default OpenIB-cma)
+
+ -b=BUFFER_SIZE
+ use buffer size BUFFER_SIZE for RDMA(default 64)
+
+ -B=BURST_COUNT
+ use busrt count BURST_COUNT for interations (default 10)
+
+ -v, verbose output(default off)
+
+ -c, use consumer notification events (default off)
+
+ -p, use polling (default wait for event)
+
+ -d, delay in seconds before close (default off)
+
+ -s, run as server (default - run as server)
+
+ -h=HOSTNAME
+ use HOSTNAME to specify server hostname or IP address (default - none)
+
+EXAMPLES
+ dtest -P OpenIB-cma -v -s
+ Starts a server process with debug verbosity using provider OpenIB-cma.
+
+ dtest -P OpenIB-cma -h server1-ib0
+
+ Starts a client process, using OpenIB-cma provider to connect to hostname server1-ib0.
+
+SEE ALSO
+ dapltest(1)
+
+AUTHORS
+ Arlin Davis
+ <ardavis@ichips.intel.com>
+
+BUGS
+
+/dapl/test/dapltest/
+
+NAME
+ dapltest - test for the Direct Access Programming Library (DAPL)
+
+DESCRIPTION
+ Dapltest is a set of tests developed to exercise, characterize, and verify the DAPL interfaces
+ during development and porting. At least two instantiations of the test must be run. One acts as
+ the server, fielding requests and spawning server-side test threads as needed. Other client invo-
+ cations connect to the server and issue test requests. The server side of the test, once invoked,
+ listens continuously for client connection requests, until quit or killed. Upon receipt of a con-
+ nection request, the connection is established, the server and client sides swap version numbers
+ to verify that they are able to communicate, and the client sends the test request to the server.
+ If the version numbers match, and the test request is well-formed, the server spawns the threads
+ needed to run the test before awaiting further connections.
+
+USAGE
+ dapltest [ -f script_file_name ] [ -T S|Q|T|P|L ] [ -D device_name ] [ -d ] [ -R HT|LL|EC|PM|BE ]
+
+ With no arguments, dapltest runs as a server using default values, and loops accepting requests
+ from clients.
+
+ The -f option allows all arguments to be placed in a file, to ease test automation.
+
+ The following arguments are common to all tests:
+
+ [ -T S|Q|T|P|L ]
+ Test function to be performed:
+
+ S - server loop
+
+ Q - quit, client requests that server wait for any outstanding tests to complete, then
+ clean up and exit
+
+ T - transaction test, transfers data between client and server
+
+ P - performance test, times DTO operations
+
+ L - limit test, exhausts various resources, runs in client w/o server interaction
+ Default: S
+
+ [ -D device_name ]
+ Specifies the interface adapter name as documented in the /etc/dat.conf static configura-
+ tion file. This name corresponds to the provider library to open. Default: none
+
+ [ -d ] Enables extra debug verbosity, primarily tracing of the various DAPL operations as they
+ progress. Repeating this parameter increases debug spew. Errors encountered result in the
+ test spewing some explanatory text and stopping; this flag provides more detail about what
+ lead up to the error. Default: zero
+
+ [ -R BE ]
+ Indicate the quality of service (QoS) desired. Choices are:
+
+ HT - high throughput
+
+ LL - low latency
+
+ EC - economy (neither HT nor LL)
+
+ PM - premium
+
+ BE - best effort Default: BE
+
+ Usage - Quit test client
+
+ dapltest [Common_Args] [ -s server_name ]
+
+ Quit testing (-T Q) connects to the server to ask it to clean up and
+ exit (after it waits for any outstanding test runs to complete).
+ In addition to being more polite than simply killing the server,
+ this test exercises the DAPL object teardown code paths.
+ There is only one argument other than those supported by all tests:
+
+ -s server_name Specifies the name of the server interface.
+ No default.
+
+ Usage - Transaction test client
+
+ dapltest [Common_Args] [ -s server_name ]
+ [ -t threads ] [ -w endpoints ] [ -i iterations ] [ -Q ]
+ [ -V ] [ -P ] OPclient OPserver [ op3,
+
+ Transaction testing (-T T) transfers a variable amount of data between
+:
+ client and server. The data transfer can be described as a sequence of
+ individual operations; that entire sequence is transferred ’iterations’
+ times by each thread over all of its endpoint(s).
+
+ The following parameters determine the behavior of the transaction test:
+
+ -s server_name Specifies the name or IP address of the server interface.
+ No default.
+
+ [ -t threads ] Specify the number of threads to be used.
+ Default: 1
+
+ [ -w endpoints ] Specify the number of connected endpoints per thread.
+ Default: 1
+
+ [ -i iterations ] Specify the number of times the entire sequence
+ of data transfers will be made over each endpoint.
+ Default: 1000
+
+ [ -Q ] Funnel completion events into a CNO.
+ Default: use EVDs
+
+ [ -V ] Validate the data being transferred.
+ Default: ignore the data
+
+ [ -P ] Turn on DTO completion polling
+ Default: off
+
+ OP1 OP2 [ OP3, ... ]
+ A single transaction (OPx) consists of:
+
+ server|client Indicates who initiates the
+ data transfer.
+
+ SR|RR|RW Indicates the type of transfer:
+ SR send/recv
+ RR RDMA read
+ RW RDMA write
+ Defaults: none
+
+ [ seg_size [ num_segs ] ]
+:
+
+ Indicates the amount and format
+ of the data to be transferred.
+ Default: 4096 1
+ (i.e., 1 4KB buffer)
+
+ [ -f ] For SR transfers only, indicates
+ that a client’s send transfer
+ completion should be reaped when
+ the next recv completion is reaped.
+ Sends and receives must be paired
+ (one client, one server, and in that
+ order) for this option to be used.
+
+ Restrictions:
+
+ Due to the flow control algorithm used by the transaction test, there
+ must be at least one SR OP for both the client and the server.
+
+ Requesting data validation (-V) causes the test to automatically append
+ three OPs to those specified. These additional operations provide
+ synchronization points during each iteration, at which all user-specified
+ transaction buffers are checked. These three appended operations satisfy
+ the "one SR in each direction" requirement.
+
+ The transaction OP list is printed out if -d is supplied.
+
+ Usage - Performance test client
+
+ dapltest [Common_Args] -s server_name [ -m p|b ]
+ [ -i iterations ] [ -p pipeline ] OP
+
+ Performance testing (-T P) times the transfer of an operation.
+ The operation is posted ’iterations’ times.
+
+ The following parameters determine the behavior of the transaction test:
+
+ -s server_name Specifies the name or IP address of the server interface.
+ No default.
+
+ -m b|p Used to choose either blocking (b) or polling (p)
+ Default: blocking (b)
+ [ -i iterations ] Specify the number of times the entire sequence
+ of data transfers will be made over each endpoint.
+ Default: 1000
+
+ [ -p pipeline ] Specify the pipline length, valid arguments are in
+ the range [0,MAX_SEND_DTOS]. If a value greater than
+ MAX_SEND_DTOS is requested the value will be
+ adjusted down to MAX_SEND_DTOS.
+ Default: MAX_SEND_DTOS
+
+ OP Specifies the operation as follow:
+
+ RR|RW Indicates the type of transfer:
+ RR RDMA read
+ RW RDMA write
+ Defaults: none
+
+ [ seg_size [ num_segs ] ]
+ Indicates the amount and format
+ of the data to be transferred.
+ Default: 4096 1
+ (i.e., 1 4KB buffer)
+
+ Usage - Limit test client
+
+ Limit testing (-T L) neither requires nor connects to any server
+ instance. The client runs one or more tests which attempt to
+ exhaust various resources to determine DAPL limits and exercise
+ DAPL error paths. If no arguments are given, all tests are run.
+
+ Limit testing creates the sequence of DAT objects needed to
+ move data back and forth, attempting to find the limits supported
+ for the DAPL object requested. For example, if the LMR creation
+ limit is being examined, the test will create a set of
+ {IA, PZ, CNO, EVD, EP} before trying to run dat_lmr_create() to
+ failure using that set of DAPL objects. The ’width’ parameter
+ can be used to control how many of these parallel DAPL object
+ sets are created before beating upon the requested constructor.
+ Use of -m limits the number of dat_*_create() calls that will
+ be attempted, which can be helpful if the DAPL in use supports
+ essentailly unlimited numbers of some objects.
+ The limit test arguments are:
+
+ [ -m maximum ] Specify the maximum number of dapl_*_create()
+ attempts.
+ Default: run to object creation failure
+
+ [ -w width ] Specify the number of DAPL object sets to
+ create while initializing.
+ Default: 1
+
+ [ limit_ia ] Attempt to exhaust dat_ia_open()
+
+ [ limit_pz ] Attempt to exhaust dat_pz_create()
+
+ [ limit_cno ] Attempt to exhaust dat_cno_create()
+
+ [ limit_evd ] Attempt to exhaust dat_evd_create()
+
+ [ limit_ep ] Attempt to exhaust dat_ep_create()
+
+ [ limit_rsp ] Attempt to exhaust dat_rsp_create()
+
+ [ limit_psp ] Attempt to exhaust dat_psp_create()
+
+ [ limit_lmr ] Attempt to exhaust dat_lmr_create(4KB)
+
+ [ limit_rpost ] Attempt to exhaust dat_ep_post_recv(4KB)
+
+ [ limit_size_lmr ] Probe maximum size dat_lmr_create()
+
+ Default: run all tests
+
+EXAMPLES
+ dapltest -T S -d -D OpenIB-cma
+
+ Starts a server process with debug verbosity.
+
+ dapltest -T T -d -s host1-ib0 -D OpenIB-cma -i 100 client SR 4096 2 server SR 4096 2
+
+ Runs a transaction test, with both sides
+ sending one buffer with two 4KB segments,
+ one hundred times.
+
+ dapltest -T P -d -s host1-ib0 -D OpenIB-cma -i 100 SR 4096 2
+
+ Runs a performance test, with the client
+ sending one buffer with two 4KB segments,
+ one hundred times.
+
+ dapltest -T Q -s host1-ib0 -D OpenIB-cma
+
+ Asks the server to clean up and exit.
+
+ dapltest -T L -D OpenIB-cma -d -w 16 -m 1000
+
+ Runs all of the limit tests, setting up
+ 16 complete sets of DAPL objects, and
+ creating at most a thousand instances
+ when trying to exhaust resources.
+
+ dapltest -T T -V -d -t 2 -w 4 -i 55555 -s linux3 -D OpenIB-cma client RW 4096 1 server RW 2048 4
+ client SR 1024 4 server SR 4096 2 client SR 1024 3 -f server SR 2048 1 -f
+
+ Runs a more complicated transaction test,
+ with two thread using four EPs each,
+ sending a more complicated buffer pattern
+ for a larger number of iterations,
+ validating the data received.
+
+ BUGS (and To Do List)
+
+ Use of CNOs (-Q) is not yet supported.
+
+ Further limit tests could be added.
+
+
+
+
+++ /dev/null
-#
-# Copyright (c) 2002-2005, Network Appliance, Inc. 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.
-#
-
-#**********************************************************************
-#
-# MODULE: Makefile
-#
-# PURPOSE: Makefile for dapl reference provider
-#
-# $Id: Makefile 1367 2005-12-05 16:48:37Z jlentini $
-#*********************************************************************/
-
-TOPDIR = $(shell /bin/pwd)
-
-SRC_PATH = $(TOPDIR)
-OBJ_PATH = $(TOPDIR)/Obj
-TARGET_PATH = $(TOPDIR)/Target
-
-TARGET = $(TARGET_PATH)/libdapl.so
-STATIC = $(TARGET_PATH)/libdapl.a
-COMMON = $(TOPDIR)/../common
-LINUX = $(TOPDIR)/../udapl/linux
-CC = gcc
-
-MACH=$(shell uname -m)
-OSRELEASE=$(shell expr `uname -r | cut -f1 -d.` \* 65536 + `uname -r | cut -f2 -d.`)
-
-#
-# Set up the default provider
-#
-ifndef $VERBS
-VERBS=openib_cma
-endif
-
-#
-# Set an OS Vendor
-#
-# OS_VENDOR = REDHAT_EL4
-# OS_VENDOR = SuSE
-#
-
-#
-# CFLAGS definition
-#
-# The makefile will build for multiple providers, but each provider
-# must have a set of compiler definitions that include, but are not
-# limited to:
-#
-# PROVIDER Directory of provider sources
-# CFLAGS Compile time flags for build
-#
-
-CFLAGS = -O2 $(CPPFLAGS) -DOS_VERSION=$(OSRELEASE) -DDAPL_DBG
-
-ifdef OS_VENDOR
-CFLAGS += -D$(OS_VENDOR)
-endif
-
-#
-# dummy provider
-#
-ifeq ($(VERBS),dummy)
-PROVIDER = $(TOPDIR)/../dummy
-CFLAGS += -DDAPL_ATS -DDUMMY
-endif
-
-#
-# JNI Provider
-#
-ifeq ($(VERBS),jni)
-PROVIDER = $(TOPDIR)/../ibapi
-CFLAGS += -DDAPL_ATS -DIBAPI # -DCM_BUSTED
-CFLAGS += -I../include/ib/IBM
-CFLAGS += -I../include/ib/IBM/us
-endif
-
-#
-# Mellanox Provider
-#
-ifeq ($(VERBS),mellanox)
-DAPL_IBLIB_DIR = /usr/mellanox/lib
-PROVIDER = $(TOPDIR)/../vapi
-CFLAGS += -DVAPI -DSMR_BUSTED # -DCM_BUSTED # -DMW_BUSTED
-#CFLAGS += -DIBHOSTS_NAMING
-#CFLAGS += -I/usr/mellanox/include
-CFLAGS += -I../include/ib/MELLANOX
-endif
-
-#
-# OpenIB Gen one provider
-#
-ifeq ($(VERBS),openib_gen_one)
-OPENIB_UNAME=$(shell uname -r)
-
-OPENIB_USER_DIR ?= /usr/local/ibgd
-OPENIB_KERNEL_DIR ?= /lib/modules/$(OPENIB_UNAME)/build/drivers/infiniband
-OPENIB_THCA_DIR ?= $(OPENIB_USER_DIR)/driver/infinihost
-
-PROVIDER = $(TOPDIR)/../openib_gen_one
-CFLAGS += -D__OPENIB__ -DSMR_BUSTED # -DMW_BUSTED
-CFLAGS += -DDAPL_ATS
-CFLAGS += -I$(OPENIB_KERNEL_DIR)/include
-CFLAGS += -I$(OPENIB_KERNEL_DIR)/ulp/dapl_srv
-CFLAGS += -I$(OPENIB_USER_DIR)/driver/infinihost/include
-endif
-
-#
-# OpenIB provider
-#
-ifeq ($(VERBS),openib)
-PROVIDER = $(TOPDIR)/../openib
-CFLAGS += -DOPENIB
-CFLAGS += -DCQ_WAIT_OBJECT
-CFLAGS += -I/usr/local/include/infiniband
-endif
-
-#
-# OpenIB provider with Socket CM
-#
-ifeq ($(VERBS),openib_scm)
-PROVIDER = $(TOPDIR)/../openib_scm
-CFLAGS += -DOPENIB
-CFLAGS += -DCQ_WAIT_OBJECT
-CFLAGS += -I/usr/local/include/infiniband
-endif
-
-#
-# OpenIB provider with IB CMA
-#
-ifeq ($(VERBS),openib_cma)
-PROVIDER = $(TOPDIR)/../openib_cma
-CFLAGS += -DOPENIB
-CFLAGS += -DCQ_WAIT_OBJECT
-CFLAGS += -DDAT_EXTENSIONS
-CFLAGS += -I/usr/local/include/infiniband
-endif
-
-#
-# If an implementation supports CM and DTO completions on the same EVD
-# then DAPL_MERGE_CM_DTO should be set
-# CFLAGS += -DDAPL_MERGE_CM_DTO=1
-
-#
-# If an implementation supports Shared Memory, enable
-# VN_MEM_SHARED_VIRTUAL_SUPPORT
-# CFLAGS += -DVN_MEM_SHARED_VIRTUAL_SUPPORT=1
-
-CFLAGS += -I.
-CFLAGS += -I..
-CFLAGS += -I../../dat/include
-CFLAGS += -I../include
-
-CFLAGS += -I$(PROVIDER)
-CFLAGS += -I../udapl/linux
-CFLAGS += -I../common
-CFLAGS += -Wall
-CFLAGS += -Wstrict-prototypes
-CFLAGS += -Wmissing-prototypes
-CFLAGS += -Wmissing-declarations
-CFLAGS += --no-strict-aliasing
-CFLAGS += -Werror
-CFLAGS += -g3
-CFLAGS += -fPIC
-
-ifdef GPROF
-CFLAGS += -pg
-endif
-
-LD = ld
-
-#
-# LDFLAGS definition
-#
-LDFLAGS = -shared
-LDFLAGS += -lpthread
-LDFLAGS += -init dapl_init
-LDFLAGS += -fini dapl_fini
-ifeq ($(OS_VENDOR),SuSE)
-LDFLAGS += -lgcc_s
-endif
-
-
-AR = ar
-#
-# ARFLAGS definition
-#
-ARFLAGS = r
-
-#
-# To build with JNI verbs: make VERBS=jni [default]
-# To build with Mellanox verbs: make VERBS=mellanox
-# To build with XYZ verbs: make VERBS=XYZ
-#
-# Verb libraries should be in /usr/lib or vendor specified directories
-#
-
-# Allow specification in the environment of a location for the
-# verbs library, to allow running DAPL without installing
-# the verbs library in /usr/lib. For development.
-ifneq (${DAPL_IBLIB_DIR},)
-LDFLAGS += -L${DAPL_IBLIB_DIR} -R${DAPL_IBLIB_DIR}
-endif
-
-ifeq ($(VERBS),dummy)
-PROVIDER_SRCS = dapl_dummy_util.c
-endif
-
-ifeq ($(VERBS),ibm)
-CFLAGS += -D_IBM -DIBM
-LDFLAGS += -lIBusd
-LDFLAGS += -lIBlueHCAd
-LDFLAGS += -ldl
-PROVIDER_SRCS = dapl_ibapi_util.c dapl_ibapi_qp.c dapl_ibapi_cm.c
-endif
-
-ifeq ($(VERBS),jni)
-CFLAGS += -DJNI
-LDFLAGS += -lJniTavorVerbs
-LDFLAGS += -lpthread
-LDFLAGS += -rpath /opt/JNIhca/lib/ -L /opt/JNIhca/lib/
-PROVIDER_SRCS = dapl_ibapi_util.c dapl_ibapi_qp.c dapl_ibapi_cm.c
-endif
-
-ifeq ($(VERBS),mellanox)
-CFLAGS += -DMTL_MODULE=M_dapl -DMAX_TRACE=8 -DMAX_DEBUG=8 -DMAX_ERROR=8
-PROVIDER_SRCS = dapl_vapi_util.c dapl_vapi_qp.c dapl_vapi_cm.c
-LDFLAGS += -lvapi
-LDFLAGS += -lmpga
-LDFLAGS += -lmtl_common
-LDFLAGS += -lcm
-endif
-
-ifeq ($(VERBS),openib_gen_one)
-CFLAGS += -DMTL_MODULE=M_dapl -DMAX_TRACE=8 -DMAX_DEBUG=8 -DMAX_ERROR=8
-LDFLAGS += -lvapi
-LDFLAGS += -lmpga
-LDFLAGS += -lmtl_common
-LDFLAGS += -lcm
-LDFLAGS += -L$(OPENIB_USER_DIR)/lib -L$(OPENIB_THCA_DIR)/lib
-PROVIDER_SRCS = dapl_openib.c dapl_openib_qp.c
-PROVIDER_SRCS += dapl_openib_util.c dapl_openib_cm.c dapl_openib_cm_util_user.c
-endif
-
-ifeq ($(VERBS),openib)
-LDFLAGS += -libverbs -libcm -libat
-LDFLAGS += -rpath /usr/local/lib -L /usr/local/lib
-PROVIDER_SRCS = dapl_ib_util.c dapl_ib_cq.c dapl_ib_qp.c
-PROVIDER_SRCS += dapl_ib_cm.c dapl_ib_mem.c
-endif
-
-ifeq ($(VERBS),openib_scm)
-LDFLAGS += -libverbs
-LDFLAGS += -rpath /usr/local/lib -L /usr/local/lib
-PROVIDER_SRCS = dapl_ib_util.c dapl_ib_cq.c dapl_ib_qp.c \
- dapl_ib_cm.c dapl_ib_mem.c
-endif
-
-ifeq ($(VERBS),openib_cma)
-LDFLAGS += -libverbs -lrdmacm
-LDFLAGS += -rpath /usr/local/lib -L /usr/local/lib
-PROVIDER_SRCS = dapl_ib_util.c dapl_ib_cq.c dapl_ib_qp.c \
- dapl_ib_cm.c dapl_ib_mem.c
-endif
-
-UDAPL_SRCS = dapl_init.c \
- dapl_evd_create.c \
- dapl_evd_query.c \
- dapl_cno_create.c \
- dapl_cno_modify_agent.c \
- dapl_cno_free.c \
- dapl_cno_wait.c \
- dapl_cno_query.c \
- dapl_lmr_create.c \
- dapl_evd_wait.c \
- dapl_evd_disable.c \
- dapl_evd_enable.c \
- dapl_evd_modify_cno.c \
- dapl_evd_set_unwaitable.c \
- dapl_evd_clear_unwaitable.c
-
-COMMON_SRCS = dapl_cookie.c \
- dapl_cr_accept.c \
- dapl_cr_query.c \
- dapl_cr_reject.c \
- dapl_cr_util.c \
- dapl_cr_callback.c \
- dapl_cr_handoff.c \
- dapl_ep_connect.c \
- dapl_ep_create.c \
- dapl_ep_disconnect.c \
- dapl_ep_dup_connect.c \
- dapl_ep_free.c \
- dapl_ep_reset.c \
- dapl_ep_get_status.c \
- dapl_ep_modify.c \
- dapl_ep_post_rdma_read.c \
- dapl_ep_post_rdma_write.c \
- dapl_ep_post_recv.c \
- dapl_ep_post_send.c \
- dapl_ep_query.c \
- dapl_ep_util.c \
- dapl_evd_dequeue.c \
- dapl_evd_free.c \
- dapl_evd_post_se.c \
- dapl_evd_resize.c \
- dapl_evd_util.c \
- dapl_evd_cq_async_error_callb.c \
- dapl_evd_qp_async_error_callb.c \
- dapl_evd_un_async_error_callb.c \
- dapl_evd_connection_callb.c \
- dapl_evd_dto_callb.c \
- dapl_get_consumer_context.c \
- dapl_get_handle_type.c \
- dapl_hash.c \
- dapl_hca_util.c \
- dapl_ia_close.c \
- dapl_ia_open.c \
- dapl_ia_query.c \
- dapl_ia_util.c \
- dapl_llist.c \
- dapl_lmr_free.c \
- dapl_lmr_query.c \
- dapl_lmr_util.c \
- dapl_lmr_sync_rdma_read.c \
- dapl_lmr_sync_rdma_write.c \
- dapl_mr_util.c \
- dapl_provider.c \
- dapl_sp_util.c \
- dapl_psp_create.c \
- dapl_psp_create_any.c \
- dapl_psp_free.c \
- dapl_psp_query.c \
- dapl_pz_create.c \
- dapl_pz_free.c \
- dapl_pz_query.c \
- dapl_pz_util.c \
- dapl_rmr_create.c \
- dapl_rmr_free.c \
- dapl_rmr_bind.c \
- dapl_rmr_query.c \
- dapl_rmr_util.c \
- dapl_rsp_create.c \
- dapl_rsp_free.c \
- dapl_rsp_query.c \
- dapl_cno_util.c \
- dapl_set_consumer_context.c \
- dapl_ring_buffer_util.c \
- dapl_name_service.c \
- dapl_timer_util.c \
- dapl_ep_create_with_srq.c \
- dapl_ep_recv_query.c \
- dapl_ep_set_watermark.c \
- dapl_srq_create.c \
- dapl_srq_free.c \
- dapl_srq_query.c \
- dapl_srq_resize.c \
- dapl_srq_post_recv.c \
- dapl_srq_set_lw.c \
- dapl_srq_util.c \
- dapl_debug.c
-
-LINUX_SRCS = dapl_osd.c
-
-SRCS = $(UDAPL_SRCS) $(COMMON_SRCS) $(LINUX_SRCS) $(PROVIDER_SRCS)
-
-UDAPL_OBJS = $(UDAPL_SRCS:%.c=$(OBJ_PATH)/%.o)
-COMMON_OBJS = $(COMMON_SRCS:%.c=$(OBJ_PATH)/%.o)
-LINUX_OBJS = $(LINUX_SRCS:%.c=$(OBJ_PATH)/%.o)
-PROVIDER_OBJS = $(PROVIDER_SRCS:%.c=$(OBJ_PATH)/%.o)
-
-OBJS = $(UDAPL_OBJS) $(COMMON_OBJS) $(LINUX_OBJS) $(PROVIDER_OBJS)
-
-
-all: mkdirs $(TARGET) $(STATIC) MAKE_DONE
-
-mkdirs:
- @[ -d $(TARGET_PATH) ] || /bin/mkdir -p $(TARGET_PATH)
- @[ -d $(OBJ_PATH) ] || /bin/mkdir -p $(OBJ_PATH)
-
-$(UDAPL_OBJS): $(OBJ_PATH)/%.o : %.c
- @echo Compiling $<
- $(CC) $(CFLAGS) -c $< -o $@
-
-$(COMMON_OBJS): $(OBJ_PATH)/%.o : $(COMMON)/%.c
- @echo Compiling $<
- $(CC) $(CFLAGS) -c $< -o $@
-
-$(LINUX_OBJS): $(OBJ_PATH)/%.o : $(LINUX)/%.c
- @echo Compiling $<
- $(CC) $(CFLAGS) -c $< -o $@
-
-$(PROVIDER_OBJS): $(OBJ_PATH)/%.o : $(PROVIDER)/%.c
- @echo Compiling $<
- $(CC) $(CFLAGS) -c $< -o $@
-
-$(TARGET): $(OBJS)
- @echo Linking $(TARGET)
- $(LD) $(LDFLAGS) $^ -o $(TARGET)
-
-$(STATIC): $(OBJS)
- @echo Archiving $(STATIC)
- @$(AR) $(ARFLAGS) $(STATIC) $^
-
-MAKE_DONE:
- @echo "--- Make done ----"
-
-clean:
- rm -f $(OBJS)
- rm -f $(TARGET) $(STATIC)
-
-tidy:
- rm -f *~
- rm -f ../common/*~
- rm -f ../include/*~
- rm -f ../vapi/*~
- rm -f ../ibapi/*~
- rm -f linux/*~
+++ /dev/null
-#
-# Copyright (c) 2002-2005, Network Appliance, Inc. 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.
-#
-
-#*********************************************************************
-#
-# MODULE: Makefile
-#
-# PURPOSE: Makefile for DAT registration module
-#
-# $Id: Makefile 1301 2005-03-24 05:58:55Z jlentini $
-#*********************************************************************/
-
-
-#AT = @
-ARCH := $(shell uname -m)
-UDAT_ROOT := $(shell /bin/pwd)
-UDAT_LINUX := $(UDAT_ROOT)/linux
-UDAT_COMMON := $(UDAT_ROOT)/../common
-
-DAT_ROOT := $(UDAT_ROOT)/..
-DAT_HEADERS := $(DAT_ROOT)/include
-DAT_HEADERS_SYSTEM_PATH := $(PREFIX)/usr/include/dat
-
-VPATH = $(UDAT_ROOT) $(UDAT_LINUX) $(UDAT_COMMON)
-
-OBJ_PATH = $(UDAT_ROOT)/Obj/$(ARCH)
-TARGET_PATH = $(UDAT_ROOT)/Target/$(ARCH)
-OBJ_PATH32 = $(UDAT_ROOT)/Obj/$(ARCH).32bit
-TARGET_PATH32 = $(UDAT_ROOT)/Target/$(ARCH).32bit
-
-STATIC = $(TARGET_PATH)/libdat.a
-DYNAMIC = $(TARGET_PATH)/libdat.so
-STATIC32 = $(TARGET_PATH32)/libdat.a
-DYNAMIC32 = $(TARGET_PATH32)/libdat.so
-
-ifeq "$(ARCH)" "x86_64"
-#DUAL_ARCH = true
-endif
-
-OBJS = $(OBJ_PATH)/udat.o \
- $(OBJ_PATH)/udat_api.o \
- $(OBJ_PATH)/dat_api.o \
- $(OBJ_PATH)/dat_osd.o \
- $(OBJ_PATH)/dat_dictionary.o \
- $(OBJ_PATH)/dat_dr.o \
- $(OBJ_PATH)/dat_init.o \
- $(OBJ_PATH)/dat_sr.o \
- $(OBJ_PATH)/udat_sr_parser.o \
- $(OBJ_PATH)/dat_strerror.o
-
-OBJS32= $(OBJ_PATH32)/udat.o \
- $(OBJ_PATH32)/udat_api.o \
- $(OBJ_PATH32)/dat_api.o \
- $(OBJ_PATH32)/dat_osd.o \
- $(OBJ_PATH32)/dat_dictionary.o \
- $(OBJ_PATH32)/dat_dr.o \
- $(OBJ_PATH32)/dat_init.o \
- $(OBJ_PATH32)/dat_sr.o \
- $(OBJ_PATH32)/udat_sr_parser.o \
- $(OBJ_PATH32)/dat_strerror.o
-
-#
-# CC definitions
-#
-
-CC = gcc
-
-CFLAGS = -O $(CPPFLAGS)
-CFLAGS += -g3
-CFLAGS += -fPIC
-CFLAGS += -I.
-CFLAGS += -I../common
-CFLAGS += -I./linux
-CFLAGS += -I$(DAT_HEADERS)
-CFLAGS += -Wall
-CFLAGS += -Wstrict-prototypes
-CFLAGS += -Wmissing-prototypes
-CFLAGS += -Wmissing-declarations
-CFLAGS += -Werror
-ifdef GPROF
-CFLAGS += -pg
-endif
-ifeq "$(ARCH)" "x86_64"
-CFLAGS32 = -m32
-endif
-
-CFLAGS += -DDAT_EXTENSIONS
-
-#
-# LD definitions
-#
-
-LD = gcc
-
-LDFLAGS = -shared
-LDFLAGS += -ldl
-ifeq "$(ARCH)" "x86_64"
-LDFLAGS32 = -m32
-endif
-
-
-#
-# AR definitions
-#
-
-AR = ar
-
-ARFLAGS = r
-
-
-#
-# install definitions
-#
-
-INSTALL = install
-
-INSTALL_FLAGS += -p
-
-
-#
-# rpm definitions
-#
-
-RPM_FILE = dat-registry-1.1
-RPM_PATH = /tmp/$(RPM_FILE)-build
-
-
-#
-# Rules
-#
-
-ifdef DUAL_ARCH
-all: mkdirs $(DYNAMIC) $(STATIC) $(DYNAMIC32) $(STATIC32)
-else
-all: mkdirs $(DYNAMIC) $(STATIC)
-endif
-
-mkdirs:
- $(AT)[ -d $(TARGET_PATH) ] || /bin/mkdir -p $(TARGET_PATH)
- $(AT)[ -d $(OBJ_PATH) ] || /bin/mkdir -p $(OBJ_PATH)
-ifdef DUAL_ARCH
- $(AT)[ -d $(TARGET_PATH32) ] || /bin/mkdir -p $(TARGET_PATH32)
- $(AT)[ -d $(OBJ_PATH32) ] || /bin/mkdir -p $(OBJ_PATH32)
-endif
-
-$(OBJ_PATH)/%.o : %.c
- @echo Compiling $<
- $(AT)$(CC) $(CFLAGS) -c $< -o $@
-
-$(OBJ_PATH32)/%.o : %.c
- @echo Compiling $<
- $(AT)$(CC) $(CFLAGS) $(CFLAGS32) -c $< -o $@
-
-$(DYNAMIC): $(OBJS)
- @echo Linking $(DYNAMIC)
- $(AT)$(LD) $(LDFLAGS) $^ -o $(DYNAMIC)
-
-$(DYNAMIC32): $(OBJS32)
- @echo Linking $(DYNAMIC32)
- $(AT)$(LD) $(LDFLAGS) $(LDFLAGS32) $^ -o $(DYNAMIC32)
-
-$(STATIC): $(OBJS)
- @echo Archiving $(STATIC)
- $(AT)$(AR) $(ARFLAGS) $(STATIC) $^
-
-$(STATIC32): $(OBJS32)
- @echo Archiving $(STATIC32)
- $(AT)$(AR) $(ARFLAGS) $(STATIC32) $^
-
-rpm: mkdirs
- @echo Creating RPM
- $(AT)if [ -d $(RPM_PATH) ]; then rm -rf $(RPM_PATH); fi; \
- mkdir $(RPM_PATH); \
- mkdir $(RPM_PATH)/SOURCES; \
- mkdir $(RPM_PATH)/BUILD; \
- mkdir $(RPM_PATH)/RPMS; \
- mkdir $(RPM_PATH)/SPECS; \
- case `uname -m` in \
- i?86*) ARCH_DIR=i386;;\
- ia64*) ARCH_DIR=ia64;;\
- x86_64*) ARCH_DIR=x86_64;;\
- *) echo "Unknown architecture: `uname -m`"; exit 1;;\
- esac;\
- mkdir $(RPM_PATH)/RPMS/$$ARCH_DIR; \
- echo "%_topdir $(RPM_PATH)" > $(RPM_PATH)/rpmmacros; \
- echo "macrofiles: /usr/lib/rpm/macros:/etc/rpm/macros:$(RPM_PATH)/rpmmacros" > $(RPM_PATH)/rpmrc; \
- cd $(DAT_ROOT)/..; tar zcvf $(RPM_PATH)/SOURCES/$(RPM_FILE).tgz dat/* --exclude dat/udat/Target --exclude dat/udat/Obj; \
- install -m 644 $(UDAT_LINUX)/$(RPM_FILE).spec $(RPM_PATH)/SPECS/; \
- if [ -f /usr/bin/rpmbuild ]; then \
- RPMBUILD=/usr/bin/rpmbuild;\
- else\
- RPMBUILD=rpm;\
- fi;\
- $$RPMBUILD -bb --rcfile $(RPM_PATH)/rpmrc --target=$$ARCH_DIR $(RPM_PATH)/SPECS/$(RPM_FILE).spec; \
- if [ $$? != 0 ]; then \
- echo "### ERROR: rpm failed:"; \
- exit 1; \
- fi; \
- mv $(RPM_PATH)/RPMS/$$ARCH_DIR/*.rpm $(TARGET_PATH); \
- rm -rf $(RPM_PATH)
-
-install: all
-ifdef DUAL_ARCH
- $(INSTALL) $(INSTALL_FLAGS) -m 755 $(DYNAMIC32) $(PREFIX)/usr/lib/libdat.so
- $(INSTALL) $(INSTALL_FLAGS) -m 644 $(STATIC32) $(PREFIX)/usr/lib/libdat.a
- $(INSTALL) $(INSTALL_FLAGS) -m 755 $(DYNAMIC) $(PREFIX)/usr/lib64/libdat.so
- $(INSTALL) $(INSTALL_FLAGS) -m 644 $(STATIC) $(PREFIX)/usr/lib64/libdat.a
-else
- $(INSTALL) $(INSTALL_FLAGS) -m 755 $(DYNAMIC) $(PREFIX)/usr/lib
- $(INSTALL) $(INSTALL_FLAGS) -m 644 $(STATIC) $(PREFIX)/usr/lib
-endif
- $(INSTALL) $(INSTALL_FLAGS) -m 755 -d $(DAT_HEADERS_SYSTEM_PATH)
- $(INSTALL) $(INSTALL_FLAGS) -m 644 $(DAT_HEADERS)/dat/*.h $(DAT_HEADERS_SYSTEM_PATH)
-
-clean:
- rm -f $(OBJ_PATH)/*.o
- rm -f $(TARGET_PATH)/*.rpm
- rm -f $(DYNAMIC)
- rm -f $(STATIC)
-ifdef DUAL_ARCH
- rm -f $(OBJ_PATH32)/*.o
- rm -f $(DYNAMIC32)
- rm -f $(STATIC32)
-endif
-
-tidy:
- rm -f $(UDAT_ROOT)/*~
- rm -f $(UDAT_LINUX)/*~
- rm -f $(UDAT_COMMON)/*~
--- /dev/null
+#
+# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source
+# file to this component. This file merely indirects to the real make file
+# that is shared by all the driver components of the OpenIB Windows project.
+#
+
+!INCLUDE ..\..\..\..\inc\openib.def
+++ /dev/null
-#
-# Copyright (c) 2002-2005, Network Appliance, Inc. 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.
-#
-
-# -----------------------------------------------------
-#
-# Description : Makefile for dapltest
-#
-# -----------------------------------------------------
-
-
-ARCH := $(shell uname -m)
-
-
-#
-# Variables
-#
-
-# DAPL_ROOT = path to DAPL root directory
-DAPL_ROOT = $(shell pwd)/../../..
-# OBJECT_DIR = directory for object files
-OBJECT_DIR = ./Obj
-# TARGET_DIR = directory for executables
-TARGET_DIR = ./Target
-# EXECUTABLE = executable file
-EXECUTABLE = $(TARGET_DIR)/dapltest
-
-# SOURCE DIRECTORIES
-INCLUDE_DIR = ../include
-CMD_DIR = ../cmd
-TEST_DIR = ../test
-COMMON_DIR = ../common
-MDEP_DIR = ../mdep/linux
-UDAPL_DIR = ../udapl
-
-CMD_SRCS = \
- dapl_fft_cmd.c \
- dapl_getopt.c \
- dapl_limit_cmd.c \
- dapl_main.c \
- dapl_netaddr.c \
- dapl_params.c \
- dapl_performance_cmd.c \
- dapl_qos_util.c \
- dapl_quit_cmd.c \
- dapl_server_cmd.c \
- dapl_transaction_cmd.c \
-
-TEST_SRCS = \
- dapl_bpool.c \
- dapl_client.c \
- dapl_client_info.c \
- dapl_cnxn.c \
- dapl_execute.c \
- dapl_fft_connmgt.c \
- dapl_fft_endpoint.c \
- dapl_fft_hwconn.c \
- dapl_fft_mem.c \
- dapl_fft_pz.c \
- dapl_fft_queryinfo.c \
- dapl_fft_test.c \
- dapl_fft_util.c \
- dapl_limit.c \
- dapl_memlist.c \
- dapl_performance_client.c \
- dapl_performance_server.c \
- dapl_performance_stats.c \
- dapl_performance_util.c \
- dapl_quit_util.c \
- dapl_server.c \
- dapl_server_info.c \
- dapl_test_data.c \
- dapl_test_util.c \
- dapl_thread.c \
- dapl_transaction_stats.c \
- dapl_transaction_test.c \
- dapl_transaction_util.c \
- dapl_util.c \
-
-COMMON_SRCS = \
- dapl_endian.c \
- dapl_global.c \
- dapl_performance_cmd_util.c \
- dapl_quit_cmd_util.c \
- dapl_transaction_cmd_util.c \
-
-UDAPLTEST_SRCS = \
- udapl_tdep.c
-
-MDEP_SRCS = \
- dapl_mdep_user.c
-
-# -------------- Automatic Variables ------------------
-CMD_OBJS = $(CMD_SRCS:%.c=$(OBJECT_DIR)/%.o)
-TEST_OBJS = $(TEST_SRCS:%.c=$(OBJECT_DIR)/%.o)
-COMMON_OBJS = $(COMMON_SRCS:%.c=$(OBJECT_DIR)/%.o)
-UDAPLTEST_OBJS = $(UDAPLTEST_SRCS:%.c=$(OBJECT_DIR)/%.o)
-MDEP_OBJS = $(MDEP_SRCS:%.c=$(OBJECT_DIR)/%.o)
-
-SRCS = $(CMD_SRCS) $(TEST_SRCS) $(COMMON_SRCS) $(UDAPLTEST_SRCS) $(MDEP_SRCS)
-OBJS = $(CMD_OBJS) $(TEST_OBJS) $(COMMON_OBJS) $(UDAPLTEST_OBJS) $(MDEP_OBJS)
-
-# -----------------------------------------------------
-
-
-#
-# Tools
-#
-
-ECHO = echo
-INSTALL = /usr/bin/install
-MAKEDEPEND = makedepend
-RM = rm
-
-
-#
-# Compiler
-#
-
-CC = gcc
-
-# DEFINES
-DEFINES = __LINUX__
-DEFINES += __PENTIUM__
-
-# INCLUDE_DIRS = directories containing include files
-INCLUDE_DIRS = $(DAPL_ROOT)/dat/include/
-INCLUDE_DIRS += $(MDEP_DIR)
-INCLUDE_DIRS += $(INCLUDE_DIR)
-
-CC_FLAGS = -g3
-CC_FLAGS += -Wall
-CC_FLAGS += -Wmissing-prototypes
-CC_FLAGS += -Wstrict-prototypes
-CC_FLAGS += -Wmissing-declarations
-CC_FLAGS += -Werror
-CC_FLAGS += -pipe
-
-# -------------- Automatic Variables ------------------
-INCLUDE_PATH += $(foreach DIR, $(INCLUDE_DIRS), -I$(DIR))
-
-CC_FLAGS += $(INCLUDE_PATH)
-CC_FLAGS += $(foreach DEFINE, $(DEFINES), -D$(DEFINE))
-# -----------------------------------------------------
-
-
-#
-# Linker
-#
-
-LD = gcc
-
-# LIB_OBJS = library object files
-LIB_OBJS = dat
-LIB_OBJS += pthread
-
-# LIB_DIRS = directories for library object files
-LIB_DIRS = $(DAPL_ROOT)/dat/udat/Target/$(ARCH)
-
-# if the provider library should be explicitly linked
-ifeq ($(EXPLICIT_LINK),1)
-# in addition to providers listed in the DAT static registry
-# the specified provider will be available to the consumer
-LIB_OBJS += dapl
-LIB_DIRS += $(DAPL_ROOT)/dapl/udapl/Target
-endif
-
-# -------------- Automatic Variables ------------------
-LD_FLAGS = $(foreach DIR, $(LIB_DIRS), -L$(DIR))
-LD_FLAGS += $(foreach DIR, $(LIB_DIRS), -Wl,-R$(DIR))
-LD_FLAGS += $(foreach OBJ, $(LIB_OBJS), -l$(OBJ))
-# -----------------------------------------------------
-
-
-#
-# Rules
-#
-
-all : mkdirs $(EXECUTABLE)
-
-mkdirs:
- @[ -d $(TARGET_DIR) ] || /bin/mkdir -p $(TARGET_DIR)
- @[ -d $(OBJECT_DIR) ] || /bin/mkdir -p $(OBJECT_DIR)
-
-$(EXECUTABLE) : $(OBJS)
- @$(ECHO) "--- Linking $@ ---"
- $(LD) $(LD_FLAGS) $(OBJS) -o $@
-
-$(CMD_OBJS): $(OBJECT_DIR)/%.o : $(CMD_DIR)/%.c
- @$(ECHO) "--- Compiling $< ---"
- $(CC) $(CC_FLAGS) -o $@ -c $<
-
-$(TEST_OBJS): $(OBJECT_DIR)/%.o : $(TEST_DIR)/%.c
- @$(ECHO) "--- Compiling $< ---"
- $(CC) $(CC_FLAGS) -o $@ -c $<
-
-$(COMMON_OBJS): $(OBJECT_DIR)/%.o : $(COMMON_DIR)/%.c
- @$(ECHO) "--- Compiling $< ---"
- $(CC) $(CC_FLAGS) -o $@ -c $<
-
-$(UDAPLTEST_OBJS): $(OBJECT_DIR)/%.o : $(UDAPL_DIR)/%.c
- @$(ECHO) "--- Compiling $< ---"
- $(CC) $(CC_FLAGS) -o $@ -c $<
-
-$(MDEP_OBJS): $(OBJECT_DIR)/%.o : $(MDEP_DIR)/%.c
- @$(ECHO) "--- Compiling $< ---"
- $(CC) $(CC_FLAGS) -o $@ -c $<
-
-clean:
- $(RM) -f $(OBJS) $(EXECUTABLE)
+++ /dev/null
-#\r
-# Copyright (c) 2002-2005, Network Appliance, Inc. All rights reserved.\r
-#\r
-# This Software is licensed under one of the following licenses:\r
-#\r
-# 1) under the terms of the "Common Public License 1.0" a copy of which is\r
-# in the file LICENSE.txt in the root directory. The license is also\r
-# available from the Open Source Initiative, see\r
-# http://www.opensource.org/licenses/cpl.php.\r
-#\r
-# 2) under the terms of the "The BSD License" a copy of which is in the file\r
-# LICENSE2.txt in the root directory. The license is also available from\r
-# the Open Source Initiative, see\r
-# http://www.opensource.org/licenses/bsd-license.php.\r
-#\r
-# 3) under the terms of the "GNU General Public License (GPL) Version 2" a \r
-# copy of which is in the file LICENSE3.txt in the root directory. The \r
-# license is also available from the Open Source Initiative, see\r
-# http://www.opensource.org/licenses/gpl-license.php.\r
-#\r
-# Licensee has the right to choose one of the above licenses.\r
-#\r
-# Redistributions of source code must retain the above copyright\r
-# notice and one of the license notices.\r
-#\r
-# Redistributions in binary form must reproduce both the above copyright\r
-# notice, one of the license notices in the documentation\r
-# and/or other materials provided with the distribution.\r
-#\r
-\r
-#*********************************************************************\r
-# \r
-# NMAKE Options (passed by macro) \r
-#\r
-# Option Invoke NMKAE\r
-# ----------------------- -----------------------\r
-# expilicit linking nmake EXPLCIT_LINK=1\r
-#\r
-#*********************************************************************\r
-\r
-\r
-#*********************************************************************\r
-# \r
-# Dot Directives\r
-#\r
-#*********************************************************************\r
-\r
-.SUFFIXES : # clear the .SUFFIXES list\r
-.SUFFIXES : .c # initialize .SUFFIXES list\r
-\r
-\r
-#*********************************************************************\r
-#\r
-# Source directories\r
-#\r
-#*********************************************************************\r
-\r
-INCLUDE_DIR = ../include\r
-\r
-CMD_DIR = ../cmd\r
-TEST_DIR = ../test\r
-COMMON_DIR = ../common\r
-MDEP_DIR = ../mdep/windows\r
-UDAPLTEST_DIR = .\r
-\r
-#*********************************************************************\r
-# \r
-# Macros\r
-#\r
-#*********************************************************************\r
-\r
-DAPL_ROOT = ../../../\r
-\r
-OBJ_PATH = Obj\r
-TARGET_PATH = Target\r
-\r
-OBJS = $(OBJ_PATH)/dapl_bpool.obj \\r
- $(OBJ_PATH)/dapl_client.obj \\r
- $(OBJ_PATH)/dapl_client_info.obj \\r
- $(OBJ_PATH)/dapl_cnxn.obj \\r
- $(OBJ_PATH)/dapl_endian.obj \\r
- $(OBJ_PATH)/dapl_fft_cmd.obj \\r
- $(OBJ_PATH)/dapl_fft_connmgt.obj \\r
- $(OBJ_PATH)/dapl_fft_dataxfer.obj \\r
- $(OBJ_PATH)/dapl_fft_dataxfer_client.obj \\r
- $(OBJ_PATH)/dapl_fft_endpoint.obj \\r
- $(OBJ_PATH)/dapl_fft_hwconn.obj \\r
- $(OBJ_PATH)/dapl_fft_mem.obj \\r
- $(OBJ_PATH)/dapl_fft_pz.obj \\r
- $(OBJ_PATH)/dapl_fft_queryinfo.obj \\r
- $(OBJ_PATH)/dapl_fft_test.obj \\r
- $(OBJ_PATH)/dapl_fft_util.obj \\r
- $(OBJ_PATH)/dapl_getopt.obj \\r
- $(OBJ_PATH)/dapl_limit.obj \\r
- $(OBJ_PATH)/dapl_limit_cmd.obj \\r
- $(OBJ_PATH)/dapl_main.obj \\r
- $(OBJ_PATH)/dapl_mdep.obj \\r
- $(OBJ_PATH)/dapl_memlist.obj \\r
- $(OBJ_PATH)/dapl_netaddr.obj \\r
- $(OBJ_PATH)/dapl_params.obj \\r
- $(OBJ_PATH)/dapl_performance_client.obj \\r
- $(OBJ_PATH)/dapl_performance_cmd.obj \\r
- $(OBJ_PATH)/dapl_performance_server.obj \\r
- $(OBJ_PATH)/dapl_performance_stats.obj \\r
- $(OBJ_PATH)/dapl_performance_util.obj \\r
- $(OBJ_PATH)/dapl_quit_cmd.obj \\r
- $(OBJ_PATH)/dapl_server.obj \\r
- $(OBJ_PATH)/dapl_server_cmd.obj \\r
- $(OBJ_PATH)/dapl_server_info.obj \\r
- $(OBJ_PATH)/dapl_test_data.obj \\r
- $(OBJ_PATH)/dapl_test_util.obj \\r
- $(OBJ_PATH)/dapl_thread.obj \\r
- $(OBJ_PATH)/dapl_transaction_cmd.obj \\r
- $(OBJ_PATH)/dapl_transaction_stats.obj \\r
- $(OBJ_PATH)/dapl_transaction_test.obj \\r
- $(OBJ_PATH)/dapl_transaction_util.obj \\r
- $(OBJ_PATH)/dapl_util.obj\r
-\r
-EXEC = dapltest.exe\r
-\r
-#\r
-# Compiler \r
-#\r
-\r
-CC = cl\r
-\r
-INC_FLAGS = \\r
- /I $(DAPL_ROOT)/dat/include /I $(INCLUDE_DIR) /I $(MDEP_DIR)\r
-\r
-CC_FLAGS= \\r
- /nologo /Zel /Zp1 /Gy /W2 /Gd /QIfdiv- /QIf /QI0f /GB /Gi- /Gm- /GX- \\r
- /GR- /GF -Z7 /Od /Oi /Oy- $(INC_FLAGS) \\r
- -DWIN32 -D_IBM -D_X86_ -D__i386__ -D__PENTIUM__ -DDAT_THREADSAFE=DAT_FALSE\r
-\r
-#\r
-# Linker\r
-#\r
-\r
-LINK = link\r
-\r
-LIBS = libc.lib ws2_32.lib advapi32.lib kernel32.lib \\r
- User32.lib libcmt.lib msvcrt.lib $(DAT_PATH)/udat/Target/dat.lib\r
-\r
-LINK_FLAGS = \\r
- /nologo /subsystem:console /DEBUG /incremental:no /machine:I386 $(LIBS)\r
-\r
-# if the provider library should be explicitly linked \r
-!IFDEF EXPLICIT_LINK\r
-# in addition to providers listed in the DAT static registry\r
-# the specified provider will be available to the consumer \r
-DAPL_PATH = ../../../dapl\r
-#\r
-# the /INCLUDE option is used to force a symbol reference to the DAPL \r
-# provider library. If there are no references, Windows will not load \r
-# the DAPL library when dapltest is executed.\r
-#\r
-LIBS = $(LIBS) $(DAPL_PATH)/udapl/Target/dapl.lib /INCLUDE:_dapl_ia_open\r
-!ENDIF\r
-\r
-#\r
-# System Utilities\r
-#\r
-\r
-RM = rm -f\r
-\r
-\r
-#*********************************************************************\r
-# \r
-# Inference Rules\r
-#\r
-#*********************************************************************\r
-\r
-{$(UDAPLTEST_DIR)}.c{$(OBJ_PATH)}.obj:\r
- $(CC) $(CC_FLAGS) /Fo$@ /c $< \r
-\r
-{$(MDEP_DIR)}.c{$(OBJ_PATH)}.obj:\r
- $(CC) $(CC_FLAGS) /Fo$@ /c $< \r
-\r
-{$(COMMON_DIR)}.c{$(OBJ_PATH)}.obj:\r
- $(CC) $(CC_FLAGS) /Fo$@ /c $< \r
-\r
-{$(TEST_DIR)}.c{$(OBJ_PATH)}.obj:\r
- $(CC) $(CC_FLAGS) /Fo$@ /c $< \r
-\r
-{$(CMD_DIR)}.c{$(OBJ_PATH)}.obj:\r
- $(CC) $(CC_FLAGS) /Fo$@ /c $< \r
-\r
-\r
-#*********************************************************************\r
-#\r
-# Description Blocks\r
-#\r
-#*********************************************************************\r
-\r
-all : mkdirs $(EXEC)\r
-\r
-mkdirs:\r
- if not exist "$(OBJ_PATH)" mkdir "$(OBJ_PATH)"\r
- if not exist "$(TARGET_PATH)" mkdir "$(TARGET_PATH)"\r
-\r
-$(EXEC) : $(OBJS)\r
- $(LINK) $(LINK_FLAGS) /out:$(EXEC) $(OBJS)\r
-\r
-clean: \r
- $(RM) $(OBJS)\r
- $(RM) $(EXEC)\r
--- /dev/null
+!if $(FREEBUILD)
+TARGETNAME=dtestx
+!else
+TARGETNAME=dtestxd
+!endif
+TARGETPATH=..\..\..\..\bin\user\obj$(BUILD_ALT_DIR)
+TARGETTYPE=PROGRAM
+UMTYPE=console
+USE_MSVCRT=1
+
+SOURCES=dtestx.rc \
+ dtestx.c
+
+INCLUDES=.;..\..\dat\include;\
+ ../../../../inc;..\..\..\..\inc\user;\
+ $(SDK_INC_PATH);
+
+RCOPTIONS=/I..\..\..\..\inc;
+
+# Set defines particular to the driver.
+# DAT_EXTENSIONS set by default
+#USER_C_FLAGS=$(USER_C_FLAGS) /DDAT_EXTENSIONS
+
+!if $(FREEBUILD)
+DATLIB=dat2.lib
+!else
+DATLIB=dat2d.lib
+!endif
+
+TARGETLIBS=$(TARGETPATH)\*\$(DATLIB) $(SDK_LIB_PATH)\ws2_32.lib
+
+# XXX do this ASAP - MSC_WARNING_LEVEL= /W3
+MSC_WARNING_LEVEL= /W1
+