]> git.openfabrics.org - ~shefty/libibverbs.git/commit
Infrastructure to support verbs extensions
authorYishai Hadas <yishaih@mellanox.com>
Sun, 26 Aug 2012 13:43:30 +0000 (16:43 +0300)
committerSean Hefty <sean.hefty@intel.com>
Fri, 7 Sep 2012 19:04:49 +0000 (12:04 -0700)
commita803d177d5947d6aa0ca474dc2401124e6aa1f00
tree4c31d9897858220be47469ae96113a48908f8fcc
parentc4f087527d3c3bc50f6a2531e7b54241a9df9e86
Infrastructure to support verbs extensions

Infrastructure to support extended verbs capabilities in a forward/backward
manner.

Support for extensions is determeind by the provider calling
verbs_register_driver in place of ibv_register_driver.  When
extensions are enabled, ibverbs sets the current alloc_context /
free_context device operations to NULL.  These are used to
indicate that the struct ibv_device may be cast to struct
verbs_device.

With extensions, ibverbs allocates the ibv_context structure
and calls into the provider to initialize it.  The init call
is part of the verbs_device struct.

The abi_compat field of struct ibv_context is used to determine
support of verbs extensions.  As a result, support for ABI version <
2 is removed (corresponds to kernel releases 2.6.11-2.6.14 no
longer being supported).  The lowest ABI now supported is 3 (really
4 since 2.6.15 was ABI 4, I don't see that ABI 3 was in a release).

Signed-off-by: Yishai Hadas <yishaih@mellanox.com>
Signed-off-by: Tzahi Oved <tzahio@mellanox.com>
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
include/infiniband/driver.h
include/infiniband/kern-abi.h
include/infiniband/verbs.h
src/cmd.c
src/device.c
src/init.c
src/kern_abi.h [deleted file]
src/libibverbs.map