<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rumba, branch be</title>
<subtitle>Ouroboros and RINA orchestration tool. Forked from https://gitlab.com/arcfire/rumba</subtitle>
<id>https://ouroboros.rocks/cgit/rumba/atom?h=be</id>
<link rel='self' href='https://ouroboros.rocks/cgit/rumba/atom?h=be'/>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/rumba/'/>
<updated>2026-07-06T16:32:49+00:00</updated>
<entry>
<title>rumba: Add namespace testbed (nstb) with per-node namespaces</title>
<updated>2026-07-06T16:32:49+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-07-06T16:32:49+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/rumba/commit/?id=c2baeced3c9d4b3fbd28e4f5be0b1bfa7be16371'/>
<id>urn:sha1:c2baeced3c9d4b3fbd28e4f5be0b1bfa7be16371</id>
<content type='text'>
Add a single-host testbed that gives each node its own Linux network +
mount namespace, wired together with veth pairs and per-layer bridges,
plus an nsenter executor that runs commands inside a node's namespace.

The per-node mount namespace mounts a private tmpfs over each of the
filesystem trees Ouroboros pins at compile time, so exactly one IRMd
owns each per node. This lets a single host place clients and servers
on distinct nodes and exercise real multi-hop forwarding.

Requires CAP_SYS_ADMIN (root / sudo), e.g. a privileged container.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>rumba: Generalize testbeds for per-node-namespace</title>
<updated>2026-07-06T16:28:37+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-07-06T16:28:37+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/rumba/commit/?id=810961faa36150fe1e3228217eadb8609980f3d0'/>
<id>urn:sha1:810961faa36150fe1e3228217eadb8609980f3d0</id>
<content type='text'>
Prepare the framework for the new testbed that runs multiple IRMds
using Linux namespaces. Adds capabilities on the Testbed base class:

  - needs_install:            build/install the prototype on the nodes
  - single_irmd:              one in-process IRMd, driven locally
  - terminate_before_swapout: reap the prototype before swap_out tears
                              down the context it runs in

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>rumba: Root enrollment spanning tree</title>
<updated>2026-07-06T16:24:53+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-07-06T16:24:53+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/rumba/commit/?id=927973cf27afc24c67fabb1186ac9a3b9bab5a8e'/>
<id>urn:sha1:927973cf27afc24c67fabb1186ac9a3b9bab5a8e</id>
<content type='text'>
Build the enrollment order from a central node instead of an arbitrary
endpoint to improve enrollment speed.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>rumba: Add link-state timer config to IrmPython</title>
<updated>2026-07-06T16:21:50+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-07-06T16:21:50+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/rumba/commit/?id=d25ebc6f1f1173e11d71fcb6e620f5157f43a916'/>
<id>urn:sha1:d25ebc6f1f1173e11d71fcb6e620f5157f43a916</id>
<content type='text'>
Now experiments can tune the link-state routing update and recalc
timers.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>rumba: Fix backpressure on tc links in veth testbeds</title>
<updated>2026-06-30T17:23:33+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-04-27T05:33:46+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/rumba/commit/?id=413a2f22d9c8ef322ea6f1f4aeb6877e9cb481e5'/>
<id>urn:sha1:413a2f22d9c8ef322ea6f1f4aeb6877e9cb481e5</id>
<content type='text'>
Now tracks netem/htb qdisc state per IPCP instead of in a global
set. It places place netem on the bridge-side interface (host_ifname)
so HTB rate limiting keeps back-pressure (mixing htb and tc on the
same interface doesn't work).
</content>
</entry>
<entry>
<title>rumba: Fix version compatibility check in IrmPython</title>
<updated>2026-03-21T19:00:20+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-03-21T18:56:18+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/rumba/commit/?id=cb2d33f17a725bb908834bb0f3a4f4fd344efc54'/>
<id>urn:sha1:cb2d33f17a725bb908834bb0f3a4f4fd344efc54</id>
<content type='text'>
Fix check_version() to use tag-level comparison instead of a
patch-range check, making it robust for dev/pre-release versions on
both rumba and PyOuroboros.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>rumba: Add duplicate, reorder and corrupt link quality parameters</title>
<updated>2026-03-21T19:00:03+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-03-21T18:55:30+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/rumba/commit/?id=fb667c406053a2121d8d1f16099a8063292b3f45'/>
<id>urn:sha1:fb667c406053a2121d8d1f16099a8063292b3f45</id>
<content type='text'>
Add Duplicate, Reorder and Corrupt classes modelling the corresponding
tc-netem impairments, and extend LinkQuality and EthDixLayer with
support for these new parameters alongside the existing delay, loss
and rate.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>build: Move to pyproject + setuptools_scm</title>
<updated>2026-03-08T13:25:09+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-03-07T22:04:29+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/rumba/commit/?id=3ab851644501e4906e91084a81e33e1a3cebd5cc'/>
<id>urn:sha1:3ab851644501e4906e91084a81e33e1a3cebd5cc</id>
<content type='text'>
Replace setup.py and MANIFEST.in with pyproject.toml. The version is
now derived from git tags via setuptools_scm, and added
.git_archival.txt and .gitattributes for git archive support. Remove
_version.py from version control as it is now auto-generated at build
time.

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>rumba: Remove irati/rlite, python2 and qemu support</title>
<updated>2026-03-07T10:29:02+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri@ouroboros.rocks</email>
</author>
<published>2026-03-01T10:02:25+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/rumba/commit/?id=6cbcfb039e608419bd6ced673723918aca6fb278'/>
<id>urn:sha1:6cbcfb039e608419bd6ced673723918aca6fb278</id>
<content type='text'>
Remove IRATI and rlite prototype plugins, keeping only Ouroboros.
Delete .gitlab-ci.yml (only contained an irati test job and a
Sphinx pages job). Clean up all irati/rlite imports and references
from examples, documentation, and tools.

Qemu was tied heavily with rlite and irati. As it's less useful for
ouroboros it's removed rather than reworked.

Updated README.md and AUTHORS

Signed-off-by: Dimitri Staessens &lt;dimitri@ouroboros.rocks&gt;
</content>
</entry>
<entry>
<title>rumba: Add exit status to ExperimentManager</title>
<updated>2026-01-18T20:07:29+00:00</updated>
<author>
<name>Thijs Paelman</name>
<email>thijs@ouroboros.rocks</email>
</author>
<published>2026-01-18T20:07:29+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/rumba/commit/?id=4e35c6b445d0cfbad9cf15a48f2d341e29dbd806'/>
<id>urn:sha1:4e35c6b445d0cfbad9cf15a48f2d341e29dbd806</id>
<content type='text'>
Record if the body of the ExperimentManager ran without any errors.
</content>
</entry>
</feed>
