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