[General]
# Configurator settings
*.configurator.dumpAddresses = true
*.configurator.dumpTopology = true
*.configurator.dumpLinks = true
*.configurator.dumpRoutes = true

# Routing settings
*.*.networkLayer.arpType = "GlobalARP"
*.*.routingTable.netmaskRoutes = ""

# Wireless settings
*.*.wlan[*].bitrate = 54Mbps

# Visualizer settings
*.visualizer.interfaceTableVisualizer.displayInterfaceTables = true
*.visualizer.interfaceTableVisualizer.nodeFilter = "not (*switch* or *Switch* or *AP*)"

######################################################################################################
[Config Step1]
network = ConfiguratorA
description = "Fully automatic IP address assignment"

######################################################################################################
[Config Step2]
network = ConfiguratorA
description = "Manually overriding individual IP addresses"

# Using inline XML configuration
*.configurator.config = xml("<config> \
                                <interface hosts='host3' names='eth0' address='10.0.0.100'/> \
                                <interface hosts='host1' names='eth0' address='10.0.0.50'/> \
                                <interface hosts='**' address='10.x.x.x' netmask='255.x.x.x'/> \
                             </config>")

######################################################################################################
[Config Step3]
network = ConfiguratorA
description = "Automatically assigning IP addresses to a subnet from a given range"

*.configurator.config = xmldoc("step3.xml")

######################################################################################################
[Config Step4]
network = ConfiguratorA
description = "Fully automatic static routing table configuration"

*.host1.numPingApps = 1
*.host1.pingApp[*].destAddr = "host7"

*.visualizer.routingTableVisualizer.displayRoutingTables = true
*.visualizer.routingTableVisualizer.destinationFilter = "host7"

######################################################################################################
[Config Step5A]
extends = Step4
description = "Manually overriding individual routes - route to a specific host"

*.configurator.config = xmldoc("step5a.xml")

*.host0.numPingApps = 1
*.host0.pingApp[*].destAddr = "host6"
*.host0.pingApp[*].startTime = 0.6s

######################################################################################################
[Config Step5B]
extends = Step4
description = "Manually overriding individual routes - route to a set of hosts"

*.configurator.config = xmldoc("step5b.xml")
*.configurator.optimizeRoutes = false

*.host0.numPingApps = 1
*.host0.pingApp[*].destAddr = "host6"
*.host0.pingApp[*].startTime = 0.6s

######################################################################################################
[Config Step6A]
extends = Step4
description = "Setting different metric for automatic routing table configuration - using dataRate metric"

*.configurator.config = xmldoc("step6a.xml")

*.visualizer.routingTableVisualizer.destinationFilter = "host1"

######################################################################################################
[Config Step6B]
extends = Step4
description = "Setting different metric for automatic routing table configuration - manually specifying link cost"

*.configurator.config = xmldoc("step6b.xml")

*.visualizer.routingTableVisualizer.destinationFilter = "host1"

######################################################################################################
[Config Step7A]
network = ConfiguratorB
description = "Configuring a hierarchical network - A: non optimized, fully automatic IP address assignment and static routes"

*.configurator.assignDisjunctSubnetAddresses = false
*.configurator.addDefaultRoutes = false
*.configurator.addSubnetRoutes = false
*.configurator.optimizeRoutes = false

######################################################################################################
[Config Step7B]
network = ConfiguratorB
description = "Configuring a hierarchical network - B: optimized, fully automatic IP address assignment and static routes"

######################################################################################################
[Config Step7C]
network = ConfiguratorB
description = "Configuring a hierarchical network - C: optimized, hierarchically asssigned IP addresses and static routes"

*.configurator.config = xmldoc("step7c.xml")

######################################################################################################
[Config Step8A]
network = ConfiguratorC
description = "Mixed wired/wireless network configuration - using <wireless> attribute"

*.configurator.config = xmldoc("step8a.xml")

*.area1lan3host2.numPingApps = 1
*.area1lan3host2.pingApp[*].destAddr = "area3lan3host2"

# visualizer settings
*.visualizer.routingTableVisualizer.displayRoutingTables = true
*.visualizer.routingTableVisualizer.destinationFilter = "area3lan3*"

*.visualizer.routingTableVisualizer.lineShift = 0

######################################################################################################
[Config Step8B]
extends = Step8A
description = "Mixed wired/wireless network configuration - using SSID"

*.configurator.config = xmldoc("step8b.xml")

*.area1AP.wlan[*].mgmt.ssid = "area1"
*.area3AP.wlan[*].mgmt.ssid = "area3"

*.area1lan3*.wlan[*].agent.default_ssid = "area1"
*.area3lan3*.wlan[*].agent.default_ssid = "area3"

######################################################################################################
[Config Step9]
network = ConfiguratorC
description = "Leaving some part of the network unconfigured"

# Configurator settings
*.configurator.config = xmldoc("step9.xml")

# SSID settings
*.area1AP.wlan[*].mgmt.ssid = "area1lan3"
*.area3AP.wlan[*].mgmt.ssid = "area3lan3"

*.area1lan3host*.wlan[*].agent.default_ssid = "area1lan3"
*.area3lan3host*.wlan[*].agent.default_ssid = "area3lan3"

