<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/src/ipcpd/unicast/pol, branch 0.17.0</title>
<subtitle>Ouroboros main repository</subtitle>
<id>https://ouroboros.rocks/cgit/ouroboros/atom?h=0.17.0</id>
<link rel='self' href='https://ouroboros.rocks/cgit/ouroboros/atom?h=0.17.0'/>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/'/>
<updated>2020-03-14T14:38:49+00:00</updated>
<entry>
<title>ipcpd: Fix locking in link_state policy</title>
<updated>2020-03-14T14:38:49+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-03-08T13:24:55+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=0df9186d8d6248ecc3a82094b8cac9262287c704'/>
<id>urn:sha1:0df9186d8d6248ecc3a82094b8cac9262287c704</id>
<content type='text'>
There were updates under rdlock instead of wrlock, causing data races
and trouble. Also speeds up shutdown 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: Add unit tests for LFA and ECMP algorithms</title>
<updated>2020-02-23T13:37:30+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-02-18T18:26:09+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=11fbe2f998a39ca156e2c806fd78f2af781836a4'/>
<id>urn:sha1:11fbe2f998a39ca156e2c806fd78f2af781836a4</id>
<content type='text'>
This adds tests for LFA and ECMP to the graph_test routine.

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 infinite recursion in LFA</title>
<updated>2020-02-23T13:37:27+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-02-18T16:31:19+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=00a8b8960c027848817050411e4c9be43cb6a427'/>
<id>urn:sha1:00a8b8960c027848817050411e4c9be43cb6a427</id>
<content type='text'>
There were bugs introduced in the LFA algorithm refactor causing
infinite recursion and SEGV. The infinite recursion check was added as
an explicit compiler flag to the build.

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 double free, memleak and malloc check</title>
<updated>2020-02-16T17:33:21+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-02-16T15:17:20+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=a59b71095a84dcbd7c3684639acf3dd3097bd3f2'/>
<id>urn:sha1:a59b71095a84dcbd7c3684639acf3dd3097bd3f2</id>
<content type='text'>
Some fixes in the multipath implementation related to memory
management that showed up with the static analyzer.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>Add equal-cost multipath routing policy</title>
<updated>2020-02-16T17:32:21+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-02-16T12:42:18+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=af8e7f78af9b13c2cf6615dc9eb6c52c51b2bc2c'/>
<id>urn:sha1:af8e7f78af9b13c2cf6615dc9eb6c52c51b2bc2c</id>
<content type='text'>
This adds an equal-cost multipath routing policy to Ouroboros, based
on Nick Aerts' code. When selected, flows will send packets over all
paths with equal cost (hop count). Path selection is round-robin. It
does not yet take into account flows that are down.

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 uninitialized variable in graph</title>
<updated>2020-02-16T17:27:26+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-02-16T14:50:03+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=52e44a55d3b12819a79566067ff0361854da5002'/>
<id>urn:sha1:52e44a55d3b12819a79566067ff0361854da5002</id>
<content type='text'>
During refactor a variable initialization was removed.

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: Rename hashtable to pft</title>
<updated>2020-02-16T17:26:07+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-02-15T20:39:24+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=b46ba7bb7405c3b5a85f4203f816e623a5edb2d7'/>
<id>urn:sha1:b46ba7bb7405c3b5a85f4203f816e623a5edb2d7</id>
<content type='text'>
This makes the hashtable more tailored to a packet forwarding table
(PFT). In the end not much of a change was needed, but now it's clear
the pft maps a destination address to a list of (outgoing) fds.

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 minor things in graph and link_state</title>
<updated>2020-02-16T17:24:50+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-02-15T09:07:56+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=8d38af64d1d34bff9b2548df29f3a680cdfbb0c6'/>
<id>urn:sha1:8d38af64d1d34bff9b2548df29f3a680cdfbb0c6</id>
<content type='text'>
The vertex was used before definition in the graph
implementation. Fixed potential data race in link_state
algorithm. Added missing asserts. Removed initialization of variables
where not needed to let compiler warn about uninitialized uses.

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: Move hashtable from lib to unicast</title>
<updated>2020-02-16T17:19:59+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-02-12T21:31:17+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=71eeedd1a05d5dd200c77527ea15086bf43e1a26'/>
<id>urn:sha1:71eeedd1a05d5dd200c77527ea15086bf43e1a26</id>
<content type='text'>
The hashtable is only used for forwarding tables in the unicast
IPCP. This moves the generic hashtable out of the library into the
unicast IPCP to prepare a more tailored implementation specific to
routing tables containing address lists.

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: Refactor graph to self-contain LFA</title>
<updated>2020-02-16T17:19:11+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-02-12T21:31:16+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=a63edb8e9d3ba5eef03c1bbb454522ea7b369087'/>
<id>urn:sha1:a63edb8e9d3ba5eef03c1bbb454522ea7b369087</id>
<content type='text'>
The LFA algorithm modifies the output of the simple routing algorithm,
but the output was mixed in the general call. This moves the LFA
subroutine to be self-contained. This makes for a cleaner entry point
when adding more routing algorithms.

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