mirror of
https://github.com/Wojtek242/route0.git
synced 2024-11-21 23:05:24 +01:00
Add CONTRIBUTING
This commit is contained in:
parent
03d12f5485
commit
b4b1e342ca
40
CONTRIBUTING.md
Normal file
40
CONTRIBUTING.md
Normal file
@ -0,0 +1,40 @@
|
||||
# Contributing
|
||||
|
||||
There are many ways to contribute to Route 0. If you are an expert in
|
||||
networking, you can look for and correct errors, improve the existing lessons,
|
||||
add new lessons, or add IPv6 support. Another way to contribute is to simply
|
||||
add new scenarios or topologies that you feel would be interesting for others.
|
||||
|
||||
## Adding a new topology
|
||||
|
||||
Adding a new topology is straightforward.
|
||||
|
||||
1. Create a new directory in the `topology` directory.
|
||||
2. Create a `topo.py` file and define a class `NetTopo` that inherits from
|
||||
`mininet.topo.Topo` and build your new topology in its constructor.
|
||||
3. Create a `zebra` directory and populate it with configuration files for the
|
||||
`zebra` daemon to configure the interfaces in your topology.
|
||||
4. Create a `staticd` directory and populate it with configuration files for
|
||||
the `staticd` daemon to configure the default routes on hosts.
|
||||
5. Create a `README.md` file to describe your topology.
|
||||
|
||||
The easiest way to start would be to copy some other topology and customise it
|
||||
as appropriate. Once ready, the topology should be automatically detected by
|
||||
`route-0.py` when you pass your topology's name as the `--topology` argument.
|
||||
|
||||
## Adding a new scenario
|
||||
|
||||
By default all topologies support the `plain` and `basic` scenarios. Adding a
|
||||
additional scenarios is also pretty straightforward.
|
||||
|
||||
1. In the topology's directory, make sure there is a `scenario` directory.
|
||||
Create one if it doesn't exist.
|
||||
2. In the `scenario` directory create a new directory for your specific
|
||||
scenario.
|
||||
3. In your new directory create one directory for each daemon you intend to
|
||||
run. You don't need to do this for `zebra` or `staticd` unless you want to
|
||||
override the topology defaults.
|
||||
|
||||
Just like with the topology, the main script should automatically pick up the
|
||||
new scenario.
|
||||
|
Loading…
Reference in New Issue
Block a user