Skip to content

Sub Topologies | Topology Syntax Guide

mike edited this page Oct 26, 2019 · 1 revision

Sub Topologies are topologies created/instantiated within a Topology. They appear under the 'topology' or 'topologies' flag in a topology. Sub Topologies can have IP Offsets applied, are positionable, and rotatable.

Templating

Usually, sub topologies will inherit attributes from a template topology (declared within another file) via the 'template' tag. If a topology template is used, sub topologies MAY NOT declare nodes, links, ifacesAccepted/Provided, or any of the other typical topology tags. A sub topology inheriting from a template only supports:

Templated Sub Topology Flags Supported

  • position[s]: center point of sub topology, map of time: x y z or static x y z location
  • rotation: rotation to apply to nodes within topology, does not affect positions declared on this level
  • offset: IP Offset to add to all IP addresses within topology

Non-Templated Sub Topology Flags Supported

Examples

A sub topology using a template, setting time-based positions, IP offset, and a rotation.

#...
topologies:
  - top1:
      template: topology16
      rotation: 90 # spin position of nodes within by 90 degrees counter-clockwise
      offset: 0.1.0.0
      positions:
        0: 10 0 0
        10: 30 5 0

A sub topology not using a template.

#...
topologies:
  - customTop:
      nodes:
        - node1:
            iface: eth0
      link:
        - link1:
            type: csma
            iface: node1 eth0 10.0.0.1
            ifacesAccepted:
              - link1_acceptor # this ifaceAcceptor can be ref'ed by the upper lvl top by 'customTop link1_acceptor' just like a normal sub topology's acceptor would be