Commit 6b02317d authored by Simon Redman's avatar Simon Redman

Add documentation for add_routable_ipv6_addrs

parent 3a1ea1e2
......@@ -27,21 +27,34 @@ The topology is parsed using the information in `/var/emulab/boot/topomap` to ge
For description of the non-standard fields used, see the NetworkGraph section of this document
#### 2. add_quagga_user.py
This is an executable library which has a single method: `add_quagga_user_to_network`, which SSHes to every requested host and adds a user named `quagga`. It might make sense to obsolete this script by baking the quagga user into the Emulab image.
This is an executable library which has a single method: `add_quagga_user_to_network`, which SSHes to every requested host and adds a user named `quagga`.
It might make sense to obsolete this script by baking the quagga user into the Emulab image.
#### 3. add_routable_ipv6_addrs.py
This is an executable library which provides several methods for gathering the necessary information to construct IPv6 Unique Local Addresses, construct them, and push them to the hosts
The suggested usage is:
- Construct a NetJSON NetworkGraph using topomap_parser
- Use the [netdiff](https://github.com/ninuxorg/netdiff) library to convert the NetJSON to a networkx graph
- Use ssh_helper to log in to each host in the network and annotate the graph
- Use the annotated graph to call parse_local_interface_addresses and parse_ipv4_networks
- Use the results from the previous calls to call construct_ULAs
- Use the result of construct_ULAs and the network graph to call add_ULAs_to_hosts
- Use ssh_helper to log out of each host in the network
## TODO
Once this codebase is finished, this section should go away. But great works are never finished, merely abandoned.
The basic goal is to take all the scripts from <https://gitlab.flux.utah.edu/safeedge/sripv6-linux> and convert them to not assume anything about the experiment topology
1. Replace `add_global_ipv6.sh`
1. Replace `install_default_route_on_hosts.sh`
2. Replace `create_all_zebra_conf.sh`
3. Replace `create_all_ospf_conf.sh`
4. Replace `install_default_route_on_hosts.sh`
5. Replace `enable_sr_flags.sh` -- This might be best done by building an image which already has this kernel setting set
6. Replace `start_all_ovs.sh`
7. Replace `start_all_ospf_monitor.sh`
8. Write top-level script which runs all previous scripts in an easy-to-use way
4. Replace `enable_sr_flags.sh` -- This might be best done by building an image which already has this kernel setting set
5. Replace `start_all_ovs.sh`
6. Replace `start_all_ospf_monitor.sh`
7. Write top-level script which runs all previous scripts in an easy-to-use way
## NetworkGraph
For the most part, standard NetJSON NetworkGraph fields are used, and those are documented [here](http://netjson.org/rfc.html#rfc.section.4)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment