git: 5d8fd932e418 - main - This brings into sync FreeBSD with the netflix versions of rack and bbr. This fixes several breakages (panics) since the tcp_lro code was committed that have been reported. Quite a few new features are now in rack (prefecting of DGP -- Dynamic Goodput Pacing among the largest). There is also support for ack-war prevention. Documents comming soon on rack..

Michael Tuexen michael.tuexen at macmic.franken.de
Fri May 7 18:38:28 UTC 2021


> On 7. May 2021, at 20:26, Warner Losh <imp at bsdimp.com> wrote:
> 
> https://reviews.freebsd.org/D30163
> 
> May be the ticket to solve this...
I don't understand that. RACK should just compile fine when RATELIMIT is defined
in the kernel config. Gordon states that this is the case for him.
Whu do you think that D30163 is needed to compile RACK on a platform where
RATELIMIT is in the kernel config?

Best regards
Michael
> 
> Warner 
> 
> On Fri, May 7, 2021, 12:03 PM Michael Tuexen <michael.tuexen at macmic.franken.de> wrote:
> > On 7. May 2021, at 19:47, Gordon Bergling <gbe at FreeBSD.org> wrote:
> > 
> > On Fri, May 07, 2021 at 05:39:37PM +0800, Li-Wen Hsu wrote:
> >> On Thu, May 6, 2021 at 11:26 PM Randall Stewart <rrs at freebsd.org> wrote:
> >>> 
> >>> The branch main has been updated by rrs:
> >>> 
> >>> URL: https://cgit.FreeBSD.org/src/commit/?id=5d8fd932e418f03e98b3469c4088a36f0ef34ffe
> >>> 
> >>> commit 5d8fd932e418f03e98b3469c4088a36f0ef34ffe
> >>> Author:     Randall Stewart <rrs at FreeBSD.org>
> >>> AuthorDate: 2021-05-06 15:22:26 +0000
> >>> Commit:     Randall Stewart <rrs at FreeBSD.org>
> >>> CommitDate: 2021-05-06 15:22:26 +0000
> >>> 
> >>>    This brings into sync FreeBSD with the netflix versions of rack and bbr.
> >>>    This fixes several breakages (panics) since the tcp_lro code was
> >>>    committed that have been reported. Quite a few new features are
> >>>    now in rack (prefecting of DGP -- Dynamic Goodput Pacing among the
> >>>    largest). There is also support for ack-war prevention. Documents
> >>>    comming soon on rack..
> >>> 
> >>>    Sponsored by:           Netflix
> >>>    Reviewed by:            rscheff, mtuexen
> >>>    Differential Revision:  https://reviews.freebsd.org/D30036
> >> 
> >> This seems braking LINT kernel build of powerpc:
> >> 
> >> https://ci.freebsd.org/job/FreeBSD-main-powerpc-LINT/6082/console
> >> 
> >> Searching "error:" leads to:
> >> 
> >> 00:08:15.153 /workspace/src/sys/modules/tcp/rack/../../../netinet/tcp_stacks/rack.c:2143:16:
> >> error: implicit declaration of function 'tcp_hw_highest_rate' is
> >> invalid in C99 [-Werror,-Wimplicit-function-declaration]
> >> 00:08:15.153                         high_rate =
> >> tcp_hw_highest_rate(rack->r_ctl.crte);
> >> 00:08:15.153                                     ^
> >> 
> >> and
> >> 
> >> 00:08:15.163 /workspace/src/sys/modules/tcp/rack/../../../netinet/tcp_stacks/rack.c:2165:16:
> >> error: implicit declaration of function 'tcp_hw_highest_rate_ifp' is
> >> invalid in C99 [-Werror,-Wimplicit-function-declaration]
> >> 00:08:15.163                         high_rate =
> >> tcp_hw_highest_rate_ifp(rack->rc_inp->inp_route.ro_nh->nh_ifp,
> >> rack->rc_inp);
> >> 00:08:15.163                                     ^
> >> 
> >> I suspect this is because RATELIMIT is not defined in default powerpc
> >> build? Is it safe to enable it?
> >> 
> >> Best,
> >> Li-Wen
> > 
> > That should not be something RATELIMT related. I regular test 14-CURRENT on a
> > RPi4B and the build today fails with
> > 
> > --------------------------------------------------------------
> >>>> stage 3.1: building everything
> > --------------------------------------------------------------
> > /tank/nfs_public/tiny/src/sys/modules/tcp/rack/../../../netinet/tcp_stacks/rack.c:2143:16: error: implicit declaration of function 'tcp_hw_highest_rate' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
> >                        high_rate = tcp_hw_highest_rate(rack->r_ctl.crte);
> >                                    ^
> > /tank/nfs_public/tiny/src/sys/modules/tcp/rack/../../../netinet/tcp_stacks/rack.c:2165:16: error: implicit declaration of function 'tcp_hw_highest_rate_ifp' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
> >                        high_rate = tcp_hw_highest_rate_ifp(rack->rc_inp->inp_route.ro_nh->nh_ifp, rack->rc_inp);
> >                                    ^
> > /tank/nfs_public/tiny/src/sys/modules/tcp/rack/../../../netinet/tcp_stacks/rack.c:14166:15: error: implicit declaration of function 'tcp_hw_highest_rate' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
> >                high_rate = tcp_hw_highest_rate(rack->r_ctl.crte);
> >                            ^
> > /tank/nfs_public/tiny/src/sys/modules/tcp/rack/../../../netinet/tcp_stacks/rack.c:14193:15: error: implicit declaration of function 'tcp_hw_highest_rate_ifp' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
> >                high_rate = tcp_hw_highest_rate_ifp(rack->rc_inp->inp_route.ro_nh->nh_ifp, rack->rc_inp);
> >                            ^
> > 4 errors generated.
> > --- rack.o ---
> > *** [rack.o] Error code 1
> > 
> > 
> > RATELIMIT is included in my KERNCONF since I use tcp_bbr(4) for a
> > while on the RPi4B now.
> Can you post the kernel config you are using? I'm building the kernel on an arm64 platform by using
> 
> tuexen at parallels:~/freebsd-src/sys/arm64/conf % cat SCTP 
> include         GENERIC
> ident           SCTP    
> 
> makeoptions     WITH_EXTRA_TCP_STACKS=1
> options         SCTP
> options         SCTP_DEBUG
> options         TCPHPTS
> options         TCP_BLACKBOX
> options         RATELIMIT
> options         DEBUG_REDZONE
> options         IPFIREWALL
> options         IPFIREWALL_VERBOSE
> options         IPFIREWALL_VERBOSE_LIMIT=5
> options         IPFIREWALL_DEFAULT_TO_ACCEPT
> 
> It looks like RATELIMIT is not defined, when tcp_ratelimit.h is included...
> 
> Best regards
> Michael
> 
> > --Gordon
> 



More information about the dev-commits-src-all mailing list