Export Matt's Accelio libpath (killme).

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Also ofed libs.  (killme)

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Improved dout prints, plus my and Marcus' msg array cnt fixes.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Improved version suggested by Marcus.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Check for XIO_DATA_TYPE_PTR in XioConnection::on_msg_req().

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Fix for the missing buffer segment.

Whoops.  In the enqueue step, req_off really does start
at 0, and ranges to msg_cnt-1.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Chaining cleanup.  Move head into block with tail.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Re-disable Xio trace magic.

Also pre-fill some slots to remove startup warning/stalls.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Fix xio_connection teardown.

The XIO_SESSION_CONNECTION_DISCONNECTION event indicates a
connection is no longer useable, but not that it can be destroyed.

Give XioConnection an atomic connected property, and set it to
false on remote disconnection.  Also xio_connection_destroy() is
now called in XioConnection's destructor.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Cleanup portal bind.

The main effect is that portal0 is mapped to the first bound
port, if any.  Saves a useless portal and thread in the bound
case.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
xio: set port in entity_addr_from_sockaddr
xio: set connected on the server side as well
cmake: add boost.regex dependency
osd: print error message on osdmap addr mismatch
Really nocrc.

The ms nocrc config param has always omitted -all- crc checking
on decode, but only partially disabled computation on encode, for
some reason.  This change makes ms nocrc apply in all cases.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Add a pool size hint method to XioMessenger.

The XioClient test uses the Accelio pool allocator to allocate
message buffers.  Allow the code to tell XioMessenger to add a
slab of exactly that size (hinting a size that already has an
allocator has no effect).

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Efficiently restore Accelio larger iovec arrays.

Pool allocating a custom iovec array was up to 35% slower than
builtin, so this version introduces a widened xio_msg wrapper
and uses the wide structure in both the expanded leader structure
and the optional trailer array.

Tested with XIO_MSGR_IOVLEN of 4, to verify chaining at msg_cnt ==
2, then defined to 16 (the original XIO_IOVMAX).

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Don't delete portals more than once.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Trace print cleanups.

Introduce new trace counter magic.  Remove dead code.  Increase
trace gap to 8192.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Temporary send peer addr in Xio header.

This has (measured) negligible perf cost, but is still not a
permanent solution.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>