update norp to 0.1b6

pull/2/head
Jeff Weston 2019-09-11 15:34:39 -04:00
parent c9ed6bd04f
commit 5ddef38e2e
3 changed files with 43 additions and 12 deletions

View File

@ -23,9 +23,8 @@
a remote <emphasis>norp</emphasis> peer is unavailable. This software
was developed by the <ulink url="http://www.nrl.navy.mil/">Naval
Research Laboratory</ulink> (NRL) PROTocol Engineering Advanced
Networking Research Group.
The NRL reference implementation of NORM used here is available from
<ulink
Networking Research Group. The NRL reference implementation of NORM used
here is available from <ulink
url="http://www.nrl.navy.mil/itd/ncs/products/norm">http://www.nrl.navy.mil/itd/ncs/products/norm</ulink>.</para>
</abstract>
</articleinfo>
@ -127,9 +126,9 @@
<para><informalexample>
<programlisting><?dbfo keep-together="always"?>norp [interface &lt;ifaceName&gt;][address &lt;publicAddr&gt;][sport &lt;socksPort&gt;][port &lt;norpPort&gt;]
[norm {on|off}][id &lt;normId&gt;][nport &lt;normPort&gt;][cce | ccl | rate &lt;bits/sec&gt;]
[limit &lt;bits/sec&gt;][persist &lt;seconds&gt;][correspondent &lt;remoteNorpAddr&gt;]
[forward &lt;tcpPort&gt;,&lt;destAddr&gt;/&lt;destPort&gt;[,&lt;remoteNorpAddr&gt;]][version][debug &lt;level&gt;]
[trace][dlog &lt;debugLog&gt;][lport &lt;localNorpPort&gt;][rport &lt;remoteNorpPort&gt;]</programlisting>
[limit &lt;bits/sec&gt;][persist &lt;seconds&gt;][segment &lt;segmentSize&gt;]
[correspondent &lt;remoteNorpAddr&gt;][forward &lt;tcpPort&gt;,&lt;destAddr&gt;/&lt;destPort&gt;[,&lt;remoteNorpAddr&gt;]]
[version][debug &lt;level&gt;][trace][dlog &lt;debugLog&gt;][lport &lt;localNorpPort&gt;][rport &lt;remoteNorpPort&gt;]</programlisting>
<para>The <emphasis>norp</emphasis> program command-line options
include ...</para>
@ -290,6 +289,26 @@
the limit enforcement.</entry>
</row>
<row>
<entry><literal>segment &lt;segmentSize&gt;</literal></entry>
<entry>This option sets the NORM protocol maximum packet payload
size where is <parameter>&lt;segmentSize&gt;</parameter> is in
units of bytes. . For <emphasis>norp</emphasis> that uses the
NORM_OBJECT_STREAM, the maximum NORM UDP payload size is 40 bytes
of NORM header plus the configured segment size. The resultant
total maximum IPv4 UDP packet size (including IP and UDP headers)
is then 28 + 40 + <parameter>&lt;segmentSize&gt;</parameter>
bytes. For IPv6, the resultant maximum packet size is 48 + 40 +
<parameter>&lt;segmentSize&gt;</parameter> bytes. The default NORM
segment size, if this option is not invoked, is 1400 bytes,
resulting in NORM UDP packets with 1440 byte payloads. Thus, for
IPv4 that has 28 bytes of IP + UDP header, this results in a
maximum <emphasis>norp</emphasis> packet size of 1468 bytes while,
for IPv6, the maximum <emphasis>norp</emphasis> packet size would
be 1488 bytes.</entry>
</row>
<row>
<entry><literal>correspondent
&lt;remoteNorpAddr&gt;</literal></entry>
@ -504,7 +523,7 @@
<term>ACK_REP</term>
<listitem>
<para>The message is used to acknoledge receipt of a SOCKS_REP
<para>The message is used to acknowledge receipt of a SOCKS_REP
message. There is no "content".</para>
</listitem>
</varlistentry>

View File

@ -1,3 +1,3 @@
#ifndef _NORP_VERSION
#define NORP_VERSION "0.1b5"
#define NORP_VERSION "0.1b6"
#endif // NORP_VERSION

View File

@ -47,9 +47,10 @@ NorpApp::~NorpApp()
void NorpApp::Usage()
{
fprintf(stderr, "Usage: norp [interface <ifaceName>][address <publicAddr>][sport <socksPort>][port <norpPort>]\n"
" [norm {on|off}][id <normId>][nport <normPort>][cce | ccl | rate <bits/sec>][persist <seconds>][limit <bits/sec>]\n"
" [correspondent <remoteNorpAddr>][forward <tcpPort>,<destAddr>/<destPort>[,<remoteNorpAddr>]][version]\n"
" [debug <level>][trace][dlog <debugLog>][lport <localNorpPort>][rport <remoteNorpPort>]\n");
" [norm {on|off}][id <normId>][nport <normPort>][cce | ccl | rate <bits/sec>]\n"
" [limit <bits/sec>][persist <seconds>][segment <segmentSize>]\n"
" [correspondent <remoteNorpAddr>][forward <tcpPort>,<destAddr>/<destPort>[,<remoteNorpAddr>]]\n"
" [version][debug <level>][trace][dlog <debugLog>][lport <localNorpPort>][rport <remoteNorpPort>]\n");
}
const char* const NorpApp::CMD_LIST[] =
@ -64,7 +65,8 @@ const char* const NorpApp::CMD_LIST[] =
"-cce", // Use NORM-CCE instead of NORM-CC
"-ccl", // Use NORM-CCL instead of NORM-CC
"+rate", // set fixed transmit rate (no congestion control)
"+limit", // set _cumulaltive_ NORP transmit rate limit
"+limit", // set _cumulative_ NORP transmit rate limit
"+segment", // Set NORM packet segment size (impacts MTU of NORM packets, UDP packets w/ (40 + <segmentSize>) bytes of payload)
"+persist", // <seconds> how long to persist NORM data delivery to receiver after TCP socket closure
"+debug", // set debug level
"-trace", // enables NORM protocol packet send/recv trace in debug output
@ -277,6 +279,16 @@ bool NorpApp::OnCommand(const char* cmd, const char* val)
}
norp.SetNormTxLimit(txLimit);
}
else if (!strncmp("segment", cmd, len))
{
UINT16 segmentSize;
if (1 != sscanf(val, "%hu", &segmentSize))
{
PLOG(PL_ERROR, "NorpApp::OnCommand(segment) error: invalid segment size \"%s\" bps\n", val);
return false;
}
norp.SetNormSegmentSize(segmentSize);
}
else if (!strncmp("lport", cmd, len))
{
norp.SetLocalNorpPort(atoi(val));