Direct Access Transport Library Functions datiaquery(3DAT)
NAME
datiaquery - query an IA
SYNOPSIS
cc [ flag... ] file... -ldat [ library... ]
#include
DATRETURN
datiaquery (
IN DATIAHANDLE iahandle,
OUT DATEVDHANDLE *asyncevdhandle,
IN DATIATRMASK iaattrmask,
OUT DATIATR *iaattributes,
IN DATPROVIDERATRMASK providerattrmask,
OUT DATPROVIDERATR *providerattributes
)
PARAMETERS
iahandle Handle for an open instance of an IA.
asyncevdhandle Handle for an Event Dispatcher for
asynchronous events generated by the
IA.
iaattrmask Mask for the iaattributes.
iaattributes Pointer to a Consumer-allocated
structure that the Provider fills
with IA attributes.
providerattrmask Mask for the providerattributes.
providerattributes Pointer to a Consumer-allocated
structure that the Provider fills
with Provider attributes.
DESCRIPTION
The datiaquery() functions provides the Consumer with the
IA parameters, as well as the IA and Provider attributes.
Consumers pass in pointers to Consumer-allocated structures
for the IA and Provider attributes that the Provider fills.
The iaattrmask and providerattrmask parameters allow the
Consumer to specify which attributes to query. The Provider
SunOS 5.11 Last change: 16 Jul 2004 1
Direct Access Transport Library Functions datiaquery(3DAT)
returns values for requested attributes. The Provider can
also return values for any of the other attributes.
Interface Adapter Attributes
The IA attributes are common to all open instances of the
IA. DAT defines a method to query the IA attributes but does
not define a method to modify them.
If IA is multiported, each port is presented to a Consumer
as a separate IA.
Adapter name:
The name of the IA controlled by the Provider. The same
as ianameptr.
Vendor name:
Vendor if IA hardware.
HW version major:
Major version of IA hardware.
HW version minor:
Minor version of IA hardware.
Firmware version major:
Major version of IA firmware.
Firmware version minor:
Minor version of IA firmware.
IAaddressptr:
An address of the interface Adapter.
Max EPs:
Maximum number of Endpoints that the IA can support.
SunOS 5.11 Last change: 16 Jul 2004 2
Direct Access Transport Library Functions datiaquery(3DAT)
This covers all Endpoints in all states, including the
ones used by the Providers, zero or more applications,
and management.
Max DTOs per EP:
Maximum number of DTOs and RMRbinds that any Endpoint
can support for a single direction. This means the max-
imum number of outstanding and in-progress Send, RDMA
Read, RDMA Write DTOs, and RMR Binds at any one time for
any Endpoint; and maximum number of outstanding and in-
progress Receive DTOs at any one time for any Endpoint.
Max incoming RDMA Reads per EP:
Maximum number of RDMA Reads that can be outstanding per
(connected) Endpoint with the IA as the target.
Max outgoing RDMA Reads per EP:
Maximum number of RDMA Reads that can be outstanding per
(connected) Endpoint with the IA as the originator.
Max EVDs:
Maximum number of Event Dispatchers that an IA can sup-
port. An IA cannot support an Event Dispatcher directly,
but indirectly by Transport-specific Objects, for exam-
ple, Completion Queues for Infiniband and VI. The Event
Dispatcher Objects can be shared among multiple Provid-
ers and similar Objects from other APIs, for example,
Event Queues for uDAPL.
Max EVD queue size:
Maximum size of the EVD queue supported by an IA.
Max IOV segments per DTO:
Maximum entries in an IOV list that an IA supports.
Notice that this number cannot be explicit but must be
implicit to transport-specific Object entries. For exam-
ple, for IB, it is the maximum number of scatter/gather
entries per Work Request, and for VI it is the maximum
number of data segments per VI Descriptor.
SunOS 5.11 Last change: 16 Jul 2004 3
Direct Access Transport Library Functions datiaquery(3DAT)
Max LMRs:
Maximum number of Local Memory Regions IA supports among
all Providers and applications of this IA.
Max LMR block size:
Maximum contiguous block that can be registered by the
IA.
Mac LMR VA:
Highest valid virtual address within the context of an
LMR. Frequently, IAs on 32-bit architectures support
only 32-bit local virtual addresses.
Max PZs:
Maximum number of Protection Zones that the IA supports.
Max MTU size:
Maximum message size supported by the IA
Max RDMA size:
Maximum RDMA size supported by the IA
Max RMRs:
Maximum number of RMRs an IA supports among all Provid-
ers and applications of this IA.
Max RMR target address:
Highest valid target address with the context of a local
RMR. Frequently, IAs on 32-bit architectures support
only 32-bit local virtual addresses.
Num transport attributes:
Number of transport-specific attributes.
SunOS 5.11 Last change: 16 Jul 2004 4
Direct Access Transport Library Functions datiaquery(3DAT)
Transport-specific attributes:
Array of transport-specific attributes. Each entry has
the format of DATNAMEDATR, which is a structure with
two elements. The first element is the name of the
attribute. The second element is the value of the attri-
bute as a string.
Num vendor attributes:
Number of vendor-specific attributes.
Vendor-specific attributes:
Array of vendor-specific attributes. Each entry has the
format of DATNAMEDATR, which is a structure with two
elements. The first element is the name of the attri-
bute. The second element is the value of the attribute
as a string.
DAPL Provider Attributes
The provider attributes are specific to the open instance of
the IA. DAT defines a method to query Provider attributes
but does not define a method to modify them.
Provider name:
Name of the Provider vendor.
Provider version major:
Major Version of uDAPL Provider.
Provider version minor:
Minor Version of uDAPL Provider.
DAPL API version major:
Major Version of uDAPL API supported.
DAPL API version minor:
Minor Version of uDAPL API supported.
SunOS 5.11 Last change: 16 Jul 2004 5
Direct Access Transport Library Functions datiaquery(3DAT)
LMR memory types supported:
Memory types that LMR Create supports for memory regis-
tration. This value is a union of LMR Memory Types
DATMEMTYPEVIRTUAL, DATMEMTYPELMR, and
DATMEMTYPESHAREDVIRTUAL that the Provider supports.
All Providers must support the following Memory Types:
DATMEMTYPEVIRTUAL, DATMEMTYPELMR, and
DATMEMTYPESHAREDVIRTUAL.
IOV ownership:
An enumeration flag that specifies the ownership of the
local buffer description (IOV list) after post DTO
returns. The three values are as follows:
o DATIOVCONSUMER indicates that the Consumer
has the ownership of the local buffer descrip-
tion after a post returns.
o DATIOVPROVIDERNOMOD indicates that the Pro-
vider still has ownership of the local buffer
description of the DTO when the post DTO
returns, but the Provider does not modify the
buffer description.
o DATIOVPROVIDERMOD indicates that the Pro-
vider still has ownership of the local buffer
description of the DTO when the post DTO
returns and can modify the buffer description.
In any case, the Consumer obtains ownership of the local
buffer description after the DTO transfer is completed
and the Consumer is notified through a DTO completion
event.
QOS supported:
The union of the connection QOS supported by the Pro-
vider.
Completion flags supported:
The following values for the completion flag
DATCOMPLETIONFLAGS are supported by the Provider:
DATCOMPLETIONSUPRESFLAG,
DATCOMPLETIONUNSIGNALEDFLAG,
DATCOMPLETIONSOLICITEDWAITFLAG, and
DATCOMPLETIONBARIERFENCEFLAG.
SunOS 5.11 Last change: 16 Jul 2004 6
Direct Access Transport Library Functions datiaquery(3DAT)
Thread safety:
Provider Library thread safe or not. The Provider
Library is not required to be thread safe.
Max private data size:
Maximum size of private data the Provider supports. This
value is at least 64 bytes.
Multipathing support:
Capability of the Provider to support Multipathing for
connection establishment.
EP creator for PSP:
Indicator for who can create an Endpoint for a Connec-
tion Request. For the Consumer it is
DATPSPCREATESEPNEVER. For the Provider it is
DATPSPCREATESEPALWAYS. For both it is
DATPSPCREATESEPIFASKED. This attribute is used for
Public Service Point creation.
PZ support:
Indicator of what kind of protection the Provider's PZ
provides.
Optimal Buffer Alignment:
Local and remote DTO buffer alignment for optimal per-
formance on the Platform. The DATOPTIMALALIGMNEMT must
be divisible by this attribute value. The maximum
allowed value is DATOPTIMALALIGMNEMT, or 256.
EVD stream merging support:
A 2D binary matrix where each row and column represent
an event stream type. Each binary entry is 1 if the
event streams of its row and column can be fed to the
same EVD, and 0 otherwise.
More than two different event stream types can feed the
same EVD if for each pair of the event stream types the
entry is 1.
SunOS 5.11 Last change: 16 Jul 2004 7
Direct Access Transport Library Functions datiaquery(3DAT)
The Provider should support merging of all event stream
types.
The Consumer should check this attribute before request-
ing an EVD that merges multiple event stream types.
Num provider attributes:
Number of Provider-specific attributes.
Provider-specific attributes:
Array of Provider-specific attributes. Each entry has
the format of DATNAMEDATR, which is a structure with
two elements. The first element is the name of the
attribute. The second element is the value of the attri-
bute as a string.
RETURN VALUES
DATSUCES The operation was successful.
DATINVALIDPARAMETER Invalid parameter;
DATINVALIDHANDLE Invalid DAT handle; iahandle is
invalid.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Standard: uDAPL, 1.1, 1.2
MT-Level Safe
SEE ALSO
libdat(3LIB), attributes(5)
SunOS 5.11 Last change: 16 Jul 2004 8
|