Add a new page to describe the network stack userland debugging environment.

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6040 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Philippe Houdoin
2004-01-12 23:57:48 +00:00
parent 46c1d3fef3
commit 9867f08a8e
3 changed files with 67 additions and 5 deletions
+57
View File
@@ -0,0 +1,57 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML>
<HEAD>
<TITLE>OpenBeOS Network Kit</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<STYLE type="text/css">
body
{
text-indent: 0in;
font-stretch: normal;
text-align: left;
font-weight: normal;
text-decoration: none;
font-variant: normal;
color: #000000;
font-size: 12pt;
font-style: normal;
widows: 2;
font-family: "Century Gothic", "Trebuchet MS", "Trebuchet", "Arial", "Helvetica";
background-color: #ffffff;
}
</STYLE>
</HEAD>
<BODY text=#000000 vLink=#0000a0 aLink=#0000ff link=#0000c0 bgColor=#ffffff>
<H1>OpenBeOS Network Kit: Debugging instructions</H1>
<P>For debugging purpose, and eventually stack internals learning purpose, we have develop
an userland stack version, sharing most of the <A href="stack.html">network stack</A>
source code but hosted by a app, <i>net_stack_tester</i>, in contrast with the real one hosted in kernelland, behind the
<A href="stack_driver.html">stack driver</A>.
</P>
<P>The following image shows this debug platform overall design:</P>
<IMG ALT="OpenBeOS Network Stack debugging platform block diagram" SRC="obos_net_server_design_1.gif"><BR>
<P>The <A href="libs.html#libnet">libnet.so</A> library was modified to check if the NET_STACK_DRIVER_PATH
environment variable is defined and use his value as driver path to interface with.
To switch to <i>net_stack_tester</i> hosted stack version, just run this
from a Terminal:</P>
<p>
<TABLE cellpadding=6 bgcolor=#E5E5E5 border=0>
<TR><TD><TT>$ export NET_STACK_DRIVER_PATH=/dev/net/server</TT>
</TABLE>
</p>
<P>Starting from there, all apps using libnet.so services will use the debug stack version.
</P>
<HR>
<H6>Philippe Houdoin, January 12th, 2004</H6>
</BODY>
</HTML>
+3 -1
View File
@@ -30,8 +30,10 @@ body
<UL>
<LI><A href="overview.html">Overview</A>
<LI><A href="build.html">Build &amp; installation intructions</A>
<LI><A href="debugging.html">Debugging intructions</A>
<LI>Implementation:
<UL>
<LI><A href="r5_compatibility.html">BeOS R5 compatibility issues</A>
<LI><A href="libs.html">The shared libraries</A>
<UL>
<LI><A href="libs.html#libnet">libnet.so</A>
@@ -64,7 +66,7 @@ body
<HR>
<H6>Philippe Houdoin, May 16th, 2003</H6>
<H6>Philippe Houdoin, January 12th, 2004</H6>
</BODY>
</HTML>
+7 -4
View File
@@ -24,7 +24,7 @@ body
</HEAD>
<BODY text=#000000 vLink=#0000a0 aLink=#0000ff link=#0000c0 bgColor=#ffffff>
<H1>OpenBeOS Network Kit: R5 compatibility</H1>
<H1>OpenBeOS Network Kit: R5 compatibility issues</H1>
<P>Unfortunatly, R5 and sooner (net_server based) network stack development header file (/develop/headers/be/net/socket.h) definition of
network structures and constantes are not BSD standard ones.<BR>
@@ -62,7 +62,10 @@ OpenBeOS.
<TR bgcolor=#E5E5E5><TD>SOL_SOCKET<TD>1<TD>0xffffffff<TD>idem as BONE
<TR bgcolor=#E5E5E5><TD>SO_DEBUG<TD>1<TD>0x00000004<TD>idem as BONE
<TR bgcolor=#E5E5E5><TD>SO_REUSEADDR<TD>2<TD>0x00000040<TD>idem as BONE
<TR bgcolor=#E5E5E5><TD>SO_NONBLOCK<TD>3<TD>SO_NONBLOCK<TD>idem as BONE
<TR bgcolor=#E5E5E5><TD>SO_NONBLOCK<TD>3<TD>0x40000009<TD>idem as BONE
<TR bgcolor=#E5E5E5><TD>SO_REUSEPORT<TD>4<TD>0x00000080<TD>idem as BONE
<TR bgcolor=#E5E5E5><TD>SO_FIONREAD<TD>5<TD>?<TD>?
<TR bgcolor=#E5E5E5 valign="top"><TD>sockaddr
<TD><TT>struct sockaddr {<BR>
@@ -76,8 +79,8 @@ OpenBeOS.
};</TT>
<TD>idem as BONE
<TR bgcolor=#E5E5E5><TD>shutdown()
<TD>not defined<TD>defined<TD>idem as BONE
<TR bgcolor=#E5E5E5><TD>closesocket()
<TD>defined<TD>not defined<TD>defined, call close()
<TR bgcolor=#E5E5E5 valign="top">