<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/include, 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-15T13:30:58+00:00</updated>
<entry>
<title>lib: Return number of written bytes on flow_write</title>
<updated>2020-03-15T13:30:58+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-03-14T16:52:06+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=51d8f69fb152ae5a47151c2f132fd4263ec3d144'/>
<id>urn:sha1:51d8f69fb152ae5a47151c2f132fd4263ec3d144</id>
<content type='text'>
This is more in line with the write() system call and prepares for
partial writes. Partial writes are disabled by default (and not yet
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>lib: Change return type of fevent to ssize_t</title>
<updated>2020-03-15T13:26:49+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-03-15T07:58:55+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=b977090a7692acada4b81677e88c5a5e60a153c3'/>
<id>urn:sha1:b977090a7692acada4b81677e88c5a5e60a153c3</id>
<content type='text'>
The return type was still an int, but since it returns the number of
events, it should be an ssize_t.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>irm: Revise naming API</title>
<updated>2020-03-15T13:20:38+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-03-08T12:29:21+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=c80c93f11dbfb1b0c07f9a6f8b8d91024e5db507'/>
<id>urn:sha1:c80c93f11dbfb1b0c07f9a6f8b8d91024e5db507</id>
<content type='text'>
This revises the naming API to treat names (or reg_name in the source)
as first-class citizens of the architecture. This is more in line with
the way they are described in the article.

Operations have been added to create/destroy names independently of
registering. This was previously done only as part of register, and
there was no way to delete a name from the IRMd.  The create call now
allows specifying a policy for load-balancing incoming flows for a
name. The default is the new round-robin load-balancer, the previous
behaviour is still available as a spillover load-balancer.

The register calls will still create a name if it doesn't exist, with
the default round-robin load-balancer.

The tools now have a "name" section, so the format is now

irm name &lt;operation&gt; &lt;name&gt; ...

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, ipcpd: piggyback ECDHE on flow allocation</title>
<updated>2020-02-25T07:21:09+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-02-24T21:30:22+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=fe6b60909d455abdac7885ceaba1097749e7aeb1'/>
<id>urn:sha1:fe6b60909d455abdac7885ceaba1097749e7aeb1</id>
<content type='text'>
The initial implementation for the ECDHE key exchange was doing the
key exchange after a flow was established. The public keys are now
sent allowg on the flow allocation messages, so that an encrypted
tunnel can be created within 1 RTT. The flow allocation steps had to
be extended to pass the opaque data ('piggybacking').

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: Configure PFF from routing policy</title>
<updated>2020-02-16T17:21:41+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-02-12T21:31:18+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=0ae1f0dd600f6c21c34565cf4dc0c5ef0ae42709'/>
<id>urn:sha1:0ae1f0dd600f6c21c34565cf4dc0c5ef0ae42709</id>
<content type='text'>
The Packet Forwarding Function (PFF) was user-configurable using the
irm tool. However, this isn't really wanted since the PFF is dictated
by the routing algorithm. This moves the responsability for selecting
the correct PFF from the network admin to the unicast IPCP
implementation. Each routing policy now has to specify which PFF it
will use.

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: Filter fqueue events in packet handlers</title>
<updated>2020-01-25T15:02:21+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-01-25T11:38:38+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=524445d9c625b05334818e2d900cf79d1ced5aba'/>
<id>urn:sha1:524445d9c625b05334818e2d900cf79d1ced5aba</id>
<content type='text'>
The eth, udp and local IPCPs were not filtering out the event types
from the flow, causing some reads when there are no packets in the
queue. The types are now also organized as flags so they can be
filtered more quickly if needed.

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 2020</title>
<updated>2020-01-02T14:07:36+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2020-01-01T08:48:07+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=435a91165a3c1f8ca715b22ee2c2361d9bd853dd'/>
<id>urn:sha1:435a91165a3c1f8ca715b22ee2c2361d9bd853dd</id>
<content type='text'>
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: Remove support for SWIG</title>
<updated>2019-12-08T09:03:36+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2019-12-07T11:34:17+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=e87a839c128b30651a354693d7dd40ce9fa3921f'/>
<id>urn:sha1:e87a839c128b30651a354693d7dd40ce9fa3921f</id>
<content type='text'>
This removes support for SWIG since it wasn't correctly generating all
bindings. Since our API is lean, we will write the bindings for
different languages from scratch.

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