Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Oct 2019 17:54:06 +0200
From:      "Hartmann, O." <ohartmann@walstatt.org>
To:        Cy Schubert <Cy.Schubert@cschubert.com>
Cc:        "Hartmann, O." <ohartmann@walstatt.org>, svn-src-head@freebsd.org, Gary Jennejohn <gljennjohn@gmail.com>, src-committers@freebsd.org, svn-src-all@freebsd.org, Conrad Meyer <cem@FreeBSD.org>
Subject:   Re: svn commit: r353700 - in head: share/man/man4 sys/amd64/conf  sys/conf sys/gdb sys/i386/conf sys/kern sys/net sys/sys
Message-ID:  <20191018175406.0ff89bbc@hermann.fritz.box>
In-Reply-To: <201910181424.x9IEOC9q013885@slippy.cwsent.com>
References:  <201910172133.x9HLX1kl071044@repo.freebsd.org> <20191018122104.389ffb7a@hermann.fritz.box> <20191018140045.31d269b0@ernst.home> <20191018160935.7dda61c4@hermann.fritz.box> <201910181424.x9IEOC9q013885@slippy.cwsent.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_/w8CGTs2D0os+h1ujbS5RYJO
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

On Fri, 18 Oct 2019 07:24:12 -0700
Cy Schubert <Cy.Schubert@cschubert.com> wrote:

> In message <20191018160935.7dda61c4@hermann.fritz.box>, "Hartmann,
> O." writes:
> > --Sig_/QDD9BZgeMM6.TJkOIciNb32
> > Content-Type: text/plain; charset=3DUS-ASCII
> > Content-Transfer-Encoding: quoted-printable
> >
> > On Fri, 18 Oct 2019 14:00:45 +0200
> > Gary Jennejohn <gljennjohn@gmail.com> wrote:
> > =20
> > > On Fri, 18 Oct 2019 12:21:04 +0200
> > > "Hartmann, O." <ohartmann@walstatt.org> wrote:
> > >=3D20 =20
> > > > On Thu, 17 Oct 2019 21:33:01 +0000 (UTC)
> > > > Conrad Meyer <cem@FreeBSD.org> wrote:
> > > >  =3D20 =20
> > > > > Author: cem
> > > > > Date: Thu Oct 17 21:33:01 2019
> > > > > New Revision: 353700
> > > > > URL: https://svnweb.freebsd.org/changeset/base/353700
> > > > >=3D20
> > > > > Log:
> > > > >   Implement NetGDB(4)
> > > > >  =3D20
> > > > >   NetGDB(4) is a component of a system using a panic-time
> > > > > network stack to remotely debug crashed FreeBSD kernels over
> > > > > the network, instead of traditional serial interfaces.
> > > > >  =3D20
> > > > >   There are three pieces in the complete NetGDB system.
> > > > >  =3D20
> > > > >   First, a dedicated proxy server must be running to accept
> > > > > connections from both NetGDB and gdb(1), and pass
> > > > > bidirectional traffic between the two protocols.
> > > > >  =3D20
> > > > >   Second, the NetGDB client is activated much like ordinary
> > > > > 'gdb' and similarly to 'netdump' in ddb(4) after a panic.
> > > > > Like other debugnet(4) clients (netdump(4)), the network
> > > > > interface on the route to the proxy server must be online and
> > > > > support debugnet(4). =3D20
> > > > >   Finally, the remote (k)gdb(1) uses 'target remote
> > > > > <proxy>:<port>' (like any other TCP remote) to connect to the
> > > > > proxy server.=3D20
> > > > >   The NetGDB v1 protocol speaks the literal GDB remote serial
> > > > > protocol, and uses a 1:1 relationship between GDB packets and
> > > > > sequences of debugnet packets (fragmented by MTU).  There is
> > > > > no encryption utilized to keep debugging sessions private, so
> > > > > this is only appropriate for local segments or trusted
> > > > > networks. =3D20
> > > > >   Submitted by:	John Reimer <john.reimer AT emc.com>
> > > > > (earlier version) Discussed some with:	emaste, markj
> > > > >   Relnotes:	sure
> > > > >   Differential Revision:
> > > > > https://reviews.freebsd.org/D21568
> > > > >=3D20
> > > > > Added:
> > > > >   head/share/man/man4/netgdb.4   (contents, props changed)
> > > > >   head/sys/gdb/netgdb.c   (contents, props changed)
> > > > >   head/sys/gdb/netgdb.h   (contents, props changed)
> > > > > Modified:
> > > > >   head/share/man/man4/Makefile
> > > > >   head/share/man/man4/ddb.4
> > > > >   head/sys/amd64/conf/GENERIC
> > > > >   head/sys/conf/NOTES
> > > > >   head/sys/conf/files
> > > > >   head/sys/conf/options
> > > > >   head/sys/gdb/gdb.h
> > > > >   head/sys/gdb/gdb_int.h
> > > > >   head/sys/gdb/gdb_main.c
> > > > >   head/sys/gdb/gdb_packet.c
> > > > >   head/sys/i386/conf/GENERIC
> > > > >   head/sys/kern/subr_kdb.c
> > > > >   head/sys/net/debugnet.c
> > > > >   head/sys/net/debugnet.h
> > > > >   head/sys/net/debugnet_inet.c
> > > > >   head/sys/net/debugnet_int.h
> > > > >   head/sys/sys/kdb.h
> > > > >   head/sys/sys/param.h
> > > > >=3D20
> > > > > Modified: head/share/man/man4/Makefile
> > > > > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=
=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D
> > > > > =20
> > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=
=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D
> > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=
=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D
> > =3D3D=3D3D=3D3D=3D3D=3D3D =20
> > > > > --- head/share/man/man4/Makefile	Thu Oct 17 21:25:50
> > > > > 2019	(r353699) +++ head/share/man/man4/Makefile
> > > > > Thu Oct 17 21:33:01 2019	(r353700) @@ -307,6 +307,7 @@
> > > > > MAN=3D3D aac.4 \ net80211.4 \
> > > > >  	netdump.4 \
> > > > >  	netfpga10g_nf10bmac.4 \
> > > > > +	netgdb.4 \
> > > > >  	netgraph.4 \
> > > > >  	netintro.4 \
> > > > >  	netmap.4 \
> > > > >    =3D20 =20
> > > > [...]
> > > >=3D20
> > > >=3D20
> > > > Having "nooptions       NETGDB          # netgdb(4) client
> > > > support" defined in my kernel config file, buildkernel fails
> > > > with the error shown below.
> > > >=3D20
> > > > [...]
> > > > --- debugnet.o ---
> > > > /usr/src/sys/net/debugnet.c:662:4: error: implicit declaration
> > > > of function 'db_printf' is invalid in C99
> > > > [-Werror,-Wimplicit-function-declaration] db_printf("%s: Could
> > > > not get route for that server.\n", ^
> > > > /usr/src/sys/net/debugnet.c:662:4: note: did you mean
> > > > 'if_printf'? /usr/src/sys/net/if_var.h:679:5: note: 'if_printf'
> > > > declared here int     if_printf(struct ifnet *, const char *,
> > > > ...) __printflike(2, 3); ^ 1 error generated. =3D20 =20
> > >=3D20
> > > And I also had to add "nooptions NETDUMP" to get the kernel to
> > > compile and link.
> > >=3D20 =20
> >
> > I already had "nooptions NETDUMP" defined. =20
>=20
>=20
> This will fix it.
>=20
> Index: sys/net/debugnet.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> --- sys/net/debugnet.c	(revision 353717)
> +++ sys/net/debugnet.c	(working copy)
> @@ -659,8 +659,10 @@
>  		CURVNET_RESTORE();
> =20
>  		if (dest_rt =3D=3D NULL) {
> +#ifdef DDB
>  			db_printf("%s: Could not get route for that
> server.\n", __func__);
> +#endif
>  			error =3D ENOENT;
>  			goto cleanup;
>  		}
>=20
>=20
>=20

Doesn't work, either.
The kernel config in question doesn't have any debugging features
enabled, so nooptions DDB is alos part of the configuration.
buildkernel still fails.

--Sig_/w8CGTs2D0os+h1ujbS5RYJO
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

-----BEGIN PGP SIGNATURE-----

iHUEARYIAB0WIQSy8IBxAPDkqVBaTJ44N1ZZPba5RwUCXangHgAKCRA4N1ZZPba5
R3XjAP95797t8GjhHOEpWzpRgVnqCUqwlILMCfnfNGg7utiT/wD+K68c0jUlNech
9/peDfPKI5RNnoLf2+LYRIsyErjF2g0=
=eD7J
-----END PGP SIGNATURE-----

--Sig_/w8CGTs2D0os+h1ujbS5RYJO--



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