<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/src/ipcpd/CMakeLists.txt, branch testing</title>
<subtitle>Ouroboros main repository</subtitle>
<id>http://www.ouroboros.rocks/cgit/ouroboros/atom?h=testing</id>
<link rel='self' href='http://www.ouroboros.rocks/cgit/ouroboros/atom?h=testing'/>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/'/>
<updated>2026-02-13T08:22:29+00:00</updated>
<entry>
<title>build: Refactor CMake back to in-tree CMakeLists</title>
<updated>2026-02-13T08:22:29+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-02-02T21:50:17+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=3796f6b04b5fce183e5480b57725545cda033f99'/>
<id>urn:sha1:3796f6b04b5fce183e5480b57725545cda033f99</id>
<content type='text'>
This moves the build definitions back to src/ subdirectories
(CMakeLists.txt per component). Configuration and dependencies are
kept out of tree. Configuration options are bundled into cmake/config/
modules. Dependencies are grouped by component (system/, crypt/, eth/,
coverage/, etc.). It now consistently uses target-based commands
(target_include_directories, target_link_libraries) instead of global
include_directories(). Proper PRIVATE/PUBLIC visibility for executable
link libraries. CONFIG_OUROBOROS_DEBUG now properly set based on being
a valid debug config (not just checking the string name).

It also adds OuroborosTargets export for find_package() support and
CMake package config files (OuroborosConfig.cmake) for easier
integration with CMake projects.

The build logic now follows more idiomatic CMake practices with
configuration separated from target definitions.

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 CMake modules</title>
<updated>2026-01-07T09:00:06+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2025-12-23T10:59:45+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=48c294105f5123dc876fbad199ec1e0166d82a18'/>
<id>urn:sha1:48c294105f5123dc876fbad199ec1e0166d82a18</id>
<content type='text'>
This moves the CMake build logic out of the source tree and splits it
up into a more modular form. The tests now have a CMakeLists.txt file
in their respective source directory.

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: Remove old IPCP_CONN_WAIT_DIR  build option</title>
<updated>2025-08-11T08:15:32+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2025-08-10T10:08:23+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=5c9328203b277fc36550ba06720dd13e5940121b'/>
<id>urn:sha1:5c9328203b277fc36550ba06720dd13e5940121b</id>
<content type='text'>
The IPCP_CONN_WAIT_DIR build option is not needed anymore with the
recent update to the DHT. Also cleans up some logging in the IPCP.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>lib: Rename CACEP to CEP and set conngmr timeout</title>
<updated>2024-02-26T08:00:09+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2024-02-25T11:00:11+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=bb617311f4fc4ece5bf963d3f445e73e09a9cdaa'/>
<id>urn:sha1:bb617311f4fc4ece5bf963d3f445e73e09a9cdaa</id>
<content type='text'>
The Common Application Connection Establishment Protocol (CACEP) is a
RINA construct associated with the Common Distributed Application
Protocol (CDAP). We dropped CDAP as O7s sees connection establishment
as common to all applications (though it can be a nop). The wiki
already refers to this as (O7s) Connection Establishment Protocol
(CEP).

The connection manager will now timeout waiting for CEP messages to
avoid hanging forever, configurable at build time via
CONNMGR_RCV_TIMEOUT.

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: Add build option to use pid as address</title>
<updated>2024-02-23T15:41:38+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2024-02-23T09:40:30+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=b7baa89fbaa04ceb3227d4d43089d8e6a5326b65'/>
<id>urn:sha1:b7baa89fbaa04ceb3227d4d43089d8e6a5326b65</id>
<content type='text'>
This adds a build option IPCP_DEBUG_LOCAL that will use the pid as the
DT name (address) in the unicast IPCP, which is handy for integration
testing and debugging.

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: Simplify including common enrollment code</title>
<updated>2023-08-30T08:02:44+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2023-08-27T11:12:23+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=e3d2677318030bfec170d7399f527dd6babf7a90'/>
<id>urn:sha1:e3d2677318030bfec170d7399f527dd6babf7a90</id>
<content type='text'>
The common enrollment code between the unicast and broadcast IPCP
included the same C source from a source file in the unicast and
broadcast directories. Now it's handled by defining COMMON_SOURCES for
the unicast and broadcast IPCP.

For now, only the enrollment component is common. Two things are
needed for the connection manager:

       * Routing to be fixed to use a supporting broadcast layer. Then
         management flows can be removed from the unicast IPCP (as
         they are in fact data transfer flows of the broadcast layer
         that supports the routing dissemination traffic).

       * DHT to enroll as part of IPCP enrollment. Now it enrolls when
         a data transfer flow is established to be more akin to how
         Kademlia nodes join a Kademlia DHT, but this should be
         revised to adhere more to O7s enrollment concepts.

After that, the connection manager code will also be completely shared
between the unicast and broadcast layer and the connmgr will also be
common code.

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: Reduce Linux slack timer</title>
<updated>2021-07-12T07:09:44+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2021-07-11T12:01:15+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=e33be771e4d9e5a88119f4e3af6259e01257c8a5'/>
<id>urn:sha1:e33be771e4d9e5a88119f4e3af6259e01257c8a5</id>
<content type='text'>
This will reduce the linux high resolution slack timer in IPCPs. Linux
default for userspace processes is 50us. It is configurable at build
using IPCP_LINUX_SLACKTIMER_NS. Default is now 1us.

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: Disable core lock by default</title>
<updated>2021-06-21T06:45:53+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2021-06-19T12:38:18+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=f0914fafb2dfac2f429ee87623dd482ab93edb08'/>
<id>urn:sha1:f0914fafb2dfac2f429ee87623dd482ab93edb08</id>
<content type='text'>
This was beneficial on dual-XEON CPU systems, but on most hardware,
this kills performance when running multiple IPCPs on a single CPU.

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: Remove raptor IPCP</title>
<updated>2021-03-28T10:46:05+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2021-03-26T11:32:06+00:00</published>
<link rel='alternate' type='text/html' href='http://www.ouroboros.rocks/cgit/ouroboros/commit/?id=994465e34a732db3bce542ee021674473f32d572'/>
<id>urn:sha1:994465e34a732db3bce542ee021674473f32d572</id>
<content type='text'>
This removes the raptor IPCP. The code hasn't been updated for a
while, and wouldn't compile. Raptor served its purpose as a PoC for
Ouroboros-over-Ethernet-Layer-1, but giving the extreme niche hardware
needed to run it, it's not worth maintaining this anymore.

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='http://www.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>
</feed>
