[ewg] Re: [PATCH] rdmaoe/libibverbs: handle binary compatibility
Eli Cohen
eli at dev.mellanox.co.il
Mon Dec 14 00:41:11 PST 2009
On Thu, Dec 10, 2009 at 02:49:45PM -0700, Jason Gunthorpe wrote:
>
> - Change the library API for ibv_port_attr to include a link_layer
> - Change the kernel API to retrieve link_layer
> - Add ibv_cmd_get_mac and other stuff to support RDMAoE
> - Update verbs examples to support RDMAoE
> - Update man pages (you missed these)
>
Will be addressed in the next patch set.
> >--- a/include/infiniband/kern-abi.h
> >+++ b/include/infiniband/kern-abi.h
> >@@ -46,7 +46,7 @@
> > * The minimum and maximum kernel ABI that we can handle.
> > */
> > #define IB_USER_VERBS_MIN_ABI_VERSION 1
> > -#define IB_USER_VERBS_MAX_ABI_VERSION 6
> > +#define IB_USER_VERBS_MAX_ABI_VERSION 7
>
> Whats this about? That seems like it needs a much bigger review,
> changing the kernel ABI version instantly breaks every existing
> libibverbs, shouldn't be done without alot of discussion!!
I think we can do without chagning the ABI version so I am going to
ommit it in the next patch set.
>
> Extra include?
Yes, thanks.
>
> >@@ -86,6 +86,7 @@ default_symver(__ibv_query_device, ibv_query_device);
> > int __ibv_query_port(struct ibv_context *context, uint8_t port_num,
> > struct ibv_port_attr *port_attr)
> > {
> >+ port_attr->link_layer = IBV_LINK_LAYER_UNSPECIFIED;
> > return context->ops.query_port(context, port_num, port_attr);
> > }
>
> Seems like this should be just
> return ___ibv_query_port(context,port_num,port_attr);
>
A leftover, thanks.
> > diff --git a/drivers/infiniband/core/uverbs_cmd.c b/drivers/infiniband/core/uverbs_cmd.c
> > index 012aadf..d592bd2 100644
> > +++ b/drivers/infiniband/core/uverbs_cmd.c
> > @@ -452,7 +452,8 @@ ssize_t ib_uverbs_query_port(struct ib_uverbs_file *file,
> > resp.active_width = attr.active_width;
> > resp.active_speed = attr.active_speed;
> > resp.phys_state = attr.phys_state;
> > - resp.transport = attr.transport;
> > + resp.transport = attr.transport == RDMA_TRANSPORT_RDMAOE ?
> > + IB_LINK_LAYER_ETHERNET : IB_LINK_LAYER_INFINIBAND;
>
> Are you going to change the kernel patches to use the new link_layer
> name?
>
Yes, in the next patch set.
More information about the ewg
mailing list