Re: [PATCH 02/39] wimax: declarations for the in-kernel WiMAX API

Inaky Perez-Gonzalez
2008-12-04T20:30:05Z

On Thursday 04 December 2008, Johannes Berg wrote:
> On Tue, 2008-12-02 at 18:07 -0800, Inaky Perez-Gonzalez wrote:
> > On Thursday 27 November 2008, Johannes Berg wrote:
> > > Why bother versioning the API? Since this is generic netlink, and
> > > things are looked up by the family name, a completely new version would
> > > just use a new family name and be done with it, old userspace won't
> > > even _find_ that new "version" of the API.
> >
> > That'd be a way to do majors -- hadn't thought about it.
> >
> > But then, it forces a way to create "a way to grok versions" in the
> > family name, which is moving the problem from one place to the other.
> >
> > Because parsing in the family means having to set a protocol and
> > parsing ASCII, I'd say it's easier to use the family's version field,
> > as it is available.
>
> I wasn't actually advocating parsing the family name, but thinking that
> if you were to actually do a major revision then you'd be rewriting all
> the userland code anyway and could just hardcode a new family name
> there.

Well, if the change were *that* big, then yes, that makes full sense.
I hope we don't have to go that route...at least too often :)

> > > The "minor version" seems also
> > > useless, either you can do the change in a backward compatible way or
> > > you cannot and need to provide compat code.
> >
> > No it is not -- you are missing the case of adding an API
> > call/signal. Addition doesn't break backwards compatibility, yet a
> > user that requires the addition has to double check it is
> > available.
>
> No! API additions can always be discovered through the genl controller,
> it supports listing which operations are available. Check out the genl
> command from iproute2.

Oh, then this can be used too -- I mean, one does not preclude the other.

--
Inaky