[General]
tkenv-plugin-path = ../../../etc/plugins
sim-time-limit = 100d

**.radio.displayCommunicationRange = true

*.visualizer.dataLinkVisualizer.packetFilter = "ping*"
*.visualizer.dataLinkVisualizer.lineStyle = "dotted"
#*.visualizer.networkRouteVisualizer.packetFilter = "ping*"

[Config WiredDHCP]
description = Hosts configured via DHCP
network = WiredNetWithDHCP
*.numHosts = 10
**.numUdpApps = 1

**.client[*].udpApp[0].typename = "DHCPClient"
**.client[*].udpApp[0].startTime = uniform(0s, 1s)

**.server.udpApp[0].typename = "DHCPServer"
**.server.udpApp[0].numReservedAddresses = 100    # ip to start to lease
**.server.udpApp[0].maxNumClients = 100     # number of ip to lease
**.server.udpApp[0].gateway = "192.168.1.1"     # gateway to assign
**.server.udpApp[0].leaseTime = 1000s     # lease time in seconds

[Config WirelessDHCP]
description = Wireless hosts configured via DHCP
network = WirelessNetWithDHCP

**.mobility.constraintAreaMinX = 0m
**.mobility.constraintAreaMinY = 0m
**.mobility.constraintAreaMinZ = 0m
**.mobility.constraintAreaMaxX = 500m
**.mobility.constraintAreaMaxY = 500m
**.mobility.constraintAreaMaxZ = 0m

**.configurator.config = xml("<config><interface hosts='gateway' names='eth0' address='192.168.0.1' netmask='255.255.255.0'/><interface names='eth*' address='192.168.x.x' netmask='255.255.255.0'/></config>")
**.numHosts = 1

# DHCP client in the wireless hosts
**.client[*].numUdpApps = 1
**.client[*].udpApp[0].typename = "DHCPClient"
**.client[*].numPingApps = 1
**.client[*].pingApp[0].destAddr = "remote"
**.client[*].pingApp[0].startTime = 3s

# DHCP server for the wireless network 
**.dhcpServer.numUdpApps = 1
**.dhcpServer.udpApp[0].typename = "DHCPServer"
**.dhcpServer.udpApp[0].numReservedAddresses = 10    # ip to start to lease
**.dhcpServer.udpApp[0].maxNumClients = 100
**.dhcpServer.udpApp[0].gateway = "192.168.0.1"
**.dhcpServer.udpApp[0].leaseTime = 100s

[Config Wireless2DHCP]
description = Wireless hosts configured via DHCP
network = WirelessNetWith2DHCP
**.numHosts = 1

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

**.configurator.config = xml(" \
    <config> \
        <interface hosts='dhcpServer1' names='eth0' address='192.168.1.1' netmask='255.255.255.0'/> \
        <interface hosts='dhcpServer2' names='eth0' address='192.168.2.1' netmask='255.255.255.0'/> \
        <interface among='server dhcpServer1' address='192.168.3.x' netmask='255.255.255.0'/> \
        <interface among='server dhcpServer2' address='192.168.4.x' netmask='255.255.255.0'/> \
        <wireless hosts='client'/> \
        <route hosts='server' destination='192.168.1.0' netmask='255.255.255.0' gateway='dhcpServer1' /> \
        <route hosts='server' destination='192.168.2.0' netmask='255.255.255.0' gateway='dhcpServer2' /> \
    </config> \
    ")

# DHCP client in the wireless hosts
**.client.numUdpApps = 1
**.client.udpApp[0].typename = "DHCPClient"
**.client.numPingApps = 1
**.client.pingApp[0].destAddr = "server"
**.client.pingApp[0].startTime = 3s
**.client.mobilityType = "RectangleMobility"
**.client.mobilityType = "RectangleMobility"
**.client.mobility.constraintAreaMinX = 60m
**.client.mobility.constraintAreaMinY = 100m
**.client.mobility.constraintAreaMaxX = 540m
**.client.mobility.constraintAreaMaxY = 150m
**.client.mobility.startPos = 0
**.client.mobility.speed = 20mps

**.mobility.constraintAreaMinX = 0m
**.mobility.constraintAreaMinY = 100m
**.mobility.constraintAreaMinZ = 0m
**.mobility.constraintAreaMaxX = 600m
**.mobility.constraintAreaMaxY = 450m
**.mobility.constraintAreaMaxZ = 0m


# DHCP server for the wireless network 
**.dhcpServer1.numUdpApps = 1
**.dhcpServer1.udpApp[0].typename = "DHCPServer"
**.dhcpServer1.udpApp[0].interface = "eth0"
**.dhcpServer1.udpApp[0].numReservedAddresses = 10    # ip to start to lease
**.dhcpServer1.udpApp[0].maxNumClients = 100
**.dhcpServer1.udpApp[0].leaseTime = 100s

**.dhcpServer2.numUdpApps = 1
**.dhcpServer2.udpApp[0].typename = "DHCPServer"
**.dhcpServer2.udpApp[0].interface = "eth0"
**.dhcpServer2.udpApp[0].numReservedAddresses = 10    # ip to start to lease
**.dhcpServer2.udpApp[0].maxNumClients = 100
**.dhcpServer2.udpApp[0].leaseTime = 100s

**.dhcpServer*.forwarding = true

[Config RebootingDHCP]
description = DHCP with rebooting host and server
network = DHCPShutdownReboot

**.hasStatus = true
**.scenarioManager.script = xmldoc("scenario.xml")

**.numUdpApps = 1

**.client.udpApp[0].typename = "DHCPClient"

**.server.udpApp[0].typename = "DHCPServer"
**.server.udpApp[0].numReservedAddresses = 100
**.server.udpApp[0].maxNumClients = 100
**.server.udpApp[0].gateway = "192.168.1.1"
**.server.udpApp[0].leaseTime = 150s
