Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Jul 2007 10:17:39 -0700 (PDT)
From:      mjacob@freebsd.org
To:        Andre Oppermann <andre@freebsd.org>
Cc:        cvs-src@freebsd.org, Maxim Konovalov <maxim@macomnet.ru>, src-committers@freebsd.org, cvs-all@freebsd.org
Subject:   Re: cvs commit: src/sys/netinet tcp_input.c tcp_usrreq.c
Message-ID:  <20070729101357.A84864@ns1.feral.com>
In-Reply-To: <20070729095743.N84864@ns1.feral.com>
References:  <200707290131.l6T1VY8g026872@repoman.freebsd.org> <46AC987A.9040501@freebsd.org> <20070729184123.S44136@mp2.macomnet.net> <20070729095743.N84864@ns1.feral.com>

next in thread | previous in thread | raw e-mail | index | archive | help


Sorry- I was a tired and cranky idiot. I have this fixed now, and will 
do a real universe run *and* ask re.

The problem here is that the code is definitely ancient wanky- there's a 
const char *[] array in tcp_fsm.h that's compiled in iff TCPSTATES is 
defined. Various files include tcp_fsm.h and define TCPSTATES. However, 
what is getting the linker bugged is the line

extern const char *tcpstates[];

that makes for a *different* definition of the object. The fix is to 
remove the 'extern' refs (tcp_usrreq doesn't need one, and spx_debug.c 
should do the TCPSTATES define like tcp_input && tcp_debug do).

>
> I know. I'm going to look at it more today.
>
> On Sun, 29 Jul 2007, Maxim Konovalov wrote:
>
>>> Thanks for fixing this.  The whole tcpstates stuff is hackish.
>>> We need a better fix as the state reporting in the log message
>>> should not depend on TCPDEBUG.
>>> 
>> tb still fails at tcpstates.
>> 
>> -- 
>> Maxim Konovalov
>> 
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070729101357.A84864>