Merge pull request #112 from pmmccorm/master

Enable modular building of selected providers, disabled by default.
fabric: Add missing wait/poll set classes

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
fabric: Export fi_register_provider

Rename fi_version_register and export it from the library.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
fabric: Define scalable endpoints

Scalable endpoints are endpoints that support multiple send and
receive queues (contexts).

Introduce the concept of transmit and receive contexts
(generalizations of send/receive queues).  Allow applications to
request that multiple contexts be associated with a single endpoint.

An endpoint has a single transport address, but the contexts allow
for multiple threads to process requests in parallel without
ordering or synchronization constraints.

This requires additional domain, endpoint, and AV attributes.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
configury: move provider-specific configury into separate .m4 files

Allow providers to have their own configure.m4 file that is
m4_include'd in the top-level configure.ac file.  This helps keeps
provider-specific logic down in the respective prov/[foo] directories.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
verbs: configury updates

1. Use numeric values for some shell variables.  This lets you use -eq
and -ne test operators, and basically provides for a) (slightly)
better error checking, and b) using the same values in
AC_DEFINE_UNQUOTED.
2. Divorce the concept of whether the user asked for verbs from
whether it can actually be compiled.
3. If the user asked for verbs and it can't be compiled, print a
nice explanitory message before erroring out.
4. Also check for header files; it's a common error for users to have
libraries installed but not the relevant foo-devel packages installed.
5. Always output an AC_MSG_NOTICE in the configure output telling the
user a) whether this provider will be built, and if so, b) whether the
provider will be built statically or as a DSO

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
sockets: configury updates

Quite similar previous commit in the verbs provider, but for the
sockets provider:

* use numeric shell variables
* separate check of whether provider can be built from whether user asked for it
* print appropriate notice/error messages

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
psm: configury updates

Quite similar previous commit in the verbs provider, but for the psm
provider:

* use numeric shell variables
* separate check of whether provider can be built from whether user
* asked for it
* print appropriate notice/error messages

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
Merge pull request #132 from jsquyres/topic/configury-suggestions

Configury updates for verbs, sockets, psm
prov/psm: fix the configuration script

Define HAVE_PSM in "config.h"; and describe format of the option
in the help message.

Signed-off-by: Jianxin Xiong <jianxin.xiong@intel.com>
Merge pull request #134 from j-xiong/master

prov/psm: fix the configuration script
prov/psm: more fix for the configuration script

Previously the "auto" setting would fail when PSM is not present.

Signed-off-by: Jianxin Xiong <jianxin.xiong@intel.com>
Merge pull request #136 from j-xiong/master

prov/psm: more fix for the configuration script
Merge remote branch 'upstream/master'
Merge pull request #137 from shefty/master

Add missing class and rename provider register export
fabric: Rename EQ condread to sread and remove cond param

An EQ is for control events.  There isn't a requirement
to support a condition on the blocking read call.  Remove
the cond variable and rename the read call.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
fabric: Rename CQ condread to sread to match EQ

The blocking EQ read call was renamed to sread, synchronous read.
Modify the CQ condread call to match.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
fabric: Add event type parameter to EQ ops

Move the event type from the top of the various event
structures to its own parameter.  This simplifies the
interface for the applications.  An event parameter is
added to the EQ read, sread, and write calls.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
fabric: Add CM protocol to EP protocol defines

IB is braindead and has an out of band connection protocol
that isn't required to be used.  For EPs with IB
protocols, we need to include the CM protocol as part of
the definition in order to ensure interoperability.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
fabric: Remove FI_BLOCK flag

It is no longer used as part of the interface.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>