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

Johannes Berg
2008-12-04T09:05:14Z

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.

> > 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.

johannes