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

From: Vince Busam <[email-masked]>
Date: Wed, 11 Jun 2008 13:55:25 -0700

Julius Volz wrote:
> Ah, but the set/get-sockopt calls also pass a size argument, which is
> the size of the passed structs. If the kernel and userspace struct
> sizes don't match, it is treated as an error. Is this in case
> different compilers pad the structs differently, even if the IPVS
> version stays the same?

So we could disable the size checks of the passed structs, or key on it to 
determine if the older ABI was used, keeping a list of the structs that 
had different sizes around, but that sounds like a gross hack which would 
get worse if any other fields are added.  It would also mean new userspace 
binaries with the new fields wouldn't work with older kernels, is that a 
problem?  Is this better than the alternatives of breaking the ABI, or 
duplicating code into a separate ABI?

Vince