Poster of Linux kernelThe best gift for a Linux geek
RDMA_GETADDRINFO

RDMA_GETADDRINFO

Section: Librdmacm Programmer's Manual (3) Updated: 2010-07-19
Local index Up
 

NAME

rdma_getaddrinfo - Provides transport independent address translation.  

SYNOPSIS

#include <rdma/rdma_cma.h>

int rdma_getaddrinfo (char *node, char *service, struct rdma_addrinfo *hints, struct rdma_addrinfo **res);  

ARGUMENTS

node
Optional, name, dotted-decimal IPv4, or IPv6 hex address to resolve.
service
Service name or port number of address.
hints
Reference to an rdma_addrinfo structure containing hints about the type of service the caller supports.
res
A pointer to a linked list of rdma_addrinfo structures containing response information.
 

DESCRIPTION

Resolves the destination node and service address and returns information needed to establish communication. Provides the RDMA functional equivalent to getaddrinfo.  

RETURN VALUE

Returns 0 on success, or -1 on error. If an error occurs, errno will be set to indicate the failure reason.  

NOTES

Either node or service must be provided. If hints are provided, the operation will be controlled by hints.ai_flags. If RAI_PASSIVE is specified, the call will resolve address information for use on the passive side of a connection.  

rdma_addrinfo

ai_flags
Hint flags that control the operation. Supported flags are:
RAI_PASSIVE
Indicates that the results will be used on the passive/listening side of a connection.
RAI_NUMERICHOST
If specified, then the node parameter, if provided, must be a numerical network address. This flag suppresses any lengthy address resolution.
RAI_NOROUTE
If set, this flag suppresses any lengthy route resolution.
ai_family
Address family for the source and destination address. Supported families are: AF_INET, AF_INET6, and AF_IB.
ai_qp_type
Indicates the type of RDMA QP used for communication. Supported types are: IBV_UD (unreliable datagram) and IBV_RC (reliable connected).
ai_port_space
RDMA port space in use. Supported values are: RDMA_PS_UDP and RDMA_PS_TCP.
ai_src_len
The length of the source address referenced by ai_src_addr. This will be 0 if an appropriate source address could not be discovered for a given destination.
ai_dst_len
The length of the destination address referenced by ai_dst_addr. This will be 0 if the RAI_PASSIVE flag was specified as part of the hints.
ai_src_addr
If provided, the address for the local RDMA device.
ai_dst_addr
If provided, the address for the destination RDMA device.
ai_src_canonname
The canonical for the source.
ai_dst_canonname
The canonical for the destination.
ai_route_len
Size of the routing information buffer referenced by ai_route. This will be 0 if the underlying transport does not require routing data, or none could be resolved.
ai_route
Routing information for RDMA transports that require routing data as part of connection establishment. The format of the routing data depends on the underlying transport. If Infiniband transports are used, ai_route will reference an array of struct ibv_path_data.
ai_connect_len
Size of connection information referenced by ai_connect. This will be 0 if the underlying transport does not require additional connection information.
ai_connect
Data exchanged as part of the connection establishment process. If provided, ai_connect data must be transferred as private data, with any user supplied private data following it.
ai_next
Pointer to the next rdma_addrinfo structure in the list. Will be NULL if no more structures exist.
 

SEE ALSO

rdma_create_id(3), rdma_resolve_route(3), rdma_connect(3), rdma_create_qp(3), rdma_bind_addr(3), rdma_create_ep(3)


 

Index

NAME
SYNOPSIS
ARGUMENTS
DESCRIPTION
RETURN VALUE
NOTES
rdma_addrinfo
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 07:58:30 GMT, June 15, 2011