};
#define RAI_PASSIVE 0x00000001
+#define RAI_NUMERICHOST 0x00000002
+#define RAI_NOROUTE 0x00000004
struct rdma_addrinfo {
int ai_flags;
.IP "RAI_PASSIVE" 12
Indicates that the results will be used on the passive/listening
side of a connection.
+.IP "RAI_NUMERICHOST" 12
+If specified, then the node parameter, if provided, must be a numerical
+network address. This flag suppresses any lengthy address resolution.
+.IP "RAI_NOROUTE" 12
+If set, this flag suppresses any lengthy route resolution.
.IP "ai_family" 12
Address family for the source and destination address. Supported families
are: AF_INET, AF_INET6, and AF_IB.
if (rai->ai_dst_len) {
data->flags = ACM_EP_FLAG_DEST;
+ if (rai->ai_flags & (RAI_NUMERICHOST | RAI_NOROUTE))
+ data->flags |= ACM_FLAGS_NODELAY;
ucma_copy_rai_addr(data, rai->ai_dst_addr);
data++;
msg.hdr.length += ACM_MSG_EP_LENGTH;
static void ucma_convert_to_ai(struct addrinfo *ai, struct rdma_addrinfo *rai)
{
memset(ai, 0, sizeof *ai);
- ai->ai_flags = (rai->ai_flags & RAI_PASSIVE) ? AI_PASSIVE : 0;
+ ai->ai_flags = (rai->ai_flags & RAI_PASSIVE) ? AI_PASSIVE : 0;
+ ai->ai_flags |= (rai->ai_flags & RAI_NUMERICHOST) ? AI_NUMERICHOST : 0;
ai->ai_family = rai->ai_family;
switch (rai->ai_qp_type) {