From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vince Busam Subject: Re: [PATCH 00/26] IPVS: Add first IPv6 support to IPVS. Date: Wed, 11 Jun 2008 13:55:25 -0700 Message-ID: <48503BBD.6000307@google.com> References: <1213204329-10973-1-git-send-email-juliusv@google.com> <48500A0D.5020304@trash.net> <48501C81.6010800@trash.net> <4850233E.7090501@trash.net> <48502826.9060502@trash.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Patrick McHardy , lvs-devel@vger.kernel.org, netdev@vger.kernel.org To: Julius Volz Return-path: In-Reply-To: Sender: lvs-devel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org 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