summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/netgdb.4 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man4/netgdb.4 3.html')
-rw-r--r--static/freebsd/man4/netgdb.4 3.html121
1 files changed, 0 insertions, 121 deletions
diff --git a/static/freebsd/man4/netgdb.4 3.html b/static/freebsd/man4/netgdb.4 3.html
deleted file mode 100644
index fc77e133..00000000
--- a/static/freebsd/man4/netgdb.4 3.html
+++ /dev/null
@@ -1,121 +0,0 @@
-<table class="head">
- <tr>
- <td class="head-ltitle">NETGDB(4)</td>
- <td class="head-vol">Device Drivers Manual</td>
- <td class="head-rtitle">NETGDB(4)</td>
- </tr>
-</table>
-<div class="manual-text">
-<section class="Sh">
-<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
-<p class="Pp"><code class="Nm">netgdb</code> &#x2014; <span class="Nd">protocol
- for debugging the kernel with GDB over the network</span></p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
-<p class="Pp">To compile NetGDB support into the kernel, place the following
- lines in your kernel configuration file:</p>
-<div class="Bd Pp Bd-indent"><code class="Cd">options DDB</code>
-<br/>
-<code class="Cd">options GDB</code>
-<br/>
-<code class="Cd">options INET</code>
-<br/>
-<code class="Cd">options DEBUGNET</code>
-<br/>
-<code class="Cd">options NETGDB</code></div>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
-<p class="Pp"><code class="Nm">netgdb</code> is a UDP-based protocol for
- communicating with a remote GDB client via an intermediary proxy.</p>
-<p class="Pp">A <code class="Nm">netgdb</code> session is started by using the
- <code class="Ic">netgdb</code> <code class="Fl">-s</code>
- <var class="Ar">server</var> [<code class="Fl">-g</code>
- <var class="Ar">gateway</var> <code class="Fl">-c</code>
- <var class="Ar">client</var> <code class="Fl">-i</code>
- <var class="Ar">iface</var>] command in <a class="Xr">ddb(4)</a> to connect
- to a proxy server. When the connection is made, the proxy server logs a
- message that a <code class="Nm">netgdb</code> client has connected. It
- subsequently establishes a TCP listening socket and logs a message
- specifying which port it is listening on. Then it waits for a GDB client to
- connect. The GDB command to connect is:</p>
-<div class="Bd Pp Bd-indent"><code class="Ic">target remote</code>
- &#x27E8;<var class="Ar">proxyip:proxyport</var>&#x27E9;</div>
-<p class="Pp">At this point, the server proxies traffic back and forth between
- <code class="Nm">netgdb</code> and the ordinary GDB client, speaking the
- ordinary GDB remote protocol. The <code class="Nm">netgdb</code> session is
- identical to any other kernel GDB session from the perspective of the GDB
- debugger.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="IMPLEMENTATION_NOTES"><a class="permalink" href="#IMPLEMENTATION_NOTES">IMPLEMENTATION
- NOTES</a></h1>
-<p class="Pp">The UDP protocol is based on the same packet structure and a
- subset of the exact same message types as <a class="Xr">netdump(4)</a>. It
- uses the <code class="Dv">HERALD</code>, <code class="Dv">DATA</code>
- (<code class="Dv">n&#x00E9;e VMCORE</code>), and
- <code class="Dv">FINISHED</code> message types. Like
- <a class="Xr">netdump(4)</a>, the client's initial
- <code class="Dv">HERALD</code> message is acknowledged from a random source
- port, and the client sends subsequent communication to that port.</p>
-<p class="Pp">Unlike <a class="Xr">netdump(4)</a>, the initial
- <code class="Dv">HERALD</code> port is 20025. Additionally, the proxy server
- sends responses to the source port of the client's initial
- <code class="Dv">HERALD</code>, rather than a separate reserved port.
- <code class="Nm">netgdb</code> message and acknowledgements are
- bidirectional. The sequence number and acknowledgement protocol is otherwise
- identical to the unidirectional version used by netdump; it just runs in
- both directions. Acknowledgements are sent to and from the same addresses
- and ports as regular messages.</p>
-<p class="Pp">The first version of the <code class="Nm">netgdb</code> protocol
- uses the protocol number &#x2018;0x2515f095&#x2019; in the 32-bit
- <var class="Va">aux2</var> parameter of the initial
- <code class="Dv">HERALD</code> message.</p>
-<p class="Pp">The list of supported network drivers and protocol families is
- identical to that of <a class="Xr">netdump(4)</a>.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="DIAGNOSTICS"><a class="permalink" href="#DIAGNOSTICS">DIAGNOSTICS</a></h1>
-<p class="Pp">The following variable is available via both
- <a class="Xr">sysctl(8)</a> and <a class="Xr">loader(8)</a> (as a
- tunable):</p>
-<dl class="Bl-tag">
- <dt id="debug.gdb.netgdb.debug"><var class="Va">debug.gdb.netgdb.debug</var></dt>
- <dd>Control debug message verbosity. Debug messages are disabled by default.
- They may be enabled by setting the variable to a non-zero value.</dd>
-</dl>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
- ALSO</a></h1>
-<p class="Pp"><a class="Xr">ddb(4)</a>, <a class="Xr">gdb(4)</a>,
- <a class="Xr">netdump(4)</a></p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
-<p class="Pp"><code class="Nm">netgdb</code> first appeared in
- <span class="Ux">FreeBSD 13.0</span>.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1>
-<p class="Pp"><code class="Nm">netgdb</code> may only be used after the kernel
- has panicked, due to limitations in the treatment of locking primitives
- under <a class="Xr">ddb(4)</a>.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="SECURITY_CONSIDERATIONS"><a class="permalink" href="#SECURITY_CONSIDERATIONS">SECURITY
- CONSIDERATIONS</a></h1>
-<p class="Pp">Version 1 of the <code class="Nm">netgdb</code> protocol has no
- security properties whatsoever. All messages are sent and acknowledged in
- cleartext, and no message authentication codes are used to prevent attackers
- from forging messages. It is absolutely inappropriate for use across the
- public internet.</p>
-</section>
-</div>
-<table class="foot">
- <tr>
- <td class="foot-date">November 10, 2022</td>
- <td class="foot-os">FreeBSD 15.0</td>
- </tr>
-</table>