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

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

Julius Volz wrote:
> On Wed, Jun 11, 2008 at 9:10 PM, Patrick McHardy <[email-masked]> wrote:
>   
>> Julius Volz wrote:
>>     
>>> 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.
>>     
>
> It is clearly laid out to be able to be changed over time, hence the
> ipvsadm version check... 

The usual way is to add new members at the end. The history shows no
changes at all to these structs though.