<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/src/ipcpd/broadcast, branch 0.21.3</title>
<subtitle>Ouroboros main repository</subtitle>
<id>https://ouroboros.rocks/cgit/ouroboros/atom?h=0.21.3</id>
<link rel='self' href='https://ouroboros.rocks/cgit/ouroboros/atom?h=0.21.3'/>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/'/>
<updated>2024-02-23T15:41:37+00:00</updated>
<entry>
<title>lib: Revise app flow allocation</title>
<updated>2024-02-23T15:41:37+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2024-02-23T08:29:47+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=e6c2d4c9c6b8b12bbcf7bc8bd494b3ba56133e1f'/>
<id>urn:sha1:e6c2d4c9c6b8b12bbcf7bc8bd494b3ba56133e1f</id>
<content type='text'>
This revises the application flow allocator to use the flow_info
struct/message between the components. Revises the messaging to move
the use protocol buffers to its own source (serdes-irm).

Adds a timeout to the IRMd flow allocator to make sure flow
allocations don't hang forever (this was previously taken care of by
the sanitize thread).

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>irmd: Revise IRMd internals</title>
<updated>2024-02-19T10:49:07+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2024-02-17T09:19:46+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=06ee3370998f965b469d1c2859e3e34159c71e20'/>
<id>urn:sha1:06ee3370998f965b469d1c2859e3e34159c71e20</id>
<content type='text'>
This is a full revision of the IRMd internal implementation.

The registry is now a proper subcomponent managing its own internal
lock (a single mutex). Some tests are added for the registry and its
data structures. Some macros for tests are added in &lt;ouroboros/test.h&gt;.

Flow allocation is now more symmetric between the client side (alloc)
and server size (accept). Each will create a flow in pending state
(ALLOC_PENDING/ACCEPT_PENDING) that is potentially fulfilled by an
IPCP using respond_alloc and respond_accept primitives. Deallocation
is split in flow_dealloc (application side) and ipcp_flow_dealloc
(IPCP side) to get the flow in DEALLOC_PENDING and DEALLOCATED state.

Cleanup of failed flow allocation is now properly handled instead of
relying on the sanitizer thread. The new sanitizer only needs to
monitor crashed processes.

On shutdown, the IRMd will now detect hanging processes and SIGKILL
them and clean up their fuse mountpoints if needed.

A lot of other things have been cleaned up and shuffled around a bit.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>include: Use common definition between lib and IRMd</title>
<updated>2024-01-31T09:27:56+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2024-01-21T09:59:17+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=02f68ff5ccc637b2177f832a4f7ddf4f9f737d22'/>
<id>urn:sha1:02f68ff5ccc637b2177f832a4f7ddf4f9f737d22</id>
<content type='text'>
Some definitions/enums were different between the library and IRMd
(flow_state, ipcp_state). This moves them to common ground.

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: Update licenses to 2024</title>
<updated>2024-01-13T09:20:14+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2024-01-05T08:07:30+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=8742a31bf672c5bc087601ec39ab1feb206d2446'/>
<id>urn:sha1:8742a31bf672c5bc087601ec39ab1feb206d2446</id>
<content type='text'>
Slow but steady.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>include: Rename layer.layer_name to layer.name</title>
<updated>2023-11-29T08:57:29+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2023-11-27T13:43:10+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=3f24301fff9c544dfe2b89c5737bc3cdf94ef9a9'/>
<id>urn:sha1:3f24301fff9c544dfe2b89c5737bc3cdf94ef9a9</id>
<content type='text'>
The layer_info had a member layer_name which is a bit
redundant.

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: Revise logging</title>
<updated>2023-08-30T15:12:41+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2023-08-30T14:07:03+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=de2b10441c7835d4221dea3b4414478f72c549f6'/>
<id>urn:sha1:de2b10441c7835d4221dea3b4414478f72c549f6</id>
<content type='text'>
This revises the logging in the IPCPs to be a more consistent and
reduce duplicate messages in nested functions.

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: Set IPCP states in common sources</title>
<updated>2023-08-30T08:33:19+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2023-08-28T08:22:43+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=d21c4d5b0e7f42fe09784f11fa5776ff305e4fdf'/>
<id>urn:sha1:d21c4d5b0e7f42fe09784f11fa5776ff305e4fdf</id>
<content type='text'>
The state of the IPCP was set and checked in the main files, but it's
more convenient to do it in the common source.

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='https://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: Add IDs to enrollment</title>
<updated>2023-08-23T11:09:11+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2023-08-17T14:12:44+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=8183983c2c1cc50e3e0c82a8ab08d5fd66e0dc86'/>
<id>urn:sha1:8183983c2c1cc50e3e0c82a8ab08d5fd66e0dc86</id>
<content type='text'>
The enrollment messages now have a 64-bit ID to easier track
enrollments in the logs in larger scale tests.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>icpdp: Fix layer information for ipcpd-udp</title>
<updated>2023-03-24T09:04:53+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2023-03-22T11:57:14+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=b69cb56fdc0343b7c25cc895f9841ff29f01da26'/>
<id>urn:sha1:b69cb56fdc0343b7c25cc895f9841ff29f01da26</id>
<content type='text'>
The refactors removed the need to set the hash algorithm for the
ipcpd-udp and the ipcpd-broadcast. However, the algorithm was not set
at bootstrap, so the ipcpd-udp was trying to use an SHA3-256 instead
of an MD5, causing flow allocation over the UDP to fail. The
ipcpd-broadcast used the default, so there was no problem.

Fixed by setting the correct algorithm for these ipcpds at bootstrap.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
</feed>
