Sean Hefty [Thu, 22 Apr 2010 17:16:04 +0000 (10:16 -0700)]
ib/acm: add state tracking
To support alternate address and route resolution protocols,
add state tracking to destinations. This will allow for the
completion of address resolution separate from route
resolution.
As part of this change, we add locking to destinations,
rather than relying on the endpoint locking.
Sean Hefty [Fri, 9 Apr 2010 18:48:10 +0000 (11:48 -0700)]
ibacm: resolve source address if not given
Allow the user to only provide the destination address into
ACM. If a source address is not given, resolve a usable
source address, and return it to the user.
Sean Hefty [Thu, 29 Oct 2009 21:02:22 +0000 (13:02 -0800)]
ibacm: rework socket interface messages
Rather than indicating the src/dst address type in the acm message
header, indicate the type in the acm_ep_addr structure directly.
This adds more flexibility and will permit additional acm_ep_addr
structures to be carried in a single message request or response.
Allow multiple addresses in a request or response message. This
is needed to support a wider range of fabric topologies, where the
inbound and outbound paths may differ, plus support failover.
Add path records to the resolve message, rather than as a separate
operation. Return path records directly from the lookup.
Sean Hefty [Fri, 2 Oct 2009 19:48:47 +0000 (12:48 -0700)]
libacm: open devices once
Instead of opening IB devices on every call to ib_acm_convert_to_path,
open all devices during initialization and store the necessary data.
This optimizes multiple calls to ib_acm_convert_to_path to improve
connection setup times.