aboutsummaryrefslogtreecommitdiff
path: root/rumba/elements
Commit message (Collapse)AuthorAgeFilesLines
* experiment: Move link rate setting to prototypeDimitri Staessens2021-07-191-25/+11
| | | | | | | Apparently I didn't test my final change for this feature when I moved it from the storyboard to the experiment. It didn't work, I tried to put it in the testbed class, but that was a mess, so for now it's moved to the prototype.
* exp: Add metrics and prototype update commandsDimitri Staessens2021-07-181-6/+82
| | | | | | This adds a couple of commands to start/stop metrics exporter, set link rate on virtual wall, and updating the prototype from git, which is useful in interactive mode.
* experiment: Add build_options and add_packagesDimitri Staessens2019-04-041-0/+6
| | | | | | | This adds parameters build_options and add_packages that allows passing additional packages to install and a string of flags that can be processed by the prototypes. In the case of the Ouroboros prototype, it passes CMake build options.
* elements: Remove distinction between mgmt and dt flowsSander Vrijders2018-07-271-43/+20
| | | | | | This will remove the distinction between mgmt and dt flows since Rumba allows setting up connections between IPCP at a very high level anyway.
* testbeds: Abstract away use of http proxy serverSander Vrijders2018-06-282-7/+0
| | | | | | | | Certain testbeds use a proxy to access the outside world. Due to recent changes this was not working anymore. This takes a different approach to re-enable this. It simply adds the lines to /etc/profile after swap-in so that the proxy is added to every shell upon execution.
* elements: Add terminate prototype and reboot nodesSander Vrijders2018-06-121-3/+14
| | | | | | | This adds functions to terminate the prototype gracefully or forcefully, and to reboot all nodes in the experiment. This is useful when running the experiment interactively, so swapping out and back in is not always required.
* elements: Rename dt_connected to edges coveredSander Vrijders2018-06-061-15/+15
| | | | | | | This addresses the comments by Vincenzo on MR 160. Also adds an extra check to avoid duplicate DT or enrollment flows when using full mesh. Fixes #57
* sb + our: add server_decorator functionality and our decoratorMarco Capitani2018-06-061-1/+9
|
* storyboard: Add function to export flows statsSander Vrijders2018-06-051-0/+4
| | | | | | | | | | This adds a function to export the bytes sent by flows in a certain DIF. It is implemented within the storyboard, which calls an abstract function in the Experiment class so that every prototype can implement it in its own specific way. This commit adds the implementation for Ouroboros. It exports it to a csv, with the first item the source IPCP, the second the destination IPCP and then the bytes sent on the flow.
* storyboard: Allow destroying of a DIFSander Vrijders2018-06-011-0/+4
| | | | | This allows the destroying of a DIF while the experiment is running. This to ease the emulation of failures in the network.
* elements: Fix bad docstringSander Vrijders2018-05-241-1/+1
| | | | This fixes a bad docstring in the export_dif_graph function.
* elements: Add exporting of DIF graphsSander Vrijders2018-05-151-36/+112
| | | | | | This adds the feature to allow to export a DIF graph to PDF. Enrollments are shown as black, management flows as blue and data transfer flows as red.
* elements: Add exporting connectivity graph to PDFSander Vrijders2018-05-141-3/+62
| | | | | This allows for exporting the connectivity graph to a PDF, which can be used in papers, deliverables, ...
* elements: Allow exporting to DMS YAMLSander Vrijders2018-05-092-0/+27
| | | | | This allows for exporting the experiment to a YAML format which is parsable by the DMS.
* storyboard: fix Event calling get_e_id alwaysMarco Capitani2018-05-091-0/+4
| | | | | | | | | | This fixes the behaviour of the Event class which would always call get_e_id and fail if the action is a pure function or not the method of a SBEntity. Now it will simply output a warning if the event is written (because it won't be readable as-is) On top of that, all DIFs are now scriptable, and some small fixes and cleanups.
* elements: Experiment: add missing dt_strategy argumentVincenzo Maffione2018-05-081-4/+9
|
* elements: Experiment: add missing enrollment_strategy argumentVincenzo Maffione2018-05-081-2/+8
| | | | | | This is necessary to enable scripts to use full-mesh or manual enrollment strategies. Fixes #54.
* experimentation: Fixed ordering of DT-flowsNick Aerts2018-04-241-5/+8
| | | | | | | The ordering of the DT-flows was causing issues when using full-mesh mode due to creating a disconnected graph of DT-flows. Changed the implementation to first create the MST-based flows and then augmenting these flows with the full-mesh flows.
* topology: accept float as delay parameterMarco Capitani2018-04-241-2/+2
| | | | | Before this would strictly accept only ints. Now it accepts floats and then rounds them, avoiding nasty surprises
* rumba: Update copyright on license headersSander Vrijders2018-04-233-8/+29
| | | | | This updates the copyright on the license headers to that it is extended to the current year.
* topology: fix rate-limiting using class-based Qdiscs and HTBEduard2018-04-231-18/+25
|
* model: add parameter for not adding default cubesMarco Capitani2018-04-121-1/+8
|
* model & irati: add QOS cubesMarco Capitani2018-04-121-0/+39
| | | | | Fixes #45 Only implemented in IRATI, other prototypes warn and ignore.
* model: split model into two filesMarco Capitani2018-03-293-0/+1408
Changed `rumba.model` into a namespace, moved business logic inside the rumba.elements package