<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/src/lib/irmd_messages.proto, branch 0.3</title>
<subtitle>Ouroboros main repository</subtitle>
<id>http://www.ouroboros.rocks/cgit/ouroboros/atom?h=0.3</id>
<link rel='self' href='http://www.ouroboros.rocks/cgit/ouroboros/atom?h=0.3'/>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/'/>
<updated>2016-10-04T13:16:00Z</updated>
<entry>
<title>lib, ipcp: Revise fast path and flow interfaces</title>
<updated>2016-10-04T13:16:00Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@intec.ugent.be</email>
</author>
<published>2016-09-18T04:27:43Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=c96efb13edfaf9b2f2c626bd2a5d5d5afd38155f'/>
<id>urn:sha1:c96efb13edfaf9b2f2c626bd2a5d5d5afd38155f</id>
<content type='text'>
IPCPs can now use ap_init() to initialize the memory. All flows are
accessed using flow descriptors, this greatly simplifies IPCP
development. Reverts the fast path to a single ap_rbuff per process.
Splits lib/ipcp into irmd/ipcp and lib/ipcp-dev.  Adds a lib/shim-dev
holding tailored functions for shims.  Moves the buffer_t to utils.h.
Fixes the shim-eth-llc length field.  Removes the flow from shared.h.

Fixes #4
Fixes #5
</content>
</entry>
<entry>
<title>irmd, lib: Rebuild the IRMd data model</title>
<updated>2016-08-21T16:32:12Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@intec.ugent.be</email>
</author>
<published>2016-08-20T08:42:36Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=0efb1ff527ce3fb50d4c72c02904fa1cdd1e3a66'/>
<id>urn:sha1:0efb1ff527ce3fb50d4c72c02904fa1cdd1e3a66</id>
<content type='text'>
The complete data model inside the IRMd has been restructured. The
bind operation was revised to allow binding of AP and AP instances and
register those names with different DIFs (see "irm bind" for details).

Server applications require to call ap_init with a server name
argument, client application that do not the be reachable over any DIF
can call ap_init(NULL). Calling ap_init for a client with a specified
name will not have adverse consequences for the application, but will
consume unnecessary resources in the IRMd.

Application servers can now be started at any point after the IRMd has
been started. Starting servers, binding AP names and registering names in
DIFs can be performed in any order that does not defy temporal logic.

Supports naming instances by their pid. In case of IPCP Instances
created with the IRM tool, the name assigned during "irm ipcp create"
can be used.

All the changes required updates in the tools.
</content>
</entry>
<entry>
<title>lib, irmd: Bind AP instances to AP_subsets</title>
<updated>2016-08-10T17:10:38Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@intec.ugent.be</email>
</author>
<published>2016-08-10T15:50:45Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=11c6be30491ebe4e41380f48a271c57bcff4b043'/>
<id>urn:sha1:11c6be30491ebe4e41380f48a271c57bcff4b043</id>
<content type='text'>
This call will allow grouping AP instances of a certain AP together
which are configured identically. Adds the bind operation to dev and
updates the applications to make use of this call. Flow_alloc is now
only called with the pid and doesn't send the apn anymore.
</content>
</entry>
<entry>
<title>ipcp, irmd, lib: Notify IRMd upon IPCP initialization</title>
<updated>2016-08-10T10:54:38Z</updated>
<author>
<name>Sander Vrijders</name>
<email>sander.vrijders@intec.ugent.be</email>
</author>
<published>2016-08-10T10:27:41Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=155fbfb32b9a69705a06a5771bd146c1bed22821'/>
<id>urn:sha1:155fbfb32b9a69705a06a5771bd146c1bed22821</id>
<content type='text'>
This will notify the IRMd when the IPCP is initialized and ready to
receive messages. Previously a bootstrap could fail since the IPCP was
not listening to the socket yet.
</content>
</entry>
<entry>
<title>lib: Change invalid pid to -1</title>
<updated>2016-07-05T17:07:25Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@intec.ugent.be</email>
</author>
<published>2016-07-05T16:52:12Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=bc9c60382b226e5a75a11a99364b9b799dc2b0c2'/>
<id>urn:sha1:bc9c60382b226e5a75a11a99364b9b799dc2b0c2</id>
<content type='text'>
The stack used pid 0 (the scheduler) to indicate an invalid process
instance, probably as a leftover from the deprecated application
process instance id. Using -1 is a better solution.

Fixes #16.
</content>
</entry>
<entry>
<title>lib, irmd, ipcpd: Change pid to api</title>
<updated>2016-06-28T14:45:45Z</updated>
<author>
<name>Sander Vrijders</name>
<email>sander.vrijders@intec.ugent.be</email>
</author>
<published>2016-06-28T14:38:03Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=99d19307fae8f1370f52a62aee88fded624ad464'/>
<id>urn:sha1:99d19307fae8f1370f52a62aee88fded624ad464</id>
<content type='text'>
Changes the variable name as well to API instead of PID.
</content>
</entry>
<entry>
<title>lib, irmd, ipcpd: Change of IRM API</title>
<updated>2016-06-28T14:22:01Z</updated>
<author>
<name>Sander Vrijders</name>
<email>sander.vrijders@intec.ugent.be</email>
</author>
<published>2016-06-28T14:11:19Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=0d789ed8d938cc342c8f2138280795a1d5a61e3d'/>
<id>urn:sha1:0d789ed8d938cc342c8f2138280795a1d5a61e3d</id>
<content type='text'>
This changes the IRM API after discussions with Dimitri. The register
operation is now split into a bind and register operation. The same
for unregister; unbind and unregister. PIDs are now used as the
application instance name. A name for a PID is only provided for
scriptability in bash. It is therefore also no longer passed down to
the IPCP. Every operation on an IPCP through the IRM API has to use
the PID. Quering of the PIDs by name is possible. The IRM tool has
been updated to use this new API as well. A subcommand 'ipcp' has been
added for operations that take effect on IPCPs only.

Fixes #12
</content>
</entry>
<entry>
<title>lib, irmd, tools, ipcpd: updates to dev API.</title>
<updated>2016-06-13T11:48:17Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@intec.ugent.be</email>
</author>
<published>2016-06-13T11:48:17Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=7834e92b218da69cd934679dec9c2d714d89d15e'/>
<id>urn:sha1:7834e92b218da69cd934679dec9c2d714d89d15e</id>
<content type='text'>
The registration function has been moved to the irm tool, applications
now need to be registered by an administrator. Currently only supports
one instance per registered name, and an AP can be registered under
only one name.

The irmd can now start a registered server application on demand.

For the full functionality of the tool, execute "irm register".

AP name removed from flow allocation. Flow allocation does not send
the source ap name as it is quite useless. The accept() call now only
returns the AE name.
</content>
</entry>
<entry>
<title>lib: changed port_id to int</title>
<updated>2016-05-08T14:54:12Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@intec.ugent.be</email>
</author>
<published>2016-05-08T14:54:12Z</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=4e13c71204e9667cfc4b7da6491972f854d9402d'/>
<id>urn:sha1:4e13c71204e9667cfc4b7da6491972f854d9402d</id>
<content type='text'>
returning -1 as uint32_t leads to bugs.
also changed types in GPB to sint to use zigzag encoding.
</content>
</entry>
<entry>
<title>irmd: flow allocation and fast path</title>
<updated>2016-05-07T14:11:09Z</updated>
<author>
<name>dimitri staessens</name>
<email>dimitri.staessens@intec.ugent.be</email>
</author>
<published>2016-05-07T14:11:09Z</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>
</feed>
