<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/src/ipcpd/unicast, branch 0.20.3</title>
<subtitle>Ouroboros main repository</subtitle>
<id>https://ouroboros.rocks/cgit/ouroboros/atom?h=0.20.3</id>
<link rel='self' href='https://ouroboros.rocks/cgit/ouroboros/atom?h=0.20.3'/>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/'/>
<updated>2023-09-20T16:53:25+00:00</updated>
<entry>
<title>ipcpd: Broadcast destruction of DHT requests</title>
<updated>2023-09-20T16:53:25+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2023-09-20T10:45:37+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=3662d75fa3a2cbe52fd9008754b1b6222342308d'/>
<id>urn:sha1:3662d75fa3a2cbe52fd9008754b1b6222342308d</id>
<content type='text'>
When a request is cancelled/destroyed, all blocking threads should
exit. Noticed some hangs on the DHT, this seems to fix/reduce it.

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: Fix dereference of unknown pointer type</title>
<updated>2023-09-20T16:51:19+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2023-09-19T11:46:46+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=3be8a872c638b81f39596a2fd5e9b0c43533e002'/>
<id>urn:sha1:3be8a872c638b81f39596a2fd5e9b0c43533e002</id>
<content type='text'>
The event handler was dereferencing the pointer to a connection, but
the pointer type is not known yet.

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: Register event handler after scheduler start</title>
<updated>2023-09-20T16:51:19+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2023-09-19T10:45:07+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=cd649633abae9a0fd2bdbcda965ee1dfd4c6fedd'/>
<id>urn:sha1:cd649633abae9a0fd2bdbcda965ee1dfd4c6fedd</id>
<content type='text'>
The event handler was registered before the scheduler was
started. Which could in theory cause addition of fds to an
uninitialized scheduler. The event handler is now registered after the
scheduler is created as part of dt_start. Likewise it now unregisters
as part of dt_stop.

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>lib: Move protobuf definitions to pb/ directory</title>
<updated>2023-08-30T15:11:41+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2023-08-27T15:59:20+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=3a321cc77e0f6d29167a925dd706fc36e5aa7cdd'/>
<id>urn:sha1:3a321cc77e0f6d29167a925dd706fc36e5aa7cdd</id>
<content type='text'>
This moves the protobuf definition in the library to a pb/
directory. Also renames the protobuf files and does a quick review of
the #define guards in the include library to specify _LIB_ for
internal/non-public library headers.

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: Move alloc race mitigation to common source</title>
<updated>2023-08-30T08:33:20+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2023-08-28T10:29:00+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=08332eefba9aa4b08d00e190720de4771081e855'/>
<id>urn:sha1:08332eefba9aa4b08d00e190720de4771081e855</id>
<content type='text'>
All flow allocator code was duplicating the mitigation for a race
where the IRMd response for the flow allocation with a new flow fd was
arriving before the response to the flow_req_arr. This is now moved to
the ipcp 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: Don't release sdb before writing packet</title>
<updated>2023-08-30T08:33:20+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2023-08-28T10:28:59+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=870e3fdfaee4991592cc29e90767abd0e9fba43b'/>
<id>urn:sha1:870e3fdfaee4991592cc29e90767abd0e9fba43b</id>
<content type='text'>
The flow allocator fa_alloc_resp would release the packet buffer (sdb)
before writing if the response was a failure. Also sets the IPCP
allocation timeout in nanoseconds as per the comment.

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>
</feed>
