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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Filesystem Devel]     [Linux NFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]     [X.Org]

  Powered by Linux