<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/include, branch 0.7</title>
<subtitle>Ouroboros main repository</subtitle>
<id>http://133.ip-51-38-114.eu/cgit/ouroboros/atom?h=0.7</id>
<link rel='self' href='http://133.ip-51-38-114.eu/cgit/ouroboros/atom?h=0.7'/>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/'/>
<updated>2017-10-14T11:19:10+00:00</updated>
<entry>
<title>lib: Deprecate ouroboros_init and ourboros_fini</title>
<updated>2017-10-14T11:19:10+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-10-12T00:15:39+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=bedd1d4eadde9ab64f924c69eba716b015599e67'/>
<id>urn:sha1:bedd1d4eadde9ab64f924c69eba716b015599e67</id>
<content type='text'>
This commit deprecates ouroboros_init and ouroboros_fini and adds them
as a constructor or destructor, causing these function to be run
automatically when a program that links to the library calls and exits
main(). For this to fully work, the library had to be split so that we
can avoid the irmd calling these functions (the IRMd has to create the
shm structures on which these calls depend).

The library is split in 3 parts: libouroboros-dev, libouroboros-irm
and libouroboros-common. The latter is linked to the other two so that
including libouroboros-dev or libouroboros-irm will also link
libouroboros-common.
</content>
</entry>
<entry>
<title>lib: Cancel tpm threads instead of marking exit</title>
<updated>2017-09-30T15:58:18+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-09-30T15:58:18+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=9405ad97e20686f74c06bcbac9523a8b4f10272e'/>
<id>urn:sha1:9405ad97e20686f74c06bcbac9523a8b4f10272e</id>
<content type='text'>
This makes the threadpool use pthread_cancel instead of setting an
exit flag that threadpool managed threads check periodically. This
drastically reduces CPU consumption in the irmd when running a lot of
applications. It requires cancellation handlers in the ipcp and irmd
to be implemented to ensure safe cancellation during operation and
shutdown.
</content>
</entry>
<entry>
<title>ipcpd: normal: Add Loop-Free Alternates routing</title>
<updated>2017-09-29T13:12:36+00:00</updated>
<author>
<name>Sander Vrijders</name>
<email>sander.vrijders@ugent.be</email>
</author>
<published>2017-09-27T13:33:39+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=e3dba5812b1422a79e6e77ce9f923bade5a480e4'/>
<id>urn:sha1:e3dba5812b1422a79e6e77ce9f923bade5a480e4</id>
<content type='text'>
This adds the Loop-Free Alternates (LFA) policy. In case a link goes
down a LFA may be selected to route the SDUs on without causing loops
instead of the main hop that just went down.
</content>
</entry>
<entry>
<title>ipcpd: Add threadpool manager to DHT</title>
<updated>2017-09-24T12:34:03+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-09-24T12:34:03+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=ff5063ad0e7902ce59864a466bd9d8d606d788e4'/>
<id>urn:sha1:ff5063ad0e7902ce59864a466bd9d8d606d788e4</id>
<content type='text'>
This adds a threadpool manager to the DHT. This was needed because the
detached thread could cause a data race on shutdown.

The threadpool manager is revised to allow multiple instances in a
single program.

The irmd and ipcp now store commands in a buffer (list) instead of a
single buffer before passing it to handler threads.
</content>
</entry>
<entry>
<title>lib: Clean up bitmap implementation</title>
<updated>2017-09-23T10:32:07+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-09-23T10:27:23+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=7ee95a3809aab3152837ceb5ffcd001ee9e83fde'/>
<id>urn:sha1:7ee95a3809aab3152837ceb5ffcd001ee9e83fde</id>
<content type='text'>
There was a return -1 in the allocate call which is unsafe since -1
may be a valid id in the bitmap. Since it's a data structure for
internal use, I replaced the NULL checks with assertions.
</content>
</entry>
<entry>
<title>ipcpd: normal: Add alternate hop PFF</title>
<updated>2017-09-21T14:55:31+00:00</updated>
<author>
<name>Sander Vrijders</name>
<email>sander.vrijders@ugent.be</email>
</author>
<published>2017-09-21T12:26:51+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=f6071ecf0cd3768eaed9a847f676433c120ea89e'/>
<id>urn:sha1:f6071ecf0cd3768eaed9a847f676433c120ea89e</id>
<content type='text'>
This adds a PFF that returns an alternate hop as next hop in case the
hop that would have been returned is down.
</content>
</entry>
<entry>
<title>ipcpd: normal: Make PFF policy-based</title>
<updated>2017-09-20T12:16:34+00:00</updated>
<author>
<name>Sander Vrijders</name>
<email>sander.vrijders@ugent.be</email>
</author>
<published>2017-09-20T11:56:17+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=2c7e3030edb84abae14042f7a1a22b44255324be'/>
<id>urn:sha1:2c7e3030edb84abae14042f7a1a22b44255324be</id>
<content type='text'>
This turns the PDU Forwarding Function of the IPCP into a policy. For
now only the simple PFF policy is available.
</content>
</entry>
<entry>
<title>ipcpd: Enroll DHT when creating dt connection</title>
<updated>2017-09-19T16:46:13+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-09-19T15:47:26+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=1dcef3957393c0500b81d93ffacf573e78be9a51'/>
<id>urn:sha1:1dcef3957393c0500b81d93ffacf573e78be9a51</id>
<content type='text'>
The DHT will now enroll or sync when a data transfer connection is
added. This avoids the need to create a temporary data transfer
connection during enrollment (and speeds it up considerably).

The notifier system was modified to take an opaque pointer to the
object that registers as a parameter.
</content>
</entry>
<entry>
<title>ipcpd, lib: Add flow down events</title>
<updated>2017-09-19T14:52:54+00:00</updated>
<author>
<name>Sander Vrijders</name>
<email>sander.vrijders@ugent.be</email>
</author>
<published>2017-09-18T17:06:15+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=541b1c5eeb5fe9f9aaa4aa6487852e5c59761139'/>
<id>urn:sha1:541b1c5eeb5fe9f9aaa4aa6487852e5c59761139</id>
<content type='text'>
This adds the flow down event to Ouroboros. In the shim-eth-llc, a
netlink socket is opened which listens to device up/down events. For
each event the flow is then adjusted with fccntl to notify the user
the flow is down or back up again. In the normal IPCP an event is
thrown if a write reports that the flow is down.
</content>
</entry>
<entry>
<title>lib: Provide RIB API to export internals via fuse</title>
<updated>2017-09-18T07:27:53+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2017-09-18T06:03:31+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=f86502516b2a069954d0529d8b43593ece7360eb'/>
<id>urn:sha1:f86502516b2a069954d0529d8b43593ece7360eb</id>
<content type='text'>
This adds a virtual RIB that is accessible as a filesystem that is
accessed through a fuse mountpoint (configurable , default is
/tmp/ouroboros). Currently, each IPCP will export its link state
database.
</content>
</entry>
</feed>
