<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/cmake/config/ipcp/common.cmake, branch be</title>
<subtitle>Ouroboros main repository</subtitle>
<id>http://133.ip-51-38-114.eu/cgit/ouroboros/atom?h=be</id>
<link rel='self' href='http://133.ip-51-38-114.eu/cgit/ouroboros/atom?h=be'/>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/'/>
<updated>2026-05-27T13:55:08+00:00</updated>
<entry>
<title>ipcpd: Fully gate fa/dt RIB ops on IPCP_FLOW_STATS</title>
<updated>2026-05-27T13:55:08+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-05-26T21:18:29+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=44b7980a95107a564670393e4a2450e953223436'/>
<id>urn:sha1:44b7980a95107a564670393e4a2450e953223436</id>
<content type='text'>
The previous shape registered no-op _rib_read / _rib_readdir /
_rib_getattr handlers when IPCP_FLOW_STATS was off, and there was a
bug where *buf was not set in the no-op causing free on an
uninitialized pointer.

IPCP_FLOW_STATS was referenced by config.h.in but the declaration was
lost during the CMake refactor.

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: Expose ipcpd-eth flow statistics via RIB</title>
<updated>2026-05-20T06:17:05+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-05-01T16:32:17+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=6cd68ca0e61311cd4d6177b4c564432865a84a23'/>
<id>urn:sha1:6cd68ca0e61311cd4d6177b4c564432865a84a23</id>
<content type='text'>
Adds an IPCP_ETH_FLOW_STATS cmake option (gated on HAVE_FUSE; default
off) exposing per-flow and aggregate frame counters at
/&lt;ipcp&gt;/eth/{summary,&lt;fd&gt;}.

Counters use RELAXED atomics; the macros expand to ((void) 0) when the
option is off. Per-flow and global counters live in nested stat
structs.

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 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://133.ip-51-38-114.eu/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>
</feed>
