This example shows how to connect nodes in interesting ways and how to assign addresses.
The topology is composed of 3 enclaves
charlie. Each enclave is
interconnected through a router or a gateway device.
Model Encoded vs Reticulated Addresses
In this example we programmatically assign addresses to most of the topology and then use the routing reticulator to fill in the rest. A reticulator is a MergeTB element that augments topologies with additional information automatically. This topology is actually using two reticulators:
addressing == ipv4: ensures that all experiment interfaces get an IPv4 address and that all link level neighbors reside on the same subnet.
routing == static: computes a static routing table for the experiment that is set up at materialization time.
The combination of these two reticulators together with the addressing data encoded directly into the model ensure that all nodes in this experiment will be able to talk to each other out of the box at materialization time.