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..

Warner Losh imp at bsdimp.com
Sat May 8 00:04:33 UTC 2021


On Fri, May 7, 2021, 12:38 PM Michael Tuexen <
michael.tuexen at macmic.franken.de> wrote:

> > 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?
>

We need ot to compile the module when it isn't in the kernel. Modules have
to compile, even for illegal combinations of options or be omitted from
building...

Warner

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-main mailing list