[ewg] Re: [PATCH] rdmaoe/libibverbs: handle binary compatibility

Sean Hefty sean.hefty at intel.com
Thu Dec 10 13:50:00 PST 2009


>@@ -306,7 +314,7 @@ static struct pingpong_context *pp_init_ctx(struct
>ibv_device *ib_dev, int size,
> 		return NULL;
> 	}
>
>-	memset(ctx->buf, 0, size);
>+	memset(ctx->buf, 0x7b + is_server, size);
>
> 	ctx->context = ibv_open_device(ib_dev);
> 	if (!ctx->context) {
>@@ -481,6 +489,7 @@ static void usage(const char *argv0)
> 	printf("  -n, --iters=<iters>    number of exchanges (default 1000)\n");
> 	printf("  -l, --sl=<sl>          service level value\n");
> 	printf("  -e, --events           sleep on CQ events (default poll)\n");
>+	printf("  -g, --gid=<remote gid> gid of the other port\n");

It seems easier for the user if the tests discovered its local GID and exchanged
it with the remote side like it does with the LID and QPN.
 
>diff --git a/include/infiniband/kern-abi.h b/include/infiniband/kern-abi.h
>index 0db083a..8ef8844 100644

>
> /*
>@@ -223,7 +224,8 @@ struct ibv_query_port_resp {
> 	__u8  active_width;
> 	__u8  active_speed;
> 	__u8  phys_state;
>-	__u8  reserved[3];
>+	__u8  link_layer;
>+	__u8  reserved[2];
> };

Should we define the network layer too?  Right now we have IB transport, which
assumes IB network and link; iWarp transport, which almost assumes IP network
and Ethernet; and RDMAoE, which may or may not have a network (but requires the
L3 address) and Ethernet (or is it DCB) link.

- Sean




More information about the ewg mailing list