<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/src/ipcpd/eth/CMakeLists.txt, branch 0.22.0</title>
<subtitle>Ouroboros main repository</subtitle>
<id>http://133.ip-51-38-114.eu/cgit/ouroboros/atom?h=0.22.0</id>
<link rel='self' href='http://133.ip-51-38-114.eu/cgit/ouroboros/atom?h=0.22.0'/>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/'/>
<updated>2025-09-10T06:19:52+00:00</updated>
<entry>
<title>ipcpd: Add ipcpd over UDP/IPv6</title>
<updated>2025-09-10T06:19:52+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2025-08-17T10:09:12+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=5274cb3ce09c40cccd29ec771ad49a2069aa37c4'/>
<id>urn:sha1:5274cb3ce09c40cccd29ec771ad49a2069aa37c4</id>
<content type='text'>
This adds an IPCP that runs over UDP/IPv6. It's structured like the
eth-dix and eth-llc in that it builds two separate binaries:
ipcpd-udp4 and ipcpd-udp6. The IRM CLI is backwards compatible in that
type 'udp' will resolve to type 'udp4'.

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: Initial Flow Allocation Protocol Header</title>
<updated>2025-07-23T13:07:52+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2025-07-17T19:30:51+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=3af9d041343a4799247aa4d61fb91b706bd6c58f'/>
<id>urn:sha1:3af9d041343a4799247aa4d61fb91b706bd6c58f</id>
<content type='text'>
This adds the initial version for the flow allocation protocol header
between IRMd instances. This is a step towards flow authentication.

The header supports secure and authenticated flow allocation,
supporting certificate-based authentication and ephemeral key
exchange for end-to-end encryption.

 id:          128-bit identifier for the entity.
 timestamp:   64-bit timestamp (replay protection).
 certificate: Certificate for authentication.
 public key:  ECDHE public key for key exchange.
 data:        Application data.
 signature:   Signature for integrity/authenticity.

Authentication and encryption require OpenSSL to be installed.

The IRMd compares the allocation request delay with the MPL of the
Layer over which the flow allocation was sent. MPL is now reported by
the Layer in ms instead of seconds.

Time functions revised for consistency and adds some tests.

The TPM can now print thread running times in Debug builds
(TPM_DEBUG_REPORT_INTERVAL) and abort processes with hung threads
(TPM_DEBUG_ABORT_TIMEOUT). Long running threads waiting for input
should call tpm_wait_work() to avoid trigger a process abort.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
Signed-off-by: Sander Vrijders &lt;sander@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>ipdpd: Pass MPL to application at flow_allocation</title>
<updated>2022-03-08T16:40:17+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2022-03-06T14:15:51+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=40ca5385e97f393d0c231446f117ad43465735a7'/>
<id>urn:sha1:40ca5385e97f393d0c231446f117ad43465735a7</id>
<content type='text'>
The maximum packet lifetime (MPL) is a property of the flow that needs
to be passed to the reliable transmission protocol (FRCP) for its
correct operation. Previously, the value of MPL was set fixed as one
of the (fixed) Delta-t parameters. This patch makes the MPL a property
of the layer, and it can now be set per layer-type at build time.
This is a step towards a proper MPL estimator in the flow allocator.

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: Set specific compiler flags for SWIG target</title>
<updated>2019-03-21T11:33:54+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2019-03-21T11:15:45+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=d6bd976b2456104a56f039ee5c5b83e82a5daa77'/>
<id>urn:sha1:d6bd976b2456104a56f039ee5c5b83e82a5daa77</id>
<content type='text'>
The compiler flags for the SWIG target were added to the global
CMAKE_C_FLAGS used for the entire project. This sets the flags
uniquely for the SWIG target. The eth has a similar case for the c99
flag. There was a lingering include in dev.c that was removed.

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: Restrict MTU for Ethernet over loopback</title>
<updated>2019-03-21T08:42:34+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2019-03-20T17:33:47+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=086cd5dae628556ffaa2c2efe559a5bd2fba8d0e'/>
<id>urn:sha1:086cd5dae628556ffaa2c2efe559a5bd2fba8d0e</id>
<content type='text'>
This restricts the MTU for the Ethernet IPCP over loopback adapters
(devices named "lo*") to avoid it allocating 65K buffers per packet
and quickly filling the default RDRBUFF space. The restriction is set
using the build option IPCP_ETH_LO_MTU, with a default value of 1500
bytes.

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: Set default number of threads in eth to 1</title>
<updated>2019-03-05T08:10:38+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2019-03-05T08:02:57+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=5c74c348ff66d6e6093d21a614ec527e0e31aac6'/>
<id>urn:sha1:5c74c348ff66d6e6093d21a614ec527e0e31aac6</id>
<content type='text'>
This makes the eth packet handler single-threaded by default, at least
until stability issues that seem to be related to multi-threading are
fixed.

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: Make Qdisc bypass configurable</title>
<updated>2018-10-12T15:30:49+00:00</updated>
<author>
<name>Sander Vrijders</name>
<email>sander.vrijders@ugent.be</email>
</author>
<published>2018-10-12T15:17:10+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=33e89097c05cb0bb1816a15aa5ef4740d03eb90a'/>
<id>urn:sha1:33e89097c05cb0bb1816a15aa5ef4740d03eb90a</id>
<content type='text'>
This will make bypassing the qdisc configurable, as it might be handy
for getting fast data rates but is generally needed.

Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
</content>
</entry>
<entry>
<title>build: Prioritize raw socket API in build</title>
<updated>2018-10-03T13:18:58+00:00</updated>
<author>
<name>Sander Vrijders</name>
<email>sander.vrijders@ugent.be</email>
</author>
<published>2018-10-03T12:37:15+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=c9a54ee6b45c8566cf2d24f9763907451b50f7c1'/>
<id>urn:sha1:c9a54ee6b45c8566cf2d24f9763907451b50f7c1</id>
<content type='text'>
This will change the build to exclusively select one raw socket API in
case multiple are present in the sytem, which will simplify the code.

Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
</content>
</entry>
<entry>
<title>ipcpd: Fix build for netmap enabled Ethernet IPCP</title>
<updated>2018-10-03T09:00:56+00:00</updated>
<author>
<name>Sander Vrijders</name>
<email>sander.vrijders@ugent.be</email>
</author>
<published>2018-10-03T08:59:00+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=a789531e1dab39fcddc6d57af2312ead3b1fa4cc'/>
<id>urn:sha1:a789531e1dab39fcddc6d57af2312ead3b1fa4cc</id>
<content type='text'>
There were some compilation issues introduced by adding the interface
monitor to the Ethernet IPCP. Furthermore it was not possible to
select between raw sockets or netmap if both were available.

Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
</content>
</entry>
<entry>
<title>ipcpd: Add multithreading to Ethernet IPCP</title>
<updated>2018-10-03T07:14:57+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2018-10-02T23:13:43+00:00</published>
<link rel='alternate' type='text/html' href='http://133.ip-51-38-114.eu/cgit/ouroboros/commit/?id=e00181b492d573ecd0621f55d9ad24f134c09d4c'/>
<id>urn:sha1:e00181b492d573ecd0621f55d9ad24f134c09d4c</id>
<content type='text'>
This adds multiple reader and writer threads, configurabe via cmake
with IPCP_ETH_RD_THR and IPCP_ETH_WR_THR. Improves ethernet IPCP
throughput, which looks to be limited by the raw socket calls.

Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
</content>
</entry>
</feed>
