svn commit: r217018 - stable/8/sys/netinet

Lawrence Stewart lstewart at freebsd.org
Fri Jan 7 23:47:19 UTC 2011


On 01/07/11 20:36, Bjoern A. Zeeb wrote:
> On Fri, 7 Jan 2011, Lawrence Stewart wrote:
> 
>> Hi George,
>>
>> On 01/06/11 05:52, George V. Neville-Neil wrote:
>>> Author: gnn
>>> Date: Wed Jan  5 18:52:30 2011
>>> New Revision: 217018
>>> URL: http://svn.freebsd.org/changeset/base/217018
>>>
>>> Log:
>>>   Fix binary compatability for netstats across the -x/-T changes
>>>   that have been previously MFC'd.
>>>
>>>   Reviewed by:    rwatson, bz
>>>
>>> Modified:
>>>   stable/8/sys/netinet/tcp_var.h
>>>
> ...
>>
>> On my stable/8 machine after updating world but not kernel I see "struct
>> xtcpcb size mismatch" messages which indicates the ABI has been futzed
>> with.
> 
> Be sure that it's not local changes.

Definitely not the issue - this box runs stock stable/8 directly from
svn.freebsd.org without any local changes.

>> Looking at the above diff I think this commit does indeed change the ABI
>> and therefore needs to be tweaked in order to maintain our current ABI
>> preservation policy for stable branches (unless I'm missing something?).
>> If the change to the ABI is intentional, a note in UPDATING would
>> probably be warranted.
> 
> I think you are missing that that was the "repair" commit.  Are you
> sure you didn't pickup the wrong versions?  There was about a 1 day
> timeframe, where things were hosed but I believe George fixed them
> all.

Looking at my kernel.old rev, I updated from stable/8 kernel/world @
r216035 to stable/8 @ r217084. According to my commit mail log, George
made the initial change in r216968 and the repair commit was r217018, so
I don't think that I should have seen any issues if r217018 didn't mess
with the ABI as I hadn't updated in the cross over period.

> Hmm looking at the diff committed more closely I see that the two
> uint64_t are not were they should be.  Are you by any chance on i386
> or another 32bit platform?

No:

lstewart at lstewart3:~> uname -a


FreeBSD lstewart3 8.2-PRERELEASE FreeBSD 8.2-PRERELEASE #16 r217084: Fri
Jan  7 16:17:03 EST 2011     root at lstewart3:/usr/obj/usr/src/sys/GENERIC
 amd64

>     uint64_t    t_sndrexmitpack;/* retransmit packets sent */
>     uint64_t    t_rcvoopack;    /* out-of-order packets received */
> should move  after t_pspare2[6] and the patch I had seen had that.
> 
> Maybe we should even move them after _pad[] to keep the spares
> together.
> 
> Can you test this one?
> http://people.freebsd.org/~bz/20110107-01-restore-xtcpcb-ABI.diff

This looks to be on the right track. Will do.

Cheers,
Lawrence


More information about the svn-src-all mailing list