<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/src/lib/CMakeLists.txt, branch 0.4</title>
<subtitle>Ouroboros main repository</subtitle>
<id>http://www.ouroboros.rocks/cgit/ouroboros/atom?h=0.4</id>
<link rel='self' href='http://www.ouroboros.rocks/cgit/ouroboros/atom?h=0.4'/>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/'/>
<updated>2017-01-31T19:36:18Z</updated>
<entry>
<title>lib: Add packing and unpacking RIB</title>
<updated>2017-01-31T19:36:18Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@intec.ugent.be</email>
</author>
<published>2017-01-31T18:55:59Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=988355d5bb62405f3bd3fbaade1f26ba4b2c274e'/>
<id>urn:sha1:988355d5bb62405f3bd3fbaade1f26ba4b2c274e</id>
<content type='text'>
The rib_pack function allows packing a subtree of the RIB for
dissemination. The options PACK_HASH_ROOT and PACK_HASH_ALL will add
the hashes for the root object of the packed subtree or every object
to the packed message respectively. Checking of the hashes is
currently only performed at the top level object, verifying the
complete operation.

The rib_unpack function unpacks a packed message and inserts its
contents in the RIB. The option UNPACK_CREATE flags that the unpack
operation is allowed to create new objects, else it will only update
existing objects. More advanced options could be added in the future.

The packed message structure uses Google Protocol Buffers, as defined
in ro.proto.

It adds tests for these functions to the rib_test.
</content>
</entry>
<entry>
<title>lib: Add new version of Resource Information Base</title>
<updated>2017-01-21T08:55:10Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@intec.ugent.be</email>
</author>
<published>2017-01-20T11:59:17Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=9c92dd66d5e7fab3a3e243abbad9a20b29891fee'/>
<id>urn:sha1:9c92dd66d5e7fab3a3e243abbad9a20b29891fee</id>
<content type='text'>
The new RIB is implemented as a tree with doubly linked nodes (parents
keep a link to each child, each child keeps a link to its parent). An
index is kept in a btree using CRC32 hashes of the path name in the
RIB. Nodes keep an SHA3-256 hash value that is unique for the entire
subtree. This allows quick checks to see if two RIB subtrees are in
sync. The event system for the RIB is based on the event system for
flows (fqueue), but implemented completely in dynamic memory using
linked lists. An initial test is performed for the RIB. This PR does
not modify existing code to use the new RIB.
</content>
</entry>
<entry>
<title>lib: Add B-tree implementation</title>
<updated>2017-01-16T14:53:17Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@intec.ugent.be</email>
</author>
<published>2017-01-16T12:40:57Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=fac7ffe8ea9f42ebcf67c011c944d165cbab3e3b'/>
<id>urn:sha1:fac7ffe8ea9f42ebcf67c011c944d165cbab3e3b</id>
<content type='text'>
Adds an implementation of B-trees of order k (k children, min fill is
k/2, max fill k - 1). Useful to implement indexes for faster lookups.
</content>
</entry>
<entry>
<title>lib: Move CRC32 implementation to library</title>
<updated>2017-01-14T11:19:01Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@intec.ugent.be</email>
</author>
<published>2017-01-14T11:19:01Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=c18011259423f5d1cea7dfa67093c888c4882c1e'/>
<id>urn:sha1:c18011259423f5d1cea7dfa67093c888c4882c1e</id>
<content type='text'>
The CRC32 implementation will be used to ID objects in the RIB.
</content>
</entry>
<entry>
<title>Merged in sandervrijders/ouroboros/be-gam (pull request #345)</title>
<updated>2017-01-12T13:58:49Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@intec.ugent.be</email>
</author>
<published>2017-01-12T13:58:49Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=4e3c360377bc9b792c2fac83e9402d7531f79bbe'/>
<id>urn:sha1:4e3c360377bc9b792c2fac83e9402d7531f79bbe</id>
<content type='text'>
Be gam
</content>
</entry>
<entry>
<title>lib: Add SHA3 hash function</title>
<updated>2017-01-11T18:49:54Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@intec.ugent.be</email>
</author>
<published>2017-01-11T11:58:56Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=915b055978faeb516525e1a2a337d4c582fd088d'/>
<id>urn:sha1:915b055978faeb516525e1a2a337d4c582fd088d</id>
<content type='text'>
Adds an SHA-3 hash implementation that will be used in the rib,
adapted and redistributed from the RHASH project
(https://github.com/rhash/RHash)
</content>
</entry>
<entry>
<title>lib: Add Common Application Connection Establishment Phase</title>
<updated>2017-01-09T15:05:57Z</updated>
<author>
<name>Sander Vrijders</name>
<email>sander.vrijders@intec.ugent.be</email>
</author>
<published>2017-01-09T15:05:57Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=0b6a6d6445b5addcf38eb67a001b792456242481'/>
<id>urn:sha1:0b6a6d6445b5addcf38eb67a001b792456242481</id>
<content type='text'>
This adds CACEP to the library, which can be used for authenticating
the other party after flow allocation and for obtaining other relevant
information.
</content>
</entry>
<entry>
<title>ipcpd, lib: Refactor normal ipcp and cdap</title>
<updated>2016-12-24T11:19:10Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@intec.ugent.be</email>
</author>
<published>2016-12-23T17:13:40Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=f97dee45d3c1b0088aa8010a1c9d59593c3d0df0'/>
<id>urn:sha1:f97dee45d3c1b0088aa8010a1c9d59593c3d0df0</id>
<content type='text'>
Refactors the normal IPCP fmgr and ribmgr, and modifies the API for
cdap so that no callbacks are needed.
</content>
</entry>
<entry>
<title>lib, ipcpd: Add hashtable and PDU Forwarding Function</title>
<updated>2016-12-21T13:54:29Z</updated>
<author>
<name>Sander Vrijders</name>
<email>sander.vrijders@intec.ugent.be</email>
</author>
<published>2016-12-21T13:29:31Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=b814df8ed2939649284533d61eb26c29ed2ab2c8'/>
<id>urn:sha1:b814df8ed2939649284533d61eb26c29ed2ab2c8</id>
<content type='text'>
This adds a hash table that takes 64-bit integers as key and uses
separate chaining on collision. It also adds the PDU Forwarding
Function, which the Flow Manager can use to lookup the fd towards the
next hop. Routing policies will add/update/remove entries in the PFF.
</content>
</entry>
<entry>
<title>lib: Demultiplex the fast path</title>
<updated>2016-10-21T12:17:51Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@intec.ugent.be</email>
</author>
<published>2016-10-19T20:25:46Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=f516b51169020ea1957010fbd1005d746f01b1d9'/>
<id>urn:sha1:f516b51169020ea1957010fbd1005d746f01b1d9</id>
<content type='text'>
The fast path will now use an incoming ring buffer per flow per
process. This necessitated the development of a new method for the
asynchronous io call, which is now based on an event queue system for
scalability (fqueue). The ipcpd's and tools have been updated to this
API.
</content>
</entry>
</feed>
