<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/src/tools/irm, 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:20:38+00:00</updated>
<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>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>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: Refactor normal to unicast</title>
<updated>2019-07-29T17:36:45+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2019-07-25T10:50:46+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=dae15c284248d49079ad5f8a3d8ff30e217f419e'/>
<id>urn:sha1:dae15c284248d49079ad5f8a3d8ff30e217f419e</id>
<content type='text'>
This completes the renaming of the normal IPCP to the unicast IPCP in
the sources, to get everything consistent with the documentation.

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: Revise UDP IPCP</title>
<updated>2019-03-18T10:09:31+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2019-03-16T14:16:21+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=8940fe2cc063d2de8393684ff48efec0e27edc8a'/>
<id>urn:sha1:8940fe2cc063d2de8393684ff48efec0e27edc8a</id>
<content type='text'>
The UDP IPCP now uses a fixed server UDP port (default 3435) for all
communications. This allows passing firewalls more easily since only a
single port needs to be opened. The client port can be fixed as well
if needed (default random). It uses an internal eid, so the MTU of the
UDP layer is reduced by 4 bytes, similar to the Ethernet IPCPs.

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 2019</title>
<updated>2019-02-05T08:58:08+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2019-02-04T15:37:21+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=5dd086aa679e3e05d20ef6a19f3fefbe46ffe40e'/>
<id>urn:sha1:5dd086aa679e3e05d20ef6a19f3fefbe46ffe40e</id>
<content type='text'>
Updates the copyright notice in all sources to 2019.

Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
</content>
</entry>
<entry>
<title>tools: Allow enrollment with destination IPCP</title>
<updated>2019-01-16T11:10:15+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2019-01-16T10:26:56+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=dee6cbec255c3a8af7f79fd7e401d231a5cbbb93'/>
<id>urn:sha1:dee6cbec255c3a8af7f79fd7e401d231a5cbbb93</id>
<content type='text'>
The irm enroll tool had a semantic to enroll with a layer name, but
this is not checked. Now the enroll command will retrieve the correct
layer name that the IPCP got from the actual enrollment procedure.
The irm enroll now has two string parameters, a dst and a layer, which
cannot be both NULL. If only dst is specified, the IPCP will enroll
with that name; autobind will bind with the layer name. If only layer
is specified, the IPCP will enroll with the layer name, and perform a
check that the layer name retrieved from enrollment is indeed the
layer name before possibly autobinding. If both dst and layer are
specified, the IPCP will enroll with dst and perform a check that the
enrollment was in the expected layer. Basically only specifying the
layer name is a shorthand for dst == layer.

Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
</content>
</entry>
<entry>
<title>tools: Rename "normal" to "unicast"</title>
<updated>2019-01-02T15:45:09+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2019-01-01T18:53:00+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=91e69340799866966eb9b7acc63f404424f23dee'/>
<id>urn:sha1:91e69340799866966eb9b7acc63f404424f23dee</id>
<content type='text'>
This renames the normal IPCP to unicast in the irm toolkit.

Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
</content>
</entry>
<entry>
<title>ipcpd: Add broadcast IPCP</title>
<updated>2018-10-24T09:58:49+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2018-10-24T08:06:23+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=da60c56365ac13a262ffa6adaba7540c4d914843'/>
<id>urn:sha1:da60c56365ac13a262ffa6adaba7540c4d914843</id>
<content type='text'>
This adds a broadcast IPCP that allows us to easily create multicast
applications. The broadcast IPCP accepts flows for "&lt;layer_name&gt;.mc".
A tool, obc (Ouroboros broadcast), is added that sends and reads a
message to a broadcast layer.

Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
</content>
</entry>
</feed>