# DHCP server in routers
*.area1router.hasDHCP = true
*.area1router.dhcp.typename = "DHCPServer"
*.area1router.dhcp.numReservedAddresses = 2
*.area1router.dhcp.leaseTime = 100s
*.area1router.dhcp.maxNumClients = 3
*.area1router.dhcp.interface = "eth3"

*.area2router.hasDHCP = true
*.area2router.dhcp.typename = "DHCPServer"
*.area2router.dhcp.numReservedAddresses = 2
*.area2router.dhcp.leaseTime = 100s
*.area2router.dhcp.maxNumClients = 3
*.area2router.dhcp.interface = "eth0"

*.area3router.hasDHCP = true
*.area3router.dhcp.typename = "DHCPServer"
*.area3router.dhcp.numReservedAddresses = 2
*.area3router.dhcp.leaseTime = 100s
*.area3router.dhcp.maxNumClients = 3
*.area3router.dhcp.interface = "eth3"

# DHCP in hosts
*.area1lan3*.numUdpApps = 1
*.area1lan3*.udpApp[0].typename = "DHCPClient"

*.area2lan1*.numUdpApps = 1
*.area2lan1*.udpApp[0].typename = "DHCPClient"

*.area3lan3*.numUdpApps = 1
*.area3lan3*.udpApp[*].typename = "DHCPClient"

# PingApp in host
*.area1lan3host2.numPingApps = 1
*.area1lan3host2.pingApp[*].destAddr = "area3lan3host2"
*.area1lan3host2.pingApp[*].startTime = 3s

# Visualizer settings
*.visualizer.routingTableVisualizer.displayRoutingTables = true
*.visualizer.routingTableVisualizer.destinationFilter = "area3lan3host2"

######################################################################################################
[Config Step10A]
network = ConfiguratorD
description = "Completely wireless network, static routing based on error rate metric"

*.configurator.config = xmldoc("step10a.xml")

*.*.wlan[*].radio.transmitter.power = 1mW

*.visualizer.routingTableVisualizer.displayRoutingTables = true
*.visualizer.routingTableVisualizer.labelFormat = ""
*.visualizer.routingTableVisualizer.lineShiftMode = "none"
*.visualizer.routingTableVisualizer.destinationFilter = "*"
*.visualizer.mediumVisualizer.displayCommunicationRanges = true

######################################################################################################
[Config Step10B]
extends = Step10A
description = "Completely wireless network, routing tables unconfigured, prepared for MANET routing"

*.configurator.addStaticRoutes = false

######################################################################################################
[Config Step10C]
extends = Step10B
description = "Completely wireless network, routing tables unconfigured, using AODV routing"

*.host1.numPingApps = 1
*.host1.pingApp[*].destAddr = "host7"

######################################################################################################
[Config Step11A]
network = ConfiguratorA
description = "Manually modifying an automatically created configuration - dumping the full configuration"

*.configurator.dumpConfig = "step11a_dump.xml"

*.visualizer.routingTableVisualizer.displayRoutingTables = true
*.visualizer.routingTableVisualizer.destinationFilter = "*"
*.visualizer.routingTableVisualizer.displayRoutesIndividually = false
*.visualizer.routingTableVisualizer.displayLabels = false
*.visualizer.routingTableVisualizer.lineShift = 0

######################################################################################################
[Config Step11B]
network = ConfiguratorA
description = "Manually modifying an automatically created configuration - using the modified configuration"

# Configurator settings
*.configurator.config = xmldoc("step11b.xml")
*.configurator.addStaticRoutes = false

# Ping settings
*.host1.numPingApps = 1
*.host1.pingApp[*].destAddr = "host4"

*.host4.numPingApps = 1
*.host4.pingApp[*].destAddr = "host7"

*.host7.numPingApps = 1
*.host7.pingApp[*].destAddr = "host1"

# Visualizer settings
*.visualizer.routingTableVisualizer.displayRoutingTables = true
*.visualizer.routingTableVisualizer.destinationFilter = "*"
*.visualizer.routingTableVisualizer.displayRoutesIndividually = false
*.visualizer.routingTableVisualizer.displayLabels = false
*.visualizer.routingTableVisualizer.lineShift = 0

######################################################################################################
[Config Step12]
network = ConfiguratorE
description = "Mixing different kinds of autorouting"

# Configurator settings
*.configurator.config = xmldoc("step12.xml")
*.configurator.optimizeRoutes = false

# Wireless node settings
*.*.wlan[*].radio.transmitter.power = 1mW
*.area1host*.forwarding = true
*.area1*.wlan[*].mgmtType = "Ieee80211MgmtAdhoc"

# pingApp settings
*.area1host1.numPingApps = 1
*.area1host1.pingApp[*].destAddr = "area2host1"

# Visualizer settings
*.visualizer.mediumVisualizer.displayCommunicationRanges = true
*.visualizer.routingTableVisualizer.displayRoutingTables = true
*.visualizer.routingTableVisualizer.displayRoutesIndividually = false
*.visualizer.routingTableVisualizer.displayLabels = false
*.visualizer.routingTableVisualizer.lineShift = 0
*.visualizer.routingTableVisualizer.destinationFilter = "*"

######################################################################################################
