rma_pipeline: some more checking of the params.
sock: fix a problem when sending RMA read request message.
Merge branch 'master' of https://github.com/CCI/cci
Revert "Merge branch 'master' of https://github.com/CCI/cci"

This reverts commit 36b009e556bc12d36db4298368a0df69f7dff3f1, reversing
changes made to 67a11b0be293a054220e680bcb885376e583f991.
tcp: remove lock around progress conn sends

it leads to deadlock.
Also, re-enable recving a message until complete. When sending, RMAs
we send in two chunks, the header and data. Since we disable NAGLE,
TCP sends them separately. The receiver may get a POLLIN before the
data arrives and the recv will return early. This is bad.
(cherry picked from commit efa263c85a21e9e7b97b38ca94746a6dd319d659)
tcp: make progress sends more thread safe

Add lock around progress_queued
Add ep_locked flag to progress_conn_sends() to indicate if the
caller is holding the ep->lock.
Use the appropriate put tx call.
(cherry picked from commit b55cde9eddc9f387d38e85c65d245c3d8b1f3ad5)
sock: fix a problem when sending RMA read request message.
(cherry picked from commit 221496c0308196f9a9a010d7b87b0e98dc118e82)
tests/{client,server}: Assert context and connection values in send/recv/accept/connect events

tcp/sock/eth/verbs look OK.
cci.h: document that rma handle flags are ignored when used as a local handle
cci.h: clarify that the RMA FENCE is per connection
API: remove the endpoint context

Based on Scott's email:
 During the call Friday, Patrick asked if the endpoint context was needed.
 I argued that we could have as many as one endpoint per device or one
 endpoint per core.
 Upon further reflection, I agree with Patrick. We need user supplied
 contexts for connections, MSGs, and RMAs, because these are asynchronous
 operations. We need them to determine the owning connection, etc., when
 an event is returned from get_event().
 With endpoints, however, there is no call that returns something and we
 do not know the owning endpoint. For example, get_event() is per endpoint
 and the endpoint is a parameter to the call.
 Given this, I recommend just dropping the void *context from cci_endpoint_t.
Merge pull request #26 from CCI/topic/no-endpoint-context

API: remove the endpoint context
API: change keepalive semantic to send-only
API: add CCI_OPT_CONN_KEEPALIVE_TIMEOUT

and clarify the text for CCI_OPT_ENDPT_KEEPALIVE_TIMEOUT.
tcp: don't corrupt the closing conn list

Queue once. Don't requeue the same conn twice.
tcp: do not try to send on a closing connection

Simply queue the failed send on ep->evts with the event status
of CCI_ERR_DISCONNECTED.

Also, move conn status changes to under the ep->lock just before
moving to the new queue.
sock: make sure we return the RX buffer when we receive a rma_read_reply message.
tcp: init the return value before returning it

When sending, init the return value in case the connection is closing
before returning it.
tcp: check MSG length <= mss

Bug report by George Bosilca
tcp: honor the SILENT flags for MSGs