def METHOD_NAME(self, emulator: Emulator):
    """!
    @brief Configure SCION routing on router, control service and host
    nodes.
    """
    super().METHOD_NAME(emulator)
    reg = emulator.getRegistry()
    base_layer: ScionBase = reg.get('seedemu', 'layer', 'Base')
    assert issubclass(base_layer.__class__, ScionBase)
    isd_layer: ScionIsd = reg.get('seedemu', 'layer', 'ScionIsd')
    reg = emulator.getRegistry()
    for ((scope, type, name), obj) in reg.getAll().items():
        if type in ['rnode', 'csnode', 'hnode']:
            node: Node = obj
            asn = obj.getAsn()
            as_: ScionAutonomousSystem = base_layer.getAutonomousSystem(asn)
            isds = isd_layer.getAsIsds(asn)
            assert len(isds) == 1, f"AS {asn} must be a member of exactly one ISD"
            # Install AS topology file
            as_topology = as_.getTopology(isds[0][0])
            node.setFile("/etc/scion/topology.json", json.dumps(as_topology, indent=2))
            self.__provision_base_config(node)
        if type == 'rnode':
            rnode: ScionRouter = obj
            self.__provision_router_config(rnode)
        elif type == 'csnode':
            csnode: Node = obj
            self._provision_cs_config(csnode)