svn commit: r186057 - head/sys/netinet
Bjoern A. Zeeb
bz at FreeBSD.org
Sun Mar 1 03:10:07 PST 2009
On Tue, 16 Dec 2008, Peter Wemm wrote:
> On Sat, Dec 13, 2008 at 1:59 PM, Bjoern A. Zeeb <bz at freebsd.org> wrote:
>> De-virtualize the MD5 context for TCP initial seq number generation
>> and make it a function local variable like we do almost everywhere
>> inside the kernel.
> [..]
>> --- head/sys/netinet/vinet.h Sat Dec 13 21:17:46 2008 (r186056)
>> +++ head/sys/netinet/vinet.h Sat Dec 13 21:59:18 2008 (r186057)
>> @@ -142,7 +142,6 @@ struct vnet_inet {
...
> I'm bitterly unhappy with this. Every time these structs are touched,
> either directly or indirectly, there is a guaranteed ABI breakage with
> kernel modules.
>
> There needs to be a __FreeBSD_version bump (or something similar)
> every time any of these structures change, and any kernel modules
> *must* be prevented from loading. It can't be a >= some version, it
> has to be an exact match.
...
> In the mean time, I'd like to see some compile-time asserts in there
> to make sure there are no accidental size changes of this structure.
This has finally happened, thanks to Juli Mallett now finding a good
CTASSERT-a-like way that also prints the expected and the actual size.
Without that I had found it was impossible to get the proper values
for all architectures we support to be able to (cross) build or finish
a universe when trying to implement this end of last year.
/bz
--
Bjoern A. Zeeb The greatest risk is not taking one.
More information about the svn-src-all
mailing list