<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/src, branch 0.17.5</title>
<subtitle>Ouroboros main repository</subtitle>
<id>http://133.ip-51-38-114.eu/cgit/ouroboros/atom?h=0.17.5</id>
<link rel='self' href='http://133.ip-51-38-114.eu/cgit/ouroboros/atom?h=0.17.5'/>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/'/>
<updated>2020-05-23T15:31:49+00:00</updated>
<entry>
<title>build: Add support for GCC 10</title>
<updated>2020-05-23T15:31:49+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-05-18T19:42:17+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=d68bb3b678e867c69a99f97e26b72715e2b8e57f'/>
<id>urn:sha1:d68bb3b678e867c69a99f97e26b72715e2b8e57f</id>
<content type='text'>
GCC 10 defaults to -fno-common, so some variables that were defined in
the headers needed to be declared "extern". The GCC 10 static analyzer
can now be invoked using the DebugAnalyzer build option.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>lib: Refactor FRCT</title>
<updated>2020-05-04T09:01:47+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-05-03T13:52:42+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=567f7dc6f68f8c246f821918de22423b035ef50e'/>
<id>urn:sha1:567f7dc6f68f8c246f821918de22423b035ef50e</id>
<content type='text'>
This is a small refactor of FRCT because I found some things a bit
hard to read. I tried to refactor frcti_rcv to always queue the
packet, but that causes unnecessarily retaking the lock when calling
queued_pdu and thus returning idx is a tiny bit faster.

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 some unused variables</title>
<updated>2020-05-02T09:52:54+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-05-02T09:47:29+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=65054fafc577cd326832fb4f673ecadd93c778e2'/>
<id>urn:sha1:65054fafc577cd326832fb4f673ecadd93c778e2</id>
<content type='text'>
The compiler spotted some variables that weren't really used.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>lib: Fix retransmission DRF update</title>
<updated>2020-05-02T09:34:28+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-05-01T21:44:46+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=4ba228a8b373f64de541baab1f11449448cb7be2'/>
<id>urn:sha1:4ba228a8b373f64de541baab1f11449448cb7be2</id>
<content type='text'>
The retransmission was always disabling the DRF flag. This caused
problems with the loss of the first packet, which of course needs a
DRF flag set. The retransmitted packet will now contain a the original
DRF flag and an updated ack number.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>lib: Create an rxmwheel per flow</title>
<updated>2020-05-02T09:34:28+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-05-01T16:23:58+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=25d1721e7dc9fa15c8a7c5513f30e636e9bda397'/>
<id>urn:sha1:25d1721e7dc9fa15c8a7c5513f30e636e9bda397</id>
<content type='text'>
The single retransmission wheel caused locking headaches as the calls
for different flows could block on the same rxmwheel. This stabilizes
the stack, but if the rdrbuff gets full there can now be big delays.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>tools: Stop oping client cleanly on bad write</title>
<updated>2020-05-02T08:07:58+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-05-01T15:39:50+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=6415d0f683dbe5f20d4d00c74bf75a795753f444'/>
<id>urn:sha1:6415d0f683dbe5f20d4d00c74bf75a795753f444</id>
<content type='text'>
On a bad write, the writer thread would shutdown, leaving the
client hanging.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>lib: Fix updating retransmission wheel</title>
<updated>2020-05-01T08:13:10+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-04-30T19:21:36+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=04b5a939c6a29cdbc733b1113ee8baf400b601bb'/>
<id>urn:sha1:04b5a939c6a29cdbc733b1113ee8baf400b601bb</id>
<content type='text'>
Fixes infinite rescheduling with RTO getting lower than the timerwheel
resolution. For very low RTO values we'd need a big packet buffer with
the current memory allocator implementation (rdrbuff). Setting a
(configurable) minimum RTO (250 us) reduces this need.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>lib: Unmount stale RIB directories</title>
<updated>2020-04-30T10:32:53+00:00</updated>
<author>
<name>Sander Vrijders</name>
<email>sander@ouroboros.rocks</email>
</author>
<published>2020-04-30T09:49:30+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=978266fe4beba21292daad2d341fe5ff22e08aba'/>
<id>urn:sha1:978266fe4beba21292daad2d341fe5ff22e08aba</id>
<content type='text'>
If Ouroboros crashed, the RIB directory might still be mounted. This
checks if this is the case, then unmounts it.

Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>lib: Stabilize FRCP under packet loss conditions</title>
<updated>2020-04-30T09:54:44+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-04-29T19:26:13+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=f6ae2ac9f0735846c58e0e953c01c3d834dd7d08'/>
<id>urn:sha1:f6ae2ac9f0735846c58e0e953c01c3d834dd7d08</id>
<content type='text'>
There were a bunch of bugs in FRCP that urgently needed fixing. Now
data QoS is usable even with heavy packet loss (within some
parameters). The current RTT estimator is the IETF one. It should be
updated to the improved one used in the Linux kernel once the A-timer
(ACKs without data) and graceful shutdown are implemented.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>irmd: Don't always send pub key in alloc response</title>
<updated>2020-03-30T11:13:36+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-03-28T15:08:28+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=04a3795a70d6deb4840b30f5889e41ed42c85a6e'/>
<id>urn:sha1:04a3795a70d6deb4840b30f5889e41ed42c85a6e</id>
<content type='text'>
The allocation response was always containing an ECDHE key, which is
not needed if the client doesn't request an encrypted flow.

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