Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 8 May 2021 06:56:35 +0200
From:      Michael Tuexen <Michael.Tuexen@macmic.franken.de>
To:        Warner Losh <imp@bsdimp.com>
Cc:        Gordon Bergling <gbe@freebsd.org>, Li-Wen Hsu <lwhsu@freebsd.org>, Randall Stewart <rrs@freebsd.org>, src-committers <src-committers@freebsd.org>, "<dev-commits-src-all@freebsd.org>" <dev-commits-src-all@freebsd.org>, dev-commits-src-main@freebsd.org
Subject:   Re: 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..
Message-ID:  <FB0DFBFC-D278-4CE7-A6A4-204F2D333DF1@macmic.franken.de>
In-Reply-To: <CANCZdfo9nX4_gwNDMnQtw7SsWbD_aT4vLX4Ju_NvNZ2qjdYevQ@mail.gmail.com>
References:  <202105061526.146FQS0E008755@gitrepo.freebsd.org> <CAKBkRUy-5MCGEOYRHGk%2BtC3FKjgXmhKg5ppvn1x9eFtbcK1=VQ@mail.gmail.com> <YJV9GlMm19s2prD7@lion.0xfce3.net> <78FF7B31-B84D-4D97-9E57-D000A6B09D7D@macmic.franken.de> <CANCZdfoh6FsPL6%2BTiVZ5_k6b6Vyi0TOR-BKo3Rcmdg0FB_AhHw@mail.gmail.com> <504C85E6-8967-40CC-8E12-F20F78B3226F@macmic.franken.de> <CANCZdfo9nX4_gwNDMnQtw7SsWbD_aT4vLX4Ju_NvNZ2qjdYevQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> On 8. May 2021, at 02:04, Warner Losh <imp@bsdimp.com> wrote:
>=20
>=20
>=20
> On Fri, May 7, 2021, 12:38 PM Michael Tuexen =
<michael.tuexen@macmic.franken.de> wrote:
> > On 7. May 2021, at 20:26, Warner Losh <imp@bsdimp.com> wrote:
> >=20
> > https://reviews.freebsd.org/D30163
> >=20
> > 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?
>=20
> 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...
Understood.
But Gordon stated that he has RATELIMIT defined in his kernel config. So
I guess he is experiencing a different issue, which I would like to =
understand
the root cause for.

Best regards
Michael
>=20
> Warner=20
>=20
> Best regards
> Michael
> >=20
> > Warner=20
> >=20
> > On Fri, May 7, 2021, 12:03 PM Michael Tuexen =
<michael.tuexen@macmic.franken.de> wrote:
> > > On 7. May 2021, at 19:47, Gordon Bergling <gbe@FreeBSD.org> wrote:
> > >=20
> > > 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@freebsd.org> =
wrote:
> > >>>=20
> > >>> The branch main has been updated by rrs:
> > >>>=20
> > >>> URL: =
https://cgit.FreeBSD.org/src/commit/?id=3D5d8fd932e418f03e98b3469c4088a36f=
0ef34ffe
> > >>>=20
> > >>> commit 5d8fd932e418f03e98b3469c4088a36f0ef34ffe
> > >>> Author:     Randall Stewart <rrs@FreeBSD.org>
> > >>> AuthorDate: 2021-05-06 15:22:26 +0000
> > >>> Commit:     Randall Stewart <rrs@FreeBSD.org>
> > >>> CommitDate: 2021-05-06 15:22:26 +0000
> > >>>=20
> > >>>    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..
> > >>>=20
> > >>>    Sponsored by:           Netflix
> > >>>    Reviewed by:            rscheff, mtuexen
> > >>>    Differential Revision:  https://reviews.freebsd.org/D30036
> > >>=20
> > >> This seems braking LINT kernel build of powerpc:
> > >>=20
> > >> https://ci.freebsd.org/job/FreeBSD-main-powerpc-LINT/6082/console
> > >>=20
> > >> Searching "error:" leads to:
> > >>=20
> > >> 00:08:15.153 =
/workspace/src/sys/modules/tcp/rack/../../../netinet/tcp_stacks/rack.c:214=
3:16:
> > >> error: implicit declaration of function 'tcp_hw_highest_rate' is
> > >> invalid in C99 [-Werror,-Wimplicit-function-declaration]
> > >> 00:08:15.153                         high_rate =3D
> > >> tcp_hw_highest_rate(rack->r_ctl.crte);
> > >> 00:08:15.153                                     ^
> > >>=20
> > >> and
> > >>=20
> > >> 00:08:15.163 =
/workspace/src/sys/modules/tcp/rack/../../../netinet/tcp_stacks/rack.c:216=
5: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 =3D
> > >> tcp_hw_highest_rate_ifp(rack->rc_inp->inp_route.ro_nh->nh_ifp,
> > >> rack->rc_inp);
> > >> 00:08:15.163                                     ^
> > >>=20
> > >> I suspect this is because RATELIMIT is not defined in default =
powerpc
> > >> build? Is it safe to enable it?
> > >>=20
> > >> Best,
> > >> Li-Wen
> > >=20
> > > That should not be something RATELIMT related. I regular test =
14-CURRENT on a
> > > RPi4B and the build today fails with
> > >=20
> > > --------------------------------------------------------------
> > >>>> 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 =3D =
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 =3D =
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 =3D =
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 =3D =
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
> > >=20
> > >=20
> > > 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
> >=20
> > tuexen@parallels:~/freebsd-src/sys/arm64/conf % cat SCTP=20
> > include         GENERIC
> > ident           SCTP   =20
> >=20
> > makeoptions     WITH_EXTRA_TCP_STACKS=3D1
> > options         SCTP
> > options         SCTP_DEBUG
> > options         TCPHPTS
> > options         TCP_BLACKBOX
> > options         RATELIMIT
> > options         DEBUG_REDZONE
> > options         IPFIREWALL
> > options         IPFIREWALL_VERBOSE
> > options         IPFIREWALL_VERBOSE_LIMIT=3D5
> > options         IPFIREWALL_DEFAULT_TO_ACCEPT
> >=20
> > It looks like RATELIMIT is not defined, when tcp_ratelimit.h is =
included...
> >=20
> > Best regards
> > Michael
> >=20
> > > --Gordon
> >=20
>=20




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FB0DFBFC-D278-4CE7-A6A4-204F2D333DF1>