Vendor-specific attributes for uDAPL

Learn about the vendor-specific attributes that are supported by the AIX operating system. The delayed_ack_supported, vendor_extension, vendor_ext_version, debug_query, and debug_modify attributes are supported.

The AIX operating system is a transport provider for the InfiniBand (IB) framework, which includes a vendor-specific interface adapter (IA) and the delayed_ack_supported attribute. The value of the delayed_ack_supported attribute is either true or false. When the value is true, the endpoints that are associated with the IA have a modifiable provider-specific delayed_ack attribute. When the delayed_ack_supported attribute is false, the endpoints of the provider-specificdelayed_ack attribute cannot be changed. The default value of an endpoint of the provider-specific delayed_ack attribute is false. The delayed_ack attribute is set to true by using the dat_ep_modify option that enables the delayed acknowledge feature of the underlying InfiniBand (IB) host channel adapter (HCA) for the specific InfiniBand queue pair that is associated with the endpoint. This hardware feature is not implemented by all HCAs, thus it is not available for all IAs. When this feature is enabled, the acknowledgement sent by HCA is delayed until a data transfer operation is detected in the system memory of a server. This process causes a latency increase.

For debugging errors, the uDAPL libraries support AIX system trace. The initial trace level can be changed by using the DAT_TRACE_LEVEL and DAPL_TRACE_LEVEL environment variables. To change these trace levels dynamically by using an API, use the dynamic trace level support on AIX. To verify whether the library has dynamic trace level support, applications can query for the vendor-specific IA vendor_extension attribute. The presence of the vendor_extension attribute indicates the dynamic trace level that is supported. When the vendor_extension attribute is present, applications can access the dat_trclvl_query() and dat_trclvl_modify() function pointers by querying for thedebug_query and debug_modify vendor-specific IA attributes. The value of these attributes points to the corresponding functions. To make this vendor_extension interface available for future, the vendor_extension vendor-specific IA attribute must be used. Currently, the vendor_extension attribute is set to 1.0 and it is the only version that is supported. If the vendor_extension attribute does not exist, applications cannot modify the trace levels dynamically.

An example of how to change these attributes is included in the uDAPL sample code that is installed with the AIX implementation.