]> git.openfabrics.org - ~shefty/ibacm.git/log
~shefty/ibacm.git
13 years agoibacm: Add lock to prevent multiple daemons from running
Sean Hefty [Thu, 2 Dec 2010 22:12:56 +0000 (14:12 -0800)]
ibacm: Add lock to prevent multiple daemons from running

Use a lock file to prevent multiple daemons from running
simultaneously.

Without this lock, a second instance of ib_acm eventually
fails to bind to the server's TCP port and exits, but not
before it overwrites a portion of the log file.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
13 years agoibacm: decrease default retries
Sean Hefty [Wed, 1 Dec 2010 03:38:15 +0000 (19:38 -0800)]
ibacm: decrease default retries

With 15 retries, 2 seconds per timeout, the total timeout ends
up being too long when running on large clusters, where a node
can drop off at anytime.  Decrease the default number of retries
to 2.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
13 years agoibacm: add cfg files to distribution
Sean Hefty [Wed, 1 Dec 2010 03:31:04 +0000 (19:31 -0800)]
ibacm: add cfg files to distribution

acm_opts.cfg file is useful with the distribution to copy across
a cluster.  Update the option file with missing settings.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
13 years agoibacm: fixup white space in text
Sean Hefty [Wed, 1 Dec 2010 03:29:15 +0000 (19:29 -0800)]
ibacm: fixup white space in text

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
13 years agoibacm: Introduce loopback resolution 'protocol'
Sean Hefty [Tue, 16 Nov 2010 18:39:24 +0000 (10:39 -0800)]
ibacm: Introduce loopback resolution 'protocol'

OFED 1.5.2 introduced a kernel patch that disables looping
back multicast messages to the sending QP.  This capability
was enabled by default.  The current ACM address resolution
protocol depends on this feature of multicast.  To handle
the case where multicast loopback has been disabled, add an
option to ACM to resolve loopback addresses using local data
only.  This option is enabled by default.

When loopback resolution is set to 'local', ACM will automatically
insert a loopback destination into each endpoint.  Requests
to resolve a loopback address will find this destination
and use it to respond to client requests.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
13 years agoibacm: fix issuing SA query after recording address
Sean Hefty [Mon, 15 Nov 2010 20:08:46 +0000 (12:08 -0800)]
ibacm: fix issuing SA query after recording address

ACM has two ways that it can complete address resolution.  The
first is to receive a response to an address resolution query.
The second is to receive a multicast message carrying an address
resolution request.  In the second case, the address request
may be between two other nodes.

When this occurs, ACM will record the address information of
the source of the multicast message.  However, it's possible
for ACM to be in the process of trying to resolve that address.
After it records the address, it must see if there's an
outstanding request against that address, so that it can kick
off route resolution.

This fixes an issue where ACM will hang resolving addresses
found during scale-up testing.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
13 years agoibacm: enhance debug messages
Sean Hefty [Wed, 17 Nov 2010 00:05:28 +0000 (16:05 -0800)]
ibacm: enhance debug messages

Prefix all log messages with time stamp information.  This
provides useful debugging information regarding the timing of
various operations.

To help match up various operations with each other, improve
and simplify logging of endpoint and destination names.  We
save printable names with all destinations.  The
function to display address information is removed in favor
of using the normal logging function, a call to format address
data, and per thread logging data.

Finally, we add ability to handle LID/GID addresses in acm_log_addr.
This is required to display SA and multicast destination addresses
in the acm log file.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
13 years agoibacm: version 1.0.3 v1.0.3
Sean Hefty [Thu, 26 Aug 2010 17:27:49 +0000 (10:27 -0700)]
ibacm: version 1.0.3

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
13 years agoibacm: support distros with older versions of gcc
Sean Hefty [Wed, 25 Aug 2010 17:26:22 +0000 (10:26 -0700)]
ibacm: support distros with older versions of gcc

ibacm implements atomics using gcc intrinsics that were introduced
in gcc 4.1.2.  If an older version of gcc is used to compile the
code, an error results.  Check that the required atomic calls are
supported, and if not, provide our own implementation.

This fixes a build issue on RH 5.x.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
13 years agoibacm: release 1.0.2 v1.0.2
Sean Hefty [Tue, 10 Aug 2010 20:59:38 +0000 (13:59 -0700)]
ibacm: release 1.0.2

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
13 years agoibacm: move default location of log file
Sean Hefty [Wed, 28 Jul 2010 23:35:30 +0000 (16:35 -0700)]
ibacm: move default location of log file

Make /var/log the default location of the acm log file.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
13 years agoibacm: change location of default configuration file
Sean Hefty [Sat, 24 Jul 2010 00:12:24 +0000 (17:12 -0700)]
ibacm: change location of default configuration file

Move the default location of the configuration files from the
current directory to /etc/ibacm.  Change ib_acme to create the
files in this location, and modify ibacm to use the files here
by default.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
13 years agoibacm: daemonize ib_acm service
Sean Hefty [Fri, 23 Jul 2010 19:12:45 +0000 (12:12 -0700)]
ibacm: daemonize ib_acm service

Allow ib_acm to run as a daemon instead of just a process.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoibacm: release 1.0.1
Sean Hefty [Mon, 21 Jun 2010 16:13:20 +0000 (09:13 -0700)]
ibacm: release 1.0.1

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoibacm: install ib_acm into sbin instead of bin directory
Sean Hefty [Fri, 2 Jul 2010 17:58:57 +0000 (10:58 -0700)]
ibacm: install ib_acm into sbin instead of bin directory

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoibacm/acme: set default route protocol to SA queries
Sean Hefty [Fri, 2 Jul 2010 18:55:25 +0000 (11:55 -0700)]
ibacm/acme: set default route protocol to SA queries

Change the default routing lookup to use SA queries.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoibacm: fixup package name and installation for inclusion into OFED
Sean Hefty [Mon, 21 Jun 2010 16:08:39 +0000 (09:08 -0700)]
ibacm: fixup package name and installation for inclusion into OFED

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoacm/notes: update release notes
Sean Hefty [Tue, 8 Jun 2010 18:27:37 +0000 (11:27 -0700)]
acm/notes: update release notes

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoibacm: release 1.0.0 v1.0.0
Sean Hefty [Mon, 10 May 2010 19:58:29 +0000 (12:58 -0700)]
ibacm: release 1.0.0

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoibacm: add missing file to repository
Sean Hefty [Fri, 21 May 2010 22:39:11 +0000 (15:39 -0700)]
ibacm: add missing file to repository

acm_msg.h was not added to repository

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoibacm: wait for SA query to finish before sending reply
Sean Hefty [Sat, 8 May 2010 21:53:25 +0000 (14:53 -0700)]
ibacm: wait for SA query to finish before sending reply

When using the SA for route resolution, we need to delay sending
back the client response until SA resolution is complete.  If
we cache an ACM address for resolution, but we are not the target
of the resolution, do not respond to queued client requests.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoibacm: remove unused state
Sean Hefty [Fri, 7 May 2010 17:41:54 +0000 (10:41 -0700)]
ibacm: remove unused state

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoibacm: rename ib_path* to ibv_path*
Sean Hefty [Thu, 6 May 2010 23:01:48 +0000 (16:01 -0700)]
ibacm: rename ib_path* to ibv_path*

ib_path_record was renamed to ibv_path_record when merging into
libibverbs.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoibacm: fix log file usage
Sean Hefty [Wed, 5 May 2010 18:38:39 +0000 (11:38 -0700)]
ibacm: fix log file usage

The ibacm service inserts a space into the log file name.  Remove it.
Flush log file entries to disk, since the file is never closed, to avoid
losing entries.  Finally, set the default to write the log file to disk,
rather than the stdout.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoibacm: add missing files to distribution
Sean Hefty [Tue, 4 May 2010 23:27:20 +0000 (16:27 -0700)]
ibacm: add missing files to distribution

Include needed header files into 'make dist'.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoibacm: fix building warnings
Sean Hefty [Tue, 4 May 2010 23:18:26 +0000 (16:18 -0700)]
ibacm: fix building warnings

Fix build warnings compiling on 2.6.18-164.el5

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoibacm: remove old man pages
Sean Hefty [Mon, 3 May 2010 22:48:37 +0000 (15:48 -0700)]
ibacm: remove old man pages

The libibacm library was removed from the IB ACM package.  Remove the
man pages associated with the library interface.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoib_acme: fix reference in man page
Sean Hefty [Mon, 3 May 2010 22:46:32 +0000 (15:46 -0700)]
ib_acme: fix reference in man page

Man page reference ib_acm, rather than ib_acme.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoib/acm: supporting querying the SA for routing data
Sean Hefty [Mon, 3 May 2010 21:21:10 +0000 (14:21 -0700)]
ib/acm: supporting querying the SA for routing data

To support complex routing topologies, we add the ability to
query the SA for path record data when resolving IB routing data.
Address resolution still relies on the ACM protocol, but route
resolution can select between the ACM protocol and SA queries.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoib/acm: add state tracking
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.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoibacm: resolve source address if not given
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.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoibacm: major rework to align with linux AF_IB changes
Sean Hefty [Thu, 1 Apr 2010 18:13:38 +0000 (10:13 -0800)]
ibacm: major rework to align with linux AF_IB changes

Simplified service's socket interface, and updated code to share
data structure definitions from libibverbs.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoib/acm: remove i686 architecture requirement from make file
Sean Hefty [Tue, 17 Nov 2009 19:44:16 +0000 (11:44 -0800)]
ib/acm: remove i686 architecture requirement from make file

This causes build failure on x86_64 debian 5.0.3 system.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoibacm: rework socket interface messages
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.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agolibacm: open devices once
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.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoib_acm/acme: declare main as cdecl
Sean Hefty [Fri, 2 Oct 2009 18:54:55 +0000 (11:54 -0700)]
ib_acm/acme: declare main as cdecl

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoib_acm: fix indentation in linux osd header
Sean Hefty [Fri, 2 Oct 2009 18:53:43 +0000 (11:53 -0700)]
ib_acm: fix indentation in linux osd header

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoib_acm: move zalloc to osd header file for common use
Sean Hefty [Fri, 2 Oct 2009 18:51:07 +0000 (11:51 -0700)]
ib_acm: move zalloc to osd header file for common use

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
14 years agoibacm: initial git repo
Sean Hefty [Wed, 16 Sep 2009 22:02:40 +0000 (15:02 -0700)]
ibacm: initial git repo

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