summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authort3sserakt <t3ss@posteo.de>2023-02-15 15:51:31 +0100
committert3sserakt <t3ss@posteo.de>2023-02-15 16:04:27 +0100
commit3a94e087e3c4ef8b64adca9a4b7090ea66b8f96b (patch)
tree81f66a67e16b54393ded651ab912e5c1d64b856e
parent84fb8a340c8877c1c4ca3e9a36d68f4da91014c4 (diff)
fixed EBNF configuration syntax description, added L20 milestone 5 documentation.
-rw-r--r--template/l2o/index.html.j22
-rw-r--r--template/l2o/mile5.html.j2184
-rw-r--r--template/l2o/testng.html.j23
3 files changed, 187 insertions, 2 deletions
diff --git a/template/l2o/index.html.j2 b/template/l2o/index.html.j2
index c6c7f0b5..a4ff4da9 100644
--- a/template/l2o/index.html.j2
+++ b/template/l2o/index.html.j2
@@ -172,7 +172,7 @@
<p>
{% trans %}
The CI contains test case with a peer setup containing peer behind a NAT. The test cases
- proof that each peer can be reached, even if that peer is behind a NAT. The test case are measuring the performance. This measurement is used to compare with the outcome of the next milestone. This result of this milestone will be a first stable release.
+ proof that each peer can be reached, even if that peer is behind a NAT. The test case are measuring the performance. This measurement is used to compare with the outcome of the next milestone. This result of this milestone will be a first stable release. <a href="mile5.html">Details</a>
{% endtrans %}
</p><br/>
</section>
diff --git a/template/l2o/mile5.html.j2 b/template/l2o/mile5.html.j2
new file mode 100644
index 00000000..4601ee79
--- /dev/null
+++ b/template/l2o/mile5.html.j2
@@ -0,0 +1,184 @@
+{% extends "common/base.j2" %}
+{% block body_content %}
+<main id="maincontent">
+<article class="container">
+
+ <header>
+ <h1>{{ _("NGI Assure project: Layer-2-Overlay") }}</h1>
+ </header>
+
+ <div class="row">
+ <div class="col-2 d-none d-lg-block"><!-- for large viewports show menu for better orientation -->
+ <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed">
+ <a class="nav-link" href="index.html#idea">{{ _("Project main page") }}</a>
+ </nav>
+ </div>
+ <div class="col">
+
+ <h2>Implementation details milestone 5</h2><br/>
+
+ <section>
+ <h4><a name="netjail" class="subnav-anchor"></a>{{ _("Testing Framework") }}</h4><br/>
+ <p>
+ {% trans %}
+ <ul>
+ <li>Added so called barrier functionality, which is a set of commands to easy implement a barrier. A barrier is some point in time during execution of a test which if reached can trigger some action. For details have a look into commits 34e1c58cb39a649c9a4c551681cedf19807b85f0, ba4d141be09651b452270fc21f062d50bd3f738a and 2c2b2911e1585dc378dbb88d4dd6aaec37b00316.</li>
+ </ul>
+ {% endtrans %}
+ </p>
+ <p>
+ Even more details in commits fc99f54070e04c043c14f2244f85833ecf6b00c4, 95a1edacccd9b3bf769a144a12d41946d0ac25dc and 247230d737e3e4709392148bfabbde25871b6914
+ </p>
+ </section>
+
+ <section>
+ <h4><a name="netjail" class="subnav-anchor"></a>{{ _("TNG Service") }}</h4><br/>
+ <p>
+ {% trans %}
+ <ul>
+ <li>Added nat reversal code to tcp communicator. Prepared udp communicator.</li>
+ <li>Added tcp icmp nat hole punching test case script, and fixed bugs occuring during shutdown.</li>
+ <ul>
+ <li>src/transport/test_transport_nat_icmp_tcp.sh</li>
+ </ul>
+ <li>Added performance test case.</li>
+ <ul>
+ <li>src/transport/test_transport_plugin_cmd_simple_send_performance.c</li>
+ <li>src/transport/test_transport_simple_send_performance.sh</li>
+ <li>src/transport/test_transport_simple_send_performance_topo.conf</li>
+ <li>src/transport/transport_api_cmd_send_simple_performance.c</li>
+ </ul>
+ <li>Fixed bug happening during check for pending validation requests after
+ nat reversal.</li>
+ <li>Fixed bug of QueueEntry deleted too early.</li>
+ <li>Fixed bug about missing synchronisation between client and service queue
+ in Transport Core API.</li>
+ <li>Fixed bug of not sending the changed window size, which takes into account the used and lost data.</li>
+ </ul>
+ {% endtrans %}
+ </p>
+ <p>
+ Even more details in commits fc99f54070e04c043c14f2244f85833ecf6b00c4, 95a1edacccd9b3bf769a144a12d41946d0ac25dc and 247230d737e3e4709392148bfabbde25871b6914
+ </p>
+ </section>
+
+ <section>
+ <h4><a name="netjail" class="subnav-anchor"></a>{{ _("Master Loop") }}</h4>
+ <p>
+ {% trans %}
+ <table width="100%">
+ <tr>
+ <td width="60%" style="vertical-align: top;">src/transport/test_transport_simple_send_dv_inverse.sh</td><td width="55%" style="vertical-align: top;">Added script to start the inverse distance vector test case.</td>
+ <tr>
+ <td></td><td> </td>
+ </tr>
+ <tr>
+ <td width="60%" style="vertical-align: top;">src/transport/test_transport_simple_send_dv_circle.sh</td><td width="55%" style="vertical-align: top;">Added script to start the circle distance vector test case.</td>
+ <tr>
+ </table>
+ {% endtrans %}
+ </p>
+ <h4><a name="netjail" class="subnav-anchor"></a>{{ _("Local Loop") }}</h4>
+ <p>
+ {% trans %}
+ <table width="100%">
+ <tr>
+ <td width="60%" style="vertical-align: top;">src/transport/transport_api_cmd_connecting_peers.c</td><td width="40%" style="vertical-align: top;">Added logic to handle counting additonal connection per peer.</td>
+ <tr>
+ <td></td><td> </td>
+ </tr>
+ <tr>
+ <td width="60%" style="vertical-align: top;">src/transport/test_transport_plugin_cmd_simple_send_dv.c</td><td width="40%" style="vertical-align: top;">Added plugin which creates the commands for the distance vector test cases.</td>
+ <tr>
+ </table>
+ {% endtrans %}
+ </p>
+ <h4><a name="netjail" class="subnav-anchor"></a>{{ _("Configuration") }}</h4>
+ <p>
+ {% trans %}
+ <ul>
+ <li>Added configuration to be able to start executables on a router node</li>
+ <ul>
+ <li>contrib/netjail/netjail_core.sh</li>
+ <li>contrib/netjail/netjail_start.sh</li>
+ <li>contrib/netjail/topo.sh</li>
+ </ul>
+ </ul></br>
+ <table width="100%">
+ <tr>
+ <td width="60%" style="vertical-align: top;">src/transport/test_transport_nat_upnp_topo.conf</td><td width="40%" style="vertical-align: top;">Added topology file for nat upnp test case</td>
+ <tr>
+ <td></td><td> </td>
+ </tr>
+ <tr>
+ <td width="60%" style="vertical-align: top;">contrib/netjail/netjail_start.sh</td><td width="40%" style="vertical-align: top;">Handing over the global number of the router node to the script running
+ on that node. (8e1bf27b11)</td>
+ <tr>
+ </table></br>
+ <ul>
+ <li>miniupnpd only works with public IP addresses. (c524f91a6)</li>
+ <ul>
+ <li>contrib/netjail/netjail_start.sh</li>
+ <li>src/testing/gnunet-cmds-helper.c</li>
+ <li>src/testing/testing.c</li>
+ </ul>
+ </ul>
+ <ul>
+ <li>Changed the format of the interface names to make miniupnpd happy. (4aec035ea)</li>
+ <ul>
+ <li>contrib/netjail/netjail_core.sh</li>
+ <li>src/testing/testing_api_cmd_netjail_start_cmds_helper.c</li>
+ </ul>
+ </ul>
+ <ul>
+ <li>Cleanup after scripts which were running on netjail nodes. (9d6ace0b9)</li>
+ <ul>
+ <li>contrib/netjail/netjail_stop.sh</li>
+ </ul>
+ </ul></br>
+ <table width="100%">
+ <tr>
+ <td width="60%" style="vertical-align: top;">src/transport/test_transport_nat_icmp_tcp_topo.conf</td><td width="40%" style="vertical-align: top;">Added topology file for tcp icmp nat hole punching test case.</td>
+ <tr>
+ </table></br>
+ <ul>
+ <li>Added code to configure connection attempts to natted peers. (6de2cb8f7a)</li>
+ <ul>
+ <li>src/testing/testing.c</li>
+ <li>src/transport/transport_api_cmd_connecting_peers.c</li>
+ </ul>
+ </ul>
+ <ul>
+ <li>Added code in the netjail scripts to enable router nodes to forward icmp requests
+ and response. (a21cb1820)</li>
+ <ul>
+ <li>contrib/netjail/netjail_core.sh</li>
+ <li>contrib/netjail/netjail_start.sh</li>
+ </ul>
+ </ul>
+ {% endtrans %}
+ </p>
+ </section>
+ <section>
+ <h4><a name="netjail" class="subnav-anchor"></a>{{ _("Performance Measurement") }}</h4>
+ <p>
+ {% trans %}
+ The outcome of the performance measurement was 20 MByte/s for packet size of 65000 bytes.
+
+ For this measurement the TNG layer was using tcp only, because there was an unfixed bug, if running tcp and udp in parallel.
+ {% endtrans %}
+ </p>
+ </section>
+ <section>
+ <h4><a name="netjail" class="subnav-anchor"></a>{{ _("API Documentation") }}</h4>
+ <p>
+ {% trans %}
+ Documentation of the new <a href='https://docs.gnunet.org/doxygen/d2/dc4/group__TNG.html'>TNG Api</a>.
+ {% endtrans %}
+ </p>
+ </section>
+ </div>
+ </div>
+
+</article>
+{% endblock body_content %}
diff --git a/template/l2o/testng.html.j2 b/template/l2o/testng.html.j2
index fbaf77a0..4509b756 100644
--- a/template/l2o/testng.html.j2
+++ b/template/l2o/testng.html.j2
@@ -91,7 +91,7 @@ Zero = "0" ;<br/><br/>
NaturalNumber = NumeralWithoutZero, { Numeral } ;<br/><br/>
PluginName = Letter , { ( Letter | "_" ) } ;<br/><br/>
IndexOfGlobalNode = Zero | NaturalNumber ;<br/><br/>
-EstablishConnectionToPeerViaProtocol = "{" "connect", ":" EstablishConnectionToPeerViaProtocolValue "}" ;<br/><br/>
+EstablishConnectionToPeerViaProtocol = "{" "connect", ":" EstablishConnectionToPeerViaProtocolValues "}" ;<br/><br/>
ProtocolPortToOpen = "tcp_port" | "udp_port" ;<br/><br/>
switch = On | Off ;<br/><br/>
SubnetIndex = NaturalNumber ;<br/><br/>
@@ -99,6 +99,7 @@ NodeIndexInSubnet = NaturalNumber ;<br/><br/>
NumeralWithoutZero = "0" | Numeral ;<br/><br/>
Numeral = "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;<br/><br/>
Letter = "A" | "B" | ... | "Z" | "a" | ... | "z";<br/><br/>
+EstablishConnectionToPeerViaProtocolValues = EstablishConnectionToPeerViaProtocolValue { "|", EstablishConnectionToPeerViaProtocolValue }
EstablishConnectionToPeerViaProtocolValue = "{", ( GlobalPeer | SubnetPeer ), ":", Protocol, "}" ;<br/><br/>
On = 1 ;<br/><br/>
Off = 0 ;<br/><br/>