mirror of
https://github.com/markqvist/Reticulum.git
synced 2024-11-22 13:40:19 +00:00
Updated documentation
This commit is contained in:
parent
fcdb455d73
commit
d360958d10
@ -1,9 +1,9 @@
|
|||||||
|
|
||||||
.. _interfaces-main:
|
.. _interfaces-main:
|
||||||
|
|
||||||
********************
|
**********************
|
||||||
Supported Interfaces
|
Configuring Interfaces
|
||||||
********************
|
**********************
|
||||||
|
|
||||||
Reticulum supports using many kinds of devices as networking interfaces, and
|
Reticulum supports using many kinds of devices as networking interfaces, and
|
||||||
allows you to mix and match them in any way you choose. The number of distinct
|
allows you to mix and match them in any way you choose. The number of distinct
|
||||||
@ -761,3 +761,60 @@ conserve bandwidth, while very fast networks can support applications that
|
|||||||
need very frequent announces. Reticulum implements these mechanisms to ensure
|
need very frequent announces. Reticulum implements these mechanisms to ensure
|
||||||
that a large span of network types can seamlessly *co-exist* and interconnect.
|
that a large span of network types can seamlessly *co-exist* and interconnect.
|
||||||
|
|
||||||
|
.. _interfaces-ingress-control:
|
||||||
|
|
||||||
|
Ingress Announce Control
|
||||||
|
========================
|
||||||
|
|
||||||
|
On public interfaces, where anyone may connect and announce new destinations,
|
||||||
|
it can be useful to control the rate at which new announces ingress.
|
||||||
|
|
||||||
|
If a large influx of annonuces for newly created or previously unknown destinations
|
||||||
|
occur, Reticulum will place these announces on hold, so that announce traffic
|
||||||
|
for known and previously established destinations can continue to be processed
|
||||||
|
without interruptions.
|
||||||
|
|
||||||
|
By default, Reticulum will handle this automatically, and ingress annonuce
|
||||||
|
control will be enabled on interface where it is sensible to do so. It should
|
||||||
|
generally not be neccessary to modify the ingress control configuration,
|
||||||
|
but all the parameters are exposed for configuration if needed.
|
||||||
|
|
||||||
|
* | The ``ingress_control`` option tells Reticulum whether or not
|
||||||
|
to enable announce ingress control on the interface. Defaults to
|
||||||
|
``True``.
|
||||||
|
|
||||||
|
* | The ``ic_new_time`` option configures how long (in seconds) an
|
||||||
|
interface is considered newly spawned. Defaults to ``2*60*60`` seconds. This
|
||||||
|
option is useful on publicly accessible interfaces that spawn new
|
||||||
|
sub-interfaces when a new client connects.
|
||||||
|
|
||||||
|
* | The ``ic_burst_freq_new`` option sets the maximum annonuce ingress
|
||||||
|
frequency for newly spawned interfaces. Defaults to ``3.5``
|
||||||
|
announces per second.
|
||||||
|
|
||||||
|
* | The ``ic_burst_freq`` option sets the maximum annonuce ingress
|
||||||
|
frequency for other interfaces. Defaults to ``12`` announces
|
||||||
|
per second.
|
||||||
|
|
||||||
|
*If an interface exceeds its burst frequency, incoming announces
|
||||||
|
for unknown destinations will be temporarily held in a queue, and
|
||||||
|
not processed until later.*
|
||||||
|
|
||||||
|
* | The ``ic_max_held_announces`` option sets the maximum amount of
|
||||||
|
unique announces that will be held in the queue. Any additional
|
||||||
|
unique announces will be dropped. Defaults to ``256`` announces.
|
||||||
|
|
||||||
|
* | The ``ic_burst_hold`` option sets how much time (in seconds) must
|
||||||
|
pass after the burst frequency drops below its threshold, for the
|
||||||
|
announce burst to be considered cleared. Defaults to ``60``
|
||||||
|
seconds.
|
||||||
|
|
||||||
|
* | The ``ic_burst_penalty`` option sets how much time (in seconds) must
|
||||||
|
pass after the burst is considered cleared, before held announces can
|
||||||
|
start being released from the queue. Defaults to ``5*60``
|
||||||
|
seconds.
|
||||||
|
|
||||||
|
* | The ``ic_held_release_interval`` option sets how much time (in seconds)
|
||||||
|
must pass between releasing each held announce from the queue. Defaults
|
||||||
|
to ``30`` seconds.
|
||||||
|
|
||||||
|
@ -179,7 +179,7 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="using.html">Using Reticulum on Your System</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="using.html">Using Reticulum on Your System</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="understanding.html">Understanding Reticulum</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="understanding.html">Understanding Reticulum</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="hardware.html">Communications Hardware</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="hardware.html">Communications Hardware</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="interfaces.html">Supported Interfaces</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="interfaces.html">Configuring Interfaces</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="networks.html">Building Networks</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="networks.html">Building Networks</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="examples.html">Code Examples</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="examples.html">Code Examples</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="support.html">Support Reticulum</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="support.html">Support Reticulum</a></li>
|
||||||
|
@ -181,7 +181,7 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="using.html">Using Reticulum on Your System</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="using.html">Using Reticulum on Your System</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="understanding.html">Understanding Reticulum</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="understanding.html">Understanding Reticulum</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="hardware.html">Communications Hardware</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="hardware.html">Communications Hardware</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="interfaces.html">Supported Interfaces</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="interfaces.html">Configuring Interfaces</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="networks.html">Building Networks</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="networks.html">Building Networks</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="examples.html">Code Examples</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="examples.html">Code Examples</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="support.html">Support Reticulum</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="support.html">Support Reticulum</a></li>
|
||||||
@ -330,7 +330,7 @@ to participate in the development of Reticulum itself.</p>
|
|||||||
<li class="toctree-l2"><a class="reference internal" href="hardware.html#packet-radio-modems">Packet Radio Modems</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="hardware.html#packet-radio-modems">Packet Radio Modems</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="interfaces.html">Supported Interfaces</a><ul>
|
<li class="toctree-l1"><a class="reference internal" href="interfaces.html">Configuring Interfaces</a><ul>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="interfaces.html#auto-interface">Auto Interface</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="interfaces.html#auto-interface">Auto Interface</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="interfaces.html#i2p-interface">I2P Interface</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="interfaces.html#i2p-interface">I2P Interface</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="interfaces.html#tcp-server-interface">TCP Server Interface</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="interfaces.html#tcp-server-interface">TCP Server Interface</a></li>
|
||||||
@ -344,6 +344,7 @@ to participate in the development of Reticulum itself.</p>
|
|||||||
<li class="toctree-l2"><a class="reference internal" href="interfaces.html#common-interface-options">Common Interface Options</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="interfaces.html#common-interface-options">Common Interface Options</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="interfaces.html#interface-modes">Interface Modes</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="interfaces.html#interface-modes">Interface Modes</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="interfaces.html#announce-rate-control">Announce Rate Control</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="interfaces.html#announce-rate-control">Announce Rate Control</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="interfaces.html#ingress-announce-control">Ingress Announce Control</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="networks.html">Building Networks</a><ul>
|
<li class="toctree-l1"><a class="reference internal" href="networks.html">Building Networks</a><ul>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Building Networks" href="networks.html" /><link rel="prev" title="Communications Hardware" href="hardware.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Building Networks" href="networks.html" /><link rel="prev" title="Communications Hardware" href="hardware.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
||||||
<title>Supported Interfaces - Reticulum Network Stack 0.6.1 beta documentation</title>
|
<title>Configuring Interfaces - Reticulum Network Stack 0.6.1 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
||||||
@ -181,7 +181,7 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="using.html">Using Reticulum on Your System</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="using.html">Using Reticulum on Your System</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="understanding.html">Understanding Reticulum</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="understanding.html">Understanding Reticulum</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="hardware.html">Communications Hardware</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="hardware.html">Communications Hardware</a></li>
|
||||||
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Supported Interfaces</a></li>
|
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Configuring Interfaces</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="networks.html">Building Networks</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="networks.html">Building Networks</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="examples.html">Code Examples</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="examples.html">Code Examples</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="support.html">Support Reticulum</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="support.html">Support Reticulum</a></li>
|
||||||
@ -221,8 +221,8 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<article role="main">
|
<article role="main">
|
||||||
<section id="supported-interfaces">
|
<section id="configuring-interfaces">
|
||||||
<span id="interfaces-main"></span><h1>Supported Interfaces<a class="headerlink" href="#supported-interfaces" title="Permalink to this heading">#</a></h1>
|
<span id="interfaces-main"></span><h1>Configuring Interfaces<a class="headerlink" href="#configuring-interfaces" title="Permalink to this heading">#</a></h1>
|
||||||
<p>Reticulum supports using many kinds of devices as networking interfaces, and
|
<p>Reticulum supports using many kinds of devices as networking interfaces, and
|
||||||
allows you to mix and match them in any way you choose. The number of distinct
|
allows you to mix and match them in any way you choose. The number of distinct
|
||||||
network topologies you can create with Reticulum is more or less endless, but
|
network topologies you can create with Reticulum is more or less endless, but
|
||||||
@ -937,6 +937,79 @@ conserve bandwidth, while very fast networks can support applications that
|
|||||||
need very frequent announces. Reticulum implements these mechanisms to ensure
|
need very frequent announces. Reticulum implements these mechanisms to ensure
|
||||||
that a large span of network types can seamlessly <em>co-exist</em> and interconnect.</p>
|
that a large span of network types can seamlessly <em>co-exist</em> and interconnect.</p>
|
||||||
</section>
|
</section>
|
||||||
|
<section id="ingress-announce-control">
|
||||||
|
<span id="interfaces-ingress-control"></span><h2>Ingress Announce Control<a class="headerlink" href="#ingress-announce-control" title="Permalink to this heading">#</a></h2>
|
||||||
|
<p>On public interfaces, where anyone may connect and announce new destinations,
|
||||||
|
it can be useful to control the rate at which new announces ingress.</p>
|
||||||
|
<p>If a large influx of annonuces for newly created or previously unknown destinations
|
||||||
|
occur, Reticulum will place these announces on hold, so that announce traffic
|
||||||
|
for known and previously established destinations can continue to be processed
|
||||||
|
without interruptions.</p>
|
||||||
|
<p>By default, Reticulum will handle this automatically, and ingress annonuce
|
||||||
|
control will be enabled on interface where it is sensible to do so. It should
|
||||||
|
generally not be neccessary to modify the ingress control configuration,
|
||||||
|
but all the parameters are exposed for configuration if needed.</p>
|
||||||
|
<blockquote>
|
||||||
|
<div><ul>
|
||||||
|
<li><div class="line-block">
|
||||||
|
<div class="line">The <code class="docutils literal notranslate"><span class="pre">ingress_control</span></code> option tells Reticulum whether or not
|
||||||
|
to enable announce ingress control on the interface. Defaults to
|
||||||
|
<code class="docutils literal notranslate"><span class="pre">True</span></code>.</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li><div class="line-block">
|
||||||
|
<div class="line">The <code class="docutils literal notranslate"><span class="pre">ic_new_time</span></code> option configures how long (in seconds) an
|
||||||
|
interface is considered newly spawned. Defaults to <code class="docutils literal notranslate"><span class="pre">2*60*60</span></code> seconds. This
|
||||||
|
option is useful on publicly accessible interfaces that spawn new
|
||||||
|
sub-interfaces when a new client connects.</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li><div class="line-block">
|
||||||
|
<div class="line">The <code class="docutils literal notranslate"><span class="pre">ic_burst_freq_new</span></code> option sets the maximum annonuce ingress
|
||||||
|
frequency for newly spawned interfaces. Defaults to <code class="docutils literal notranslate"><span class="pre">3.5</span></code>
|
||||||
|
announces per second.</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li><div class="line-block">
|
||||||
|
<div class="line">The <code class="docutils literal notranslate"><span class="pre">ic_burst_freq</span></code> option sets the maximum annonuce ingress
|
||||||
|
frequency for other interfaces. Defaults to <code class="docutils literal notranslate"><span class="pre">12</span></code> announces
|
||||||
|
per second.</div>
|
||||||
|
</div>
|
||||||
|
<blockquote>
|
||||||
|
<div><p><em>If an interface exceeds its burst frequency, incoming announces
|
||||||
|
for unknown destinations will be temporarily held in a queue, and
|
||||||
|
not processed until later.</em></p>
|
||||||
|
</div></blockquote>
|
||||||
|
</li>
|
||||||
|
<li><div class="line-block">
|
||||||
|
<div class="line">The <code class="docutils literal notranslate"><span class="pre">ic_max_held_announces</span></code> option sets the maximum amount of
|
||||||
|
unique announces that will be held in the queue. Any additional
|
||||||
|
unique announces will be dropped. Defaults to <code class="docutils literal notranslate"><span class="pre">256</span></code> announces.</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li><div class="line-block">
|
||||||
|
<div class="line">The <code class="docutils literal notranslate"><span class="pre">ic_burst_hold</span></code> option sets how much time (in seconds) must
|
||||||
|
pass after the burst frequency drops below its threshold, for the
|
||||||
|
announce burst to be considered cleared. Defaults to <code class="docutils literal notranslate"><span class="pre">60</span></code>
|
||||||
|
seconds.</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li><div class="line-block">
|
||||||
|
<div class="line">The <code class="docutils literal notranslate"><span class="pre">ic_burst_penalty</span></code> option sets how much time (in seconds) must
|
||||||
|
pass after the burst is considered cleared, before held announces can
|
||||||
|
start being released from the queue. Defaults to <code class="docutils literal notranslate"><span class="pre">5*60</span></code>
|
||||||
|
seconds.</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li><div class="line-block">
|
||||||
|
<div class="line">The <code class="docutils literal notranslate"><span class="pre">ic_held_release_interval</span></code> option sets how much time (in seconds)
|
||||||
|
must pass between releasing each held announce from the queue. Defaults
|
||||||
|
to <code class="docutils literal notranslate"><span class="pre">30</span></code> seconds.</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div></blockquote>
|
||||||
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</article>
|
</article>
|
||||||
@ -995,7 +1068,7 @@ that a large span of network types can seamlessly <em>co-exist</em> and intercon
|
|||||||
<div class="toc-tree-container">
|
<div class="toc-tree-container">
|
||||||
<div class="toc-tree">
|
<div class="toc-tree">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a class="reference internal" href="#">Supported Interfaces</a><ul>
|
<li><a class="reference internal" href="#">Configuring Interfaces</a><ul>
|
||||||
<li><a class="reference internal" href="#auto-interface">Auto Interface</a></li>
|
<li><a class="reference internal" href="#auto-interface">Auto Interface</a></li>
|
||||||
<li><a class="reference internal" href="#i2p-interface">I2P Interface</a></li>
|
<li><a class="reference internal" href="#i2p-interface">I2P Interface</a></li>
|
||||||
<li><a class="reference internal" href="#tcp-server-interface">TCP Server Interface</a></li>
|
<li><a class="reference internal" href="#tcp-server-interface">TCP Server Interface</a></li>
|
||||||
@ -1009,6 +1082,7 @@ that a large span of network types can seamlessly <em>co-exist</em> and intercon
|
|||||||
<li><a class="reference internal" href="#common-interface-options">Common Interface Options</a></li>
|
<li><a class="reference internal" href="#common-interface-options">Common Interface Options</a></li>
|
||||||
<li><a class="reference internal" href="#interface-modes">Interface Modes</a></li>
|
<li><a class="reference internal" href="#interface-modes">Interface Modes</a></li>
|
||||||
<li><a class="reference internal" href="#announce-rate-control">Announce Rate Control</a></li>
|
<li><a class="reference internal" href="#announce-rate-control">Announce Rate Control</a></li>
|
||||||
|
<li><a class="reference internal" href="#ingress-announce-control">Ingress Announce Control</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
Binary file not shown.
@ -178,7 +178,7 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="using.html">Using Reticulum on Your System</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="using.html">Using Reticulum on Your System</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="understanding.html">Understanding Reticulum</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="understanding.html">Understanding Reticulum</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="hardware.html">Communications Hardware</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="hardware.html">Communications Hardware</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="interfaces.html">Supported Interfaces</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="interfaces.html">Configuring Interfaces</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="networks.html">Building Networks</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="networks.html">Building Networks</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="examples.html">Code Examples</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="examples.html">Code Examples</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="support.html">Support Reticulum</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="support.html">Support Reticulum</a></li>
|
||||||
|
File diff suppressed because one or more lines are too long
@ -1,9 +1,9 @@
|
|||||||
|
|
||||||
.. _interfaces-main:
|
.. _interfaces-main:
|
||||||
|
|
||||||
********************
|
**********************
|
||||||
Supported Interfaces
|
Configuring Interfaces
|
||||||
********************
|
**********************
|
||||||
|
|
||||||
Reticulum supports using many kinds of devices as networking interfaces, and
|
Reticulum supports using many kinds of devices as networking interfaces, and
|
||||||
allows you to mix and match them in any way you choose. The number of distinct
|
allows you to mix and match them in any way you choose. The number of distinct
|
||||||
@ -761,3 +761,60 @@ conserve bandwidth, while very fast networks can support applications that
|
|||||||
need very frequent announces. Reticulum implements these mechanisms to ensure
|
need very frequent announces. Reticulum implements these mechanisms to ensure
|
||||||
that a large span of network types can seamlessly *co-exist* and interconnect.
|
that a large span of network types can seamlessly *co-exist* and interconnect.
|
||||||
|
|
||||||
|
.. _interfaces-ingress-control:
|
||||||
|
|
||||||
|
Ingress Announce Control
|
||||||
|
========================
|
||||||
|
|
||||||
|
On public interfaces, where anyone may connect and announce new destinations,
|
||||||
|
it can be useful to control the rate at which new announces ingress.
|
||||||
|
|
||||||
|
If a large influx of annonuces for newly created or previously unknown destinations
|
||||||
|
occur, Reticulum will place these announces on hold, so that announce traffic
|
||||||
|
for known and previously established destinations can continue to be processed
|
||||||
|
without interruptions.
|
||||||
|
|
||||||
|
By default, Reticulum will handle this automatically, and ingress annonuce
|
||||||
|
control will be enabled on interface where it is sensible to do so. It should
|
||||||
|
generally not be neccessary to modify the ingress control configuration,
|
||||||
|
but all the parameters are exposed for configuration if needed.
|
||||||
|
|
||||||
|
* | The ``ingress_control`` option tells Reticulum whether or not
|
||||||
|
to enable announce ingress control on the interface. Defaults to
|
||||||
|
``True``.
|
||||||
|
|
||||||
|
* | The ``ic_new_time`` option configures how long (in seconds) an
|
||||||
|
interface is considered newly spawned. Defaults to ``2*60*60`` seconds. This
|
||||||
|
option is useful on publicly accessible interfaces that spawn new
|
||||||
|
sub-interfaces when a new client connects.
|
||||||
|
|
||||||
|
* | The ``ic_burst_freq_new`` option sets the maximum annonuce ingress
|
||||||
|
frequency for newly spawned interfaces. Defaults to ``3.5``
|
||||||
|
announces per second.
|
||||||
|
|
||||||
|
* | The ``ic_burst_freq`` option sets the maximum annonuce ingress
|
||||||
|
frequency for other interfaces. Defaults to ``12`` announces
|
||||||
|
per second.
|
||||||
|
|
||||||
|
*If an interface exceeds its burst frequency, incoming announces
|
||||||
|
for unknown destinations will be temporarily held in a queue, and
|
||||||
|
not processed until later.*
|
||||||
|
|
||||||
|
* | The ``ic_max_held_announces`` option sets the maximum amount of
|
||||||
|
unique announces that will be held in the queue. Any additional
|
||||||
|
unique announces will be dropped. Defaults to ``256`` announces.
|
||||||
|
|
||||||
|
* | The ``ic_burst_hold`` option sets how much time (in seconds) must
|
||||||
|
pass after the burst frequency drops below its threshold, for the
|
||||||
|
announce burst to be considered cleared. Defaults to ``60``
|
||||||
|
seconds.
|
||||||
|
|
||||||
|
* | The ``ic_burst_penalty`` option sets how much time (in seconds) must
|
||||||
|
pass after the burst is considered cleared, before held announces can
|
||||||
|
start being released from the queue. Defaults to ``5*60``
|
||||||
|
seconds.
|
||||||
|
|
||||||
|
* | The ``ic_held_release_interval`` option sets how much time (in seconds)
|
||||||
|
must pass between releasing each held announce from the queue. Defaults
|
||||||
|
to ``30`` seconds.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user