<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/src/ipcpd, branch 0.18.0</title>
<subtitle>Ouroboros main repository</subtitle>
<id>https://ouroboros.rocks/cgit/ouroboros/atom?h=0.18.0</id>
<link rel='self' href='https://ouroboros.rocks/cgit/ouroboros/atom?h=0.18.0'/>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/'/>
<updated>2021-01-03T10:59:59+00:00</updated>
<entry>
<title>ipcpd: Single UDP port for the ipcpd-udp</title>
<updated>2021-01-03T10:59:59+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2021-01-02T13:20:25+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=4402f3381b369ae47963ef8936c8f9672697d8db'/>
<id>urn:sha1:4402f3381b369ae47963ef8936c8f9672697d8db</id>
<content type='text'>
The UDP layer will now use a single (configurable) UDP port, default
3435. This makes it easer to allocate flows as a client from behind a
NAT firewall without having to configure port forwarding rules. So
basically, from now on Ouroboros traffic is transported over a
bidirectional &lt;src&gt;&lt;port&gt;:&lt;dst&gt;&lt;port&gt; UDP tunnel. The reason for not
using/allowing different client/server ports is that it would require
reading from different sockets using select() or something similar,
but since we need the EID anyway (mgmt packets arrive on the same
server UDP port), there's not a lot of benefit in doing it. Now the
operation is similar to the ipcpd-eth, with the port somewhat
functioning as a "layer name", where in UDP, the Ethertype functions
as a "layer name".

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>build: Update email addresses</title>
<updated>2021-01-03T10:57:05+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2021-01-02T06:24:35+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=fa2ca608aa06c98c080edf80c00d39d6d90e4d3a'/>
<id>urn:sha1:fa2ca608aa06c98c080edf80c00d39d6d90e4d3a</id>
<content type='text'>
The ugent email addresses are shut down, updated to Ouroboros mail
addresses.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>build: Update copyright to 2021</title>
<updated>2021-01-03T10:56:28+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2021-01-02T06:24:34+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=505703bcd8cf33279f89c414b008e393cb04522f'/>
<id>urn:sha1:505703bcd8cf33279f89c414b008e393cb04522f</id>
<content type='text'>
Happy New Year, Ouroboros!

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>ipcpd: Pass qoscube to ECN marking function</title>
<updated>2020-12-20T12:36:44+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-12-19T14:46:39+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=ba6025c9ee7049fbc8ac91b5a1c91a853c4faccb'/>
<id>urn:sha1:ba6025c9ee7049fbc8ac91b5a1c91a853c4faccb</id>
<content type='text'>
The ECN marking function should be able to use the packet QoS to allow
prioritizing traffic under congestion. Not yet implemented in MB-ECN.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>ipcpd: Remove unused variable in MB-ECN policy</title>
<updated>2020-12-12T10:38:05+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-12-12T09:32:01+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=5a26b4822380f8b8aed83937237fa0217b0a8b41'/>
<id>urn:sha1:5a26b4822380f8b8aed83937237fa0217b0a8b41</id>
<content type='text'>
The t_sent variable is a remnant from the first version and isn't
needed anymore.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>ipcpd: Pass previous ECN value in congestion API</title>
<updated>2020-12-12T10:38:00+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-12-10T17:11:20+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=132d2145a6e89ac0f4454ba7f257a910da2ef674'/>
<id>urn:sha1:132d2145a6e89ac0f4454ba7f257a910da2ef674</id>
<content type='text'>
The previous value of the ECN field should be passed to the congestion
notification function.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>ipcpd: Use 64-bit flow endpoint IDs for DT</title>
<updated>2020-12-07T17:39:48+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-12-06T15:02:22+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=bb7476246e2f0bd974aec854de975cefec858362'/>
<id>urn:sha1:bb7476246e2f0bd974aec854de975cefec858362</id>
<content type='text'>
The EIDs are now 64-bit. This makes it a tad harder to guess them
(think of port scanning). The implementation has only the most
significant 32 bits random to quickly map EIDs to N+1 flows. While
this is equivalent to a random cookie as a check on flows, the
rationale is that valid endpoint IDs should be pretty hard to guess
(and thus be 64-bit random at least). Ideally one would use
content-addressable memory for this kind of mapping.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>ipcpd: Fix slow start in multi-bit (F)ECN policy</title>
<updated>2020-12-07T17:39:45+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-12-06T13:24:51+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=e5fdcfb3cfee29385c44bf487638ac5a535ee5d6'/>
<id>urn:sha1:e5fdcfb3cfee29385c44bf487638ac5a535ee5d6</id>
<content type='text'>
There is a check not to rapidly double the window to astronomical
sizes when there is no congestion experienced for long periods of
time, but the if-else logic was botched and it still grew to
astronomical sizes (albeit linear instead of exponential).
I also lowered the ECN threshold a bit.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>ipcpd: Remove DT-FA bypass on receiver side</title>
<updated>2020-12-07T17:39:41+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-12-06T12:41:14+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=f52e231e3e71fa97276260d87f192701e2232614'/>
<id>urn:sha1:f52e231e3e71fa97276260d87f192701e2232614</id>
<content type='text'>
The DT will now post all packets for N+1 flows through the flow
allocator component. This means that N+1 flows can be monitored
through the flow allocator stats, and N-1 flows through the DT stats.
The DT component still keeps stats for the local components (FA and
DHT), but this can be removed once the DHT has its own RIB
output.

The flow allocator show statistics for

Sent packets: total packets that were presented for sending
              on this specific flow
Send failed:  packets that were unable to be sent

Received packets: total packets that were presented by the DT component
                  on this specific flow
Received failed: packets that were unable to be delivered

These stats are presented as both packet counts and byte counts. To
know how many were successful, the values for failed need to be
subtracted from the values for total.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>ipcpd: Fix off-by-one in Multi-bit (F)ECN policy</title>
<updated>2020-12-05T15:01:16+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-12-05T14:58:15+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=37ebb798813514bc29b60ea7d28b99ad1036c68d'/>
<id>urn:sha1:37ebb798813514bc29b60ea7d28b99ad1036c68d</id>
<content type='text'>
Noticed an off-by-one in the packet counter because it was incremented
before and the byte counter after the flow update.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
</feed>
