LVS
lvs-devel
Google
 
Web LinuxVirtualServer.org

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

To: Vince Busam <vbusam@xxxxxxxxxx>
Subject: Re: [PATCH 00/26] IPVS: Add first IPv6 support to IPVS.
Cc: Julius Volz <juliusv@xxxxxxxxxx>, Patrick McHardy <kaber@xxxxxxxxx>, lvs-devel@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx
From: Ben Greear <greearb@xxxxxxxxxxxxxxx>
Date: Wed, 11 Jun 2008 14:30:14 -0700
Vince Busam wrote:
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?

You can have the kernel ignore any data it doesn't understand (ie, if struct is 
24 bytes,
but the kernel expects 20 bytes, just ignore the last 4).  This way it should
work with newer binaries.

Thanks,
Ben


Vince
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


--
Ben Greear <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc  http://www.candelatech.com

--
To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

<Prev in Thread] Current Thread [Next in Thread>