<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/src/ipcpd/ipcp.h, branch 0.2</title>
<subtitle>Ouroboros main repository</subtitle>
<id>http://www.ouroboros.rocks/cgit/ouroboros/atom?h=0.2</id>
<link rel='self' href='http://www.ouroboros.rocks/cgit/ouroboros/atom?h=0.2'/>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/'/>
<updated>2016-06-20T22:14:14+00:00</updated>
<entry>
<title>lib, irmd, ipcp: robust mutexes</title>
<updated>2016-06-20T22:14:14+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@intec.ugent.be</email>
</author>
<published>2016-06-20T21:49:35+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=a46114ec01e8d174a41744f4f1b49905613847dc'/>
<id>urn:sha1:a46114ec01e8d174a41744f4f1b49905613847dc</id>
<content type='text'>
Update to POSIX 200112L to allow use of robust mutexes in the
shm_du_map. Removed the implementation of the rw_lock in favor of
pthread_rwlock_t.

Placeholder for the shm_du_map_sanitize function.
</content>
</entry>
<entry>
<title>ipcpd: Adds a shim over IEEE 802.2 over IEEE 802.3</title>
<updated>2016-06-14T12:05:28+00:00</updated>
<author>
<name>Sander Vrijders</name>
<email>sander.vrijders@intec.ugent.be</email>
</author>
<published>2016-06-05T14:49:32+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=aeb53fcd725fe291afa6ffb683373c8e589afa64'/>
<id>urn:sha1:aeb53fcd725fe291afa6ffb683373c8e589afa64</id>
<content type='text'>
This adds a shim over LLC over Ethernet. It uses the raw socket API to
send messages directly over an interface.
</content>
</entry>
<entry>
<title>ipcpd: shim-udp: Revised locking</title>
<updated>2016-05-15T20:42:47+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@intec.ugent.be</email>
</author>
<published>2016-05-15T20:42:47+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=3f5b31d49139968a84c42d5d3067d06edefa3aae'/>
<id>urn:sha1:3f5b31d49139968a84c42d5d3067d06edefa3aae</id>
<content type='text'>
Simplified locking to take only two locks: the first lock guards the
state of the ipcp. This lock must be held for writing on bootstrap and
closing, and held for reading during all other operations. The second
lock guards operations on flows, and must be held for writing during
allocation and deallocation, and held for reading when sending sdu's.
After adding a fd to FD_SET, the shim will wait for 1 ms to ensure
that the FD is added to the select call.
</content>
</entry>
<entry>
<title>ipcpd: shim-udp: complete locking</title>
<updated>2016-05-14T19:34:04+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@intec.ugent.be</email>
</author>
<published>2016-05-14T14:39:27+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=037fec33cda726d0078e23798f462ad273153dd5'/>
<id>urn:sha1:037fec33cda726d0078e23798f462ad273153dd5</id>
<content type='text'>
Added necessary locks for the shim-udp.  This PR also improves thread
management, the main thread now starts a mainloop thread, which spawns
sdu handler threads when it the IPCP is enrolled. If the IPCP exits
the enrolled state, the sdu loop is cancelled.
</content>
</entry>
<entry>
<title>irmd: flow allocation and fast path</title>
<updated>2016-05-07T14:11:09+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@intec.ugent.be</email>
</author>
<published>2016-05-07T14:11:09+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=eb9f44379d5316e7f7e9311d7a66d2041eca743a'/>
<id>urn:sha1:eb9f44379d5316e7f7e9311d7a66d2041eca743a</id>
<content type='text'>
This commit has a first implementation of flow allocation (the "slow
path") and read/write (the "fast path") for ouroboros. It provides
basic but unstable communications over the shared memory.

It required a lot of changes all over the stack, and fixes a number of
previously undetected issues.

This PR still need heavy revision regarding data model, locking and
cleanup.

lib/dev: modifications to the API. It now uses an ap_init() call to
set the AP name and sets the Instance ID to the pid of the process. It
also binds the AP to the shared memory and creates tables for mappings
in the fast path. A call to ap_fini() releases the resources.

lib/shm_ap_rbuff: added ring buffer for data exchange between
processes in the fast path. It passes an index in the shm_du_map.

lib/shm_du_map: rewrote API to work with calls from dev.c. Garbage
collector added. Tests updated to new API.

ipcpd/ipcp-data: removed everything related to flows, as these are
universal for all ap's and kept in ap_data (dev.c), or similar structs
for shim ipcps.

shim-udp: added flow allocator and read/write functions and shm
elements.

irmd: revised data model and structures necessary for flow allocation.

tools: echo updated to new dev.h API.

messaging system was updated to comply with new flow allocation
messages. All exchanges use pid and port_id to bootstrap the fast
path.
</content>
</entry>
<entry>
<title>lib: client-side flow allocation</title>
<updated>2016-04-27T16:36:31+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@intec.ugent.be</email>
</author>
<published>2016-04-27T16:36:31+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=1a02682d0695509bb8255b2d10dee48c61d83c34'/>
<id>urn:sha1:1a02682d0695509bb8255b2d10dee48c61d83c34</id>
<content type='text'>
flow allocation now propagates on the client side up to the IPCP.
added UNKNOWN_AP and UNKNOWN_AE definitions to dev.h
</content>
</entry>
<entry>
<title>ipdpd: defined ANONYMOUS_AP name</title>
<updated>2016-04-20T10:39:50+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@intec.ugent.be</email>
</author>
<published>2016-04-20T10:36:53+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=423cbd695b0eed9d4ec55abb1f6a0bfa0e4e48a4'/>
<id>urn:sha1:423cbd695b0eed9d4ec55abb1f6a0bfa0e4e48a4</id>
<content type='text'>
fixes comments on 38c4169 (memleaks)
</content>
</entry>
<entry>
<title>ipcpd: added checks</title>
<updated>2016-04-19T08:04:20+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@intec.ugent.be</email>
</author>
<published>2016-04-19T07:42:42+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=b2acd622d6380724fa16ee66b9f0f4463f1cd477'/>
<id>urn:sha1:b2acd622d6380724fa16ee66b9f0f4463f1cd477</id>
<content type='text'>
added missing NULL checks
common argument check function for ipcps
</content>
</entry>
<entry>
<title>ipcpd: initial IPC processes</title>
<updated>2016-04-18T20:25:34+00:00</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@intec.ugent.be</email>
</author>
<published>2016-04-17T10:08:49+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=21b304b46a347772c1338b22fba6a15291bb2945'/>
<id>urn:sha1:21b304b46a347772c1338b22fba6a15291bb2945</id>
<content type='text'>
Basic functions for implementation of IPC processes, and
implementation of core functions of the shim IPCP over UDP.  Updates
to the build system to compile these IPC processes, as well as some
fixes in the irmd (rudimentary capturing exit signals) and some fixes
in the library, mainly relating to the messaging.

Basic implementation of creation / bootstrapping / deletion of the
shim UDP. Placeholders for other functions.
</content>
</entry>
</feed>
