update norp to 0.1b6
parent
c9ed6bd04f
commit
5ddef38e2e
|
|
@ -23,9 +23,8 @@
|
||||||
a remote <emphasis>norp</emphasis> peer is unavailable. This software
|
a remote <emphasis>norp</emphasis> peer is unavailable. This software
|
||||||
was developed by the <ulink url="http://www.nrl.navy.mil/">Naval
|
was developed by the <ulink url="http://www.nrl.navy.mil/">Naval
|
||||||
Research Laboratory</ulink> (NRL) PROTocol Engineering Advanced
|
Research Laboratory</ulink> (NRL) PROTocol Engineering Advanced
|
||||||
Networking Research Group.
|
Networking Research Group. The NRL reference implementation of NORM used
|
||||||
The NRL reference implementation of NORM used here is available from
|
here is available from <ulink
|
||||||
<ulink
|
|
||||||
url="http://www.nrl.navy.mil/itd/ncs/products/norm">http://www.nrl.navy.mil/itd/ncs/products/norm</ulink>.</para>
|
url="http://www.nrl.navy.mil/itd/ncs/products/norm">http://www.nrl.navy.mil/itd/ncs/products/norm</ulink>.</para>
|
||||||
</abstract>
|
</abstract>
|
||||||
</articleinfo>
|
</articleinfo>
|
||||||
|
|
@ -127,9 +126,9 @@
|
||||||
<para><informalexample>
|
<para><informalexample>
|
||||||
<programlisting><?dbfo keep-together="always"?>norp [interface <ifaceName>][address <publicAddr>][sport <socksPort>][port <norpPort>]
|
<programlisting><?dbfo keep-together="always"?>norp [interface <ifaceName>][address <publicAddr>][sport <socksPort>][port <norpPort>]
|
||||||
[norm {on|off}][id <normId>][nport <normPort>][cce | ccl | rate <bits/sec>]
|
[norm {on|off}][id <normId>][nport <normPort>][cce | ccl | rate <bits/sec>]
|
||||||
[limit <bits/sec>][persist <seconds>][correspondent <remoteNorpAddr>]
|
[limit <bits/sec>][persist <seconds>][segment <segmentSize>]
|
||||||
[forward <tcpPort>,<destAddr>/<destPort>[,<remoteNorpAddr>]][version][debug <level>]
|
[correspondent <remoteNorpAddr>][forward <tcpPort>,<destAddr>/<destPort>[,<remoteNorpAddr>]]
|
||||||
[trace][dlog <debugLog>][lport <localNorpPort>][rport <remoteNorpPort>]</programlisting>
|
[version][debug <level>][trace][dlog <debugLog>][lport <localNorpPort>][rport <remoteNorpPort>]</programlisting>
|
||||||
|
|
||||||
<para>The <emphasis>norp</emphasis> program command-line options
|
<para>The <emphasis>norp</emphasis> program command-line options
|
||||||
include ...</para>
|
include ...</para>
|
||||||
|
|
@ -290,6 +289,26 @@
|
||||||
the limit enforcement.</entry>
|
the limit enforcement.</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
|
<row>
|
||||||
|
<entry><literal>segment <segmentSize></literal></entry>
|
||||||
|
|
||||||
|
<entry>This option sets the NORM protocol maximum packet payload
|
||||||
|
size where is <parameter><segmentSize></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><segmentSize></parameter>
|
||||||
|
bytes. For IPv6, the resultant maximum packet size is 48 + 40 +
|
||||||
|
<parameter><segmentSize></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>
|
<row>
|
||||||
<entry><literal>correspondent
|
<entry><literal>correspondent
|
||||||
<remoteNorpAddr></literal></entry>
|
<remoteNorpAddr></literal></entry>
|
||||||
|
|
@ -504,7 +523,7 @@
|
||||||
<term>ACK_REP</term>
|
<term>ACK_REP</term>
|
||||||
|
|
||||||
<listitem>
|
<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>
|
message. There is no "content".</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
#ifndef _NORP_VERSION
|
#ifndef _NORP_VERSION
|
||||||
#define NORP_VERSION "0.1b5"
|
#define NORP_VERSION "0.1b6"
|
||||||
#endif // NORP_VERSION
|
#endif // NORP_VERSION
|
||||||
|
|
|
||||||
|
|
@ -47,9 +47,10 @@ NorpApp::~NorpApp()
|
||||||
void NorpApp::Usage()
|
void NorpApp::Usage()
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Usage: norp [interface <ifaceName>][address <publicAddr>][sport <socksPort>][port <norpPort>]\n"
|
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"
|
" [norm {on|off}][id <normId>][nport <normPort>][cce | ccl | rate <bits/sec>]\n"
|
||||||
" [correspondent <remoteNorpAddr>][forward <tcpPort>,<destAddr>/<destPort>[,<remoteNorpAddr>]][version]\n"
|
" [limit <bits/sec>][persist <seconds>][segment <segmentSize>]\n"
|
||||||
" [debug <level>][trace][dlog <debugLog>][lport <localNorpPort>][rport <remoteNorpPort>]\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[] =
|
const char* const NorpApp::CMD_LIST[] =
|
||||||
|
|
@ -64,7 +65,8 @@ const char* const NorpApp::CMD_LIST[] =
|
||||||
"-cce", // Use NORM-CCE instead of NORM-CC
|
"-cce", // Use NORM-CCE instead of NORM-CC
|
||||||
"-ccl", // Use NORM-CCL instead of NORM-CC
|
"-ccl", // Use NORM-CCL instead of NORM-CC
|
||||||
"+rate", // set fixed transmit rate (no congestion control)
|
"+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
|
"+persist", // <seconds> how long to persist NORM data delivery to receiver after TCP socket closure
|
||||||
"+debug", // set debug level
|
"+debug", // set debug level
|
||||||
"-trace", // enables NORM protocol packet send/recv trace in debug output
|
"-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);
|
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))
|
else if (!strncmp("lport", cmd, len))
|
||||||
{
|
{
|
||||||
norp.SetLocalNorpPort(atoi(val));
|
norp.SetLocalNorpPort(atoi(val));
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue