svn commit: r353700 - in head: share/man/man4 sys/amd64/conf sys/conf sys/gdb sys/i386/conf sys/kern sys/net sys/sys

Hartmann, O. ohartmann at walstatt.org
Fri Oct 18 10:26:24 UTC 2019


On Thu, 17 Oct 2019 21:33:01 +0000 (UTC)
Conrad Meyer <cem at FreeBSD.org> wrote:

> Author: cem
> Date: Thu Oct 17 21:33:01 2019
> New Revision: 353700
> URL: https://svnweb.freebsd.org/changeset/base/353700
> 
> Log:
>   Implement NetGDB(4)
>   
>   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.
>   
>   There are three pieces in the complete NetGDB system.
>   
>   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.
>   
>   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).
>   
>   Finally, the remote (k)gdb(1) uses 'target remote <proxy>:<port>'
> (like any other TCP remote) to connect to the proxy server.
>   
>   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.
>   
>   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
> 
> 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
> 
> Modified: head/share/man/man4/Makefile
> ==============================================================================
> --- 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=
> aac.4 \ net80211.4 \
>  	netdump.4 \
>  	netfpga10g_nf10bmac.4 \
> +	netgdb.4 \
>  	netgraph.4 \
>  	netintro.4 \
>  	netmap.4 \
> 
[...]


Having "nooptions       NETGDB          # netgdb(4) client support"
defined in my kernel config file, buildkernel fails with the error
shown below.

[...]
--- 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 228 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/svn-src-all/attachments/20191018/2c15ec67/attachment.sig>


More information about the svn-src-all mailing list