[General]
network = FatTreeTopology
sim-time-limit = 5min
seed-set = ${runnumber}
debug-on-errors = true
#
# Appliction entities naming:
#
**.Server1.applicationProcess1.apName = "App1"
**.Server2.applicationProcess1.apName = "App2"
**.Server3.applicationProcess1.apName = "App3"
**.Server4.applicationProcess1.apName = "App4"
**.applicationEntity.aeType = "AEPing"
**.iae.aeName = "Ping"
#
# Server instances addressing:
#
# Shims:
**.Server1.ipcProcess0.difName = "T1S1"
**.Server1.ipcProcess0.ipcAddress = "2"
# DataCenter wide DIF.
**.Server1.ipcProcess1.difName = "DC"
**.Server1.ipcProcess1.ipcAddress = "S1"
# Shims:
**.Server2.ipcProcess0.difName = "T1S2"
**.Server2.ipcProcess0.ipcAddress = "2"
# DataCenter wide DIF.
**.Server2.ipcProcess1.difName = "DC"
**.Server2.ipcProcess1.ipcAddress = "S2"
# Shims:
**.Server3.ipcProcess0.difName = "T2S3"
**.Server3.ipcProcess0.ipcAddress = "2"
# DataCenter wide DIF.
**.Server3.ipcProcess1.difName = "DC"
**.Server3.ipcProcess1.ipcAddress = "S3"
# Shims:
**.Server4.ipcProcess0.difName = "T2S4"
**.Server4.ipcProcess0.ipcAddress = "2"
# DataCenter wide DIF.
**.Server4.ipcProcess1.difName = "DC"
**.Server4.ipcProcess1.ipcAddress = "S4"
#
# TOR instances addressing:
#
# Shims to aggregators:
**.TOR1.ipcProcess0.difName = "A1T1"
**.TOR1.ipcProcess0.ipcAddress = "2"
**.TOR1.ipcProcess1.difName = "A2T1"
**.TOR1.ipcProcess1.ipcAddress = "2"
# Shims to servers:
**.TOR1.ipcProcess2.difName = "T1S1"
**.TOR1.ipcProcess2.ipcAddress = "1"
**.TOR1.ipcProcess3.difName = "T1S2"
**.TOR1.ipcProcess3.ipcAddress = "1"
# DataCenter wide DIF.
**.TOR1.relayIpc.difName = "DC"
**.TOR1.relayIpc.ipcAddress = "TOR1"
# Shims to aggregators:
**.TOR2.ipcProcess0.difName = "A1T2"
**.TOR2.ipcProcess0.ipcAddress = "2"
**.TOR2.ipcProcess1.difName = "A2T2"
**.TOR2.ipcProcess1.ipcAddress = "2"
# Shims to servers:
**.TOR2.ipcProcess2.difName = "T2S3"
**.TOR2.ipcProcess2.ipcAddress = "1"
**.TOR2.ipcProcess3.difName = "T2S4"
**.TOR2.ipcProcess3.ipcAddress = "1"
# DataCenter wide DIF.
**.TOR2.relayIpc.difName = "DC"
**.TOR2.relayIpc.ipcAddress = "TOR2"
#
# Aggregators instances addressing:
#
# Shims:
**.AS1.ipcProcess0.difName = "A1T1"
**.AS1.ipcProcess0.ipcAddress = "1"
**.AS1.ipcProcess1.difName = "A1T2"
**.AS1.ipcProcess1.ipcAddress = "1"
# DataCenter wide DIF.
**.AS1.relayIpc.difName = "DC"
**.AS1.relayIpc.ipcAddress = "AS1"
# Shims:
**.AS2.ipcProcess0.difName = "A2T1"
**.AS2.ipcProcess0.ipcAddress = "1"
**.AS2.ipcProcess1.difName = "A2T2"
**.AS2.ipcProcess1.ipcAddress = "1"
# DataCenter wide DIF.
**.AS2.relayIpc.difName = "DC"
**.AS2.relayIpc.ipcAddress = "AS2"
#
# Policy selection for DC Dif.
#
**.Server*.ipcProcess1.resourceAllocator.pduftgPolicyName = "DistanceVectorPolicy"
**.Server*.ipcProcess1.resourceAllocator.pduFwdTabGenerator.netStateVisible = true
**.Server*.ipcProcess1.resourceAllocator.pduFwdTabGenerator.netStateMod = "^.^.^"
**.TOR*.relayIpc.resourceAllocator.pduftgPolicyName = "DistanceVectorPolicy"
**.TOR*.relayIpc.resourceAllocator.pduFwdTabGenerator.netStateVisible = true
**.TOR*.relayIpc.resourceAllocator.pduFwdTabGenerator.netStateMod = "^.^.^"
**.AS*.relayIpc.resourceAllocator.pduftgPolicyName = "DistanceVectorPolicy"
**.AS*.relayIpc.resourceAllocator.pduFwdTabGenerator.netStateVisible = true
**.AS*.relayIpc.resourceAllocator.pduFwdTabGenerator.netStateMod = "^.^.^"
#
# DIF Allocator settings
#
**.Server1.difAllocator.configData = xmldoc("config.xml", "Configuration/Switch[@id='AS1']/DA")
**.Server2.difAllocator.configData = xmldoc("config.xml", "Configuration/Switch[@id='AS1']/DA")
**.Server3.difAllocator.configData = xmldoc("config.xml", "Configuration/Switch[@id='AS1']/DA")
**.Server4.difAllocator.configData = xmldoc("config.xml", "Configuration/Switch[@id='AS1']/DA")
**.TOR1.difAllocator.configData = xmldoc("config.xml", "Configuration/Switch[@id='AS1']/DA")
**.TOR2.difAllocator.configData = xmldoc("config.xml", "Configuration/Switch[@id='AS1']/DA")
**.AS1.difAllocator.configData = xmldoc("config.xml", "Configuration/Switch[@id='AS1']/DA")
**.AS2.difAllocator.configData = xmldoc("config.xml", "Configuration/Switch[@id='AS1']/DA")
#
# Directory settings
#
**.Server1.difAllocator.directory.configData= xmldoc("config.xml", "Configuration/Switch[@id='AS1']/DA")
**.Server2.difAllocator.directory.configData= xmldoc("config.xml", "Configuration/Switch[@id='AS1']/DA")
**.Server3.difAllocator.directory.configData= xmldoc("config.xml", "Configuration/Switch[@id='AS1']/DA")
**.Server4.difAllocator.directory.configData= xmldoc("config.xml", "Configuration/Switch[@id='AS1']/DA")
**.TOR1.difAllocator.directory.configData = xmldoc("config.xml", "Configuration/Switch[@id='AS1']/DA")
**.TOR2.difAllocator.directory.configData = xmldoc("config.xml", "Configuration/Switch[@id='AS1']/DA")
**.AS1.difAllocator.directory.configData = xmldoc("config.xml", "Configuration/Switch[@id='AS1']/DA")
**.AS2.difAllocator.directory.configData = xmldoc("config.xml", "Configuration/Switch[@id='AS1']/DA")
#
# QoS Cube sets.
#
**.ra.qoscubesData = xmldoc("config.xml", "Configuration/QoSCubesSet")
#
# Preallocated flow on hosts:
#
**.Server1.ipcProcess1.resourceAllocator.ra.flows = xmldoc("config.xml", "Configuration/Server[@id='Server1']/IPC[@id='ipcProcess1']/RA/Flows")
**.Server2.ipcProcess1.resourceAllocator.ra.flows = xmldoc("config.xml", "Configuration/Server[@id='Server2']/IPC[@id='ipcProcess1']/RA/Flows")
**.Server3.ipcProcess1.resourceAllocator.ra.flows = xmldoc("config.xml", "Configuration/Server[@id='Server3']/IPC[@id='ipcProcess1']/RA/Flows")
**.Server4.ipcProcess1.resourceAllocator.ra.flows = xmldoc("config.xml", "Configuration/Server[@id='Server4']/IPC[@id='ipcProcess1']/RA/Flows")
**.TOR1.relayIpc.resourceAllocator.ra.flows = xmldoc("config.xml", "Configuration/Switch[@id='TOR1']/IPC[@id='relayIpc']/RA/Flows")
**.TOR2.relayIpc.resourceAllocator.ra.flows = xmldoc("config.xml", "Configuration/Switch[@id='TOR2']/IPC[@id='relayIpc']/RA/Flows")
[Config FatTreeTopology]
fingerprint = "b4e5-51e7"
#
# AEs don't do anything. We're only evaluating the routing table now.
#
**.Server1.applicationProcess1.applicationEntity.iae.dstApName = "App3"
**.Server1.applicationProcess1.applicationEntity.iae.dstAeName = "Ping"
**.Server1.applicationProcess1.applicationEntity.iae.startAt = 130s
**.Server1.applicationProcess1.applicationEntity.iae.pingAt = 140s
**.Server1.applicationProcess1.applicationEntity.iae.rate = 5
**.Server1.applicationProcess1.applicationEntity.iae.stopAt = 200s