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

Roland Dreier rdreier at cisco.com
Thu Dec 10 13:57:11 PST 2009


 > >  #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!!

Yes, I've been meaning to bring this up earlier.

There was a time, long ago, when changing this ABI was maybe OK.  I
think even when I first designed the uverbs ABI, having this version
instead of capability bits was a goof.  But I don't have a time machine.

In any case I think at this point we need to stick with ABI version 6
will full backwards compat unless we really really can't.  And I don't
think the changes here are nearly drastic enough that we can't figure
out a way forward without breaking things.

 > Why do you have IBV_LINK_LAYER_UNSPECIFIED ? That seems pointless. Why
 > should existing kernels return UNSPECIFIED when we know they are
 > always IB. I'd say drop IBV_LINK_LAYER_UNSPECIFIED and set
 > IBV_LINK_LAYER_INFINIBAND to 0.

I prefer having the UNSPECIFIED.  Not a strong preference but my
reasoning is that if you have an old kernel that doesn't answer
anything, you're better off letting the app see that.  And there's no
reason why iWARP has to run over ethernet in principle.

Maybe I'm wrong but I don't like setting "don't know" magically to IB
behind the scenes.

 - R.



More information about the ewg mailing list