Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Sep 2019 13:06:58 -0700
From:      Randall Stewart <rrs@netflix.com>
To:        Li-Wen Hsu <lwhsu@freebsd.org>
Cc:        "O. Hartmann" <ohartmann@walstatt.org>, Randall Ray Stewart <rrs@freebsd.org>, src-committers <src-committers@freebsd.org>, svn-src-all <svn-src-all@freebsd.org>, svn-src-head <svn-src-head@freebsd.org>
Subject:   Re: svn commit: r352657 - in head/sys: conf kern modules/tcp modules/tcp/bbr netinet netinet/tcp_stacks sys
Message-ID:  <56FBEE27-FBDA-44E0-BBBF-F5D9A4755047@netflix.com>
In-Reply-To: <CAKBkRUweRxUWtKp25hrrORRNoo-Bt-smwMOvchaTDUvDn2GdmA@mail.gmail.com>
References:  <201909241818.x8OIIBNr039667@repo.freebsd.org> <20190924212918.01e52920@thor.intern.walstatt.dynvpn.de> <CAKBkRUyca5hNLU8Xy1BgtiqYzrmHQQoFDm-uEighR5TvwPqgkQ@mail.gmail.com> <F8F9CA94-A04A-4C42-AD32-0445F98BC895@netflix.com> <CAKBkRUweRxUWtKp25hrrORRNoo-Bt-smwMOvchaTDUvDn2GdmA@mail.gmail.com>

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

Right

Thats because GENERIC does not add the optional TCP stacks.

Ok the problem is fixed with r352659

The tcp_ratelimit.h had a mixed up ifdef

i.e.

#ifdef RATELIMIT
#ifdef _KERNEL

definitions

#else

macro definitions that return error
#endif
#endif


Which should have  been the opposite

#ifdef _KERNEL
#ifdef RATELIMIT
 
definitions

#else


macros def’s returning errors

#endif
#endif

Reversing that will fix the issue if you add the extra stacks but fail to add RATELIMIT

R

> On Sep 24, 2019, at 1:01 PM, Li-Wen Hsu <lwhsu@freebsd.org> wrote:
> 
> I mean the head (r352657) world and GENERIC kernel can be built
> successfully on 12.0-R, which is we guaranteed.
> Also the LINT kernel build is fine on CI:
> https://ci.freebsd.org/job/FreeBSD-head-amd64-LINT/13781/
> 
> So I was curious about the build environment of that build failure.
> 
> Best,
> Li-Wen
> 
> On Tue, Sep 24, 2019 at 9:55 PM Randall Stewart <rrs@netflix.com> wrote:
>> 
>> 12.0R would not have BBR .. its only in head… hmm it could be a issue with TCP_RATELIMIT not defined
>> though I did compile GENERIC without the extra stacks (and without rate limit and hpts) and that
>> compiled ok..
>> 
>> R
>> 
>>> On Sep 24, 2019, at 12:49 PM, Li-Wen Hsu <lwhsu@freebsd.org> wrote:
>>> 
>>> On Tue, Sep 24, 2019 at 9:29 PM O. Hartmann <ohartmann@walstatt.org> wrote:
>>>> 
>>>> -----BEGIN PGP SIGNED MESSAGE-----
>>>> Hash: SHA256
>>>> 
>>>> Am Tue, 24 Sep 2019 18:18:11 +0000 (UTC)
>>>> Randall Stewart <rrs@FreeBSD.org> schrieb:
>>>> 
>>>>> Author: rrs
>>>>> Date: Tue Sep 24 18:18:11 2019
>>>>> New Revision: 352657
>>>>> URL: https://svnweb.freebsd.org/changeset/base/352657
>>> 
>>> ...
>>> 
>>>> This break kernel builds:
>>>> 
>>>> [...]
>>>> /usr/src/sys/modules/tcp/bbr/../../../netinet/tcp_stacks/bbr.c:5613:9: error: implicit
>>>> declaration of function 'tcp_chg_pacing_rate' is invalid in C99
>>>> [-Werror,-Wimplicit-function-declaration] nrte = tcp_chg_pacing_rate(bbr->r_ctl.crte, ^
>>>> /usr/src/sys/modules/tcp/bbr/../../../netinet/tcp_stacks/bbr.c:5613:9: error: this function
>>>> declaration is not a prototype [-Werror,-Wstrict-prototypes]
>>>> /usr/src/sys/modules/tcp/bbr/../../../netinet/tcp_stacks/bbr.c:5613:7: error: incompatible
>>>> integer to pointer conversion assigning to 'const struct tcp_hwrate_limit_table *' from 'int'
>>>> [-Werror,-Wint-conversion] nrte = tcp_chg_pacing_rate(bbr->r_ctl.crte, ^
>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- all_subdir_toecore --- Building
>>>> /usr/obj/usr/src/amd64.amd64/sys/THOR/modules/usr/src/sys/modules/toecore/toecore.ko ---
>>>> all_subdir_tcp --- /usr/src/sys/modules/tcp/bbr/../../../netinet/tcp_stacks/bbr.c:10443:4:
>>>> error: implicit declaration of function 'tcp_rel_pacing_rate' is invalid in C99
>>>> [-Werror,-Wimplicit-function-declaration] tcp_rel_pacing_rate(bbr->r_ctl.crte, bbr->rc_tp); ^
>>>> - --- all_subdir_tpm ---
>>>> ===> tpm (all)
>>>> - --- all_subdir_tcp ---
>>>> /usr/src/sys/modules/tcp/bbr/../../../netinet/tcp_stacks/bbr.c:10443:4: error: this function
>>>> declaration is not a prototype [-Werror,-Wstrict-prototypes] --- all_subdir_trm ---
>>>> ===> trm (all)
>>>> - --- all_subdir_tcp ---
>>>> /usr/src/sys/modules/tcp/bbr/../../../netinet/tcp_stacks/bbr.c:14307:21: error: implicit
>>>> declaration of function 'tcp_set_pacing_rate' is invalid in C99
>>>> [-Werror,-Wimplicit-function-declaration] bbr->r_ctl.crte = tcp_set_pacing_rate(bbr->rc_tp,
>>> 
>>> CI completed a clean build on 12.0-R:
>>> https://ci.freebsd.org/job/FreeBSD-head-amd64-build/14672/
>>> 
>>> What's your build environment and platform?
>>> 
>>> Best,
>>> Li-Wen
>> 
>> ------
>> Randall Stewart
>> rrs@netflix.com
>> 
>> 
>> 

------
Randall Stewart
rrs@netflix.com






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?56FBEE27-FBDA-44E0-BBBF-F5D9A4755047>