Subject: Re: [PATCH 00/26] IPVS: Add first IPv6 support to IPVS.

From: Patrick McHardy <[email-masked]>
Date: Wed, 11 Jun 2008 21:10:54 +0200

Julius Volz wrote:
> On Wed, Jun 11, 2008 at 8:42 PM, Patrick McHardy <[email-masked]> wrote:
>> Julius Volz wrote:
>>> Another question I was unsure about: is the breaking of the
>>> userspace-to-kernel interface even acceptable at all? I think the code
>>> would get ugly (and have even more duplication) if you wanted to keep
>>> the backwards compatibility. And you have to compile ipvsadm for your
>>> kernel version anyways.
>> Usually its not acceptable. Why do you have compile ipvsadm
>> for specific kernel versions?
> 
> ipvsadm uses get/set-sockopts on a raw socket to pass commands and
> structs (as defined in include/net/ip_vs.h) to the kernel. So the
> passed structs have to match exactly between userspace and kernel. The
> kernel ip_vs.h also includes a version number that is used to verify
> that ipvsadm matches your kernel version.

So they define an ABI, which means they must not be changed in
incompabtible ways. The question is whether they are actually
changed in incomaptible ways.