[Config default_tcp]
description = "default_TCP <---> default_TCP"

[Config inet__inet]
description = "inet_TCP <---> inet_TCP"
# default TCP implementation
**.tcpType = "TCP"

[Config inet__inet_msg]
description = "inet_TCP <---> inet_TCP"
# default TCP implementation
**.tcpType = "TCP"
**.tcpApp[*].dataTransferMode = "object" # bytecount | object | bytestream

[Config inet__inet_stream]
description = "inet_TCP <---> inet_TCP"
# default TCP implementation
**.tcpType = "TCP"
**.tcpApp[*].dataTransferMode = "bytestream" # bytecount | object | bytestream

[Config NSClinux__NSClinux]
description = "NSC_TCP (Linux) <---> NSC_TCP (Linux)"
# setting TCP stack implementation
**.tcpType = "TCP_NSC"

[Config NSClinux__NSClinux_stream]
description = "NSC_TCP (Linux) <---> NSC_TCP (Linux)"
# setting TCP stack implementation
**.tcpType = "TCP_NSC"
**.tcpApp[*].dataTransferMode = "bytestream" # bytecount | object | bytestream

[Config NSClinux__NSCfreebsd]
description = "NSC_TCP (Linux) <---> NSC_TCP (FreeBSD)"
# setting TCP stack implementation
**.tcpType = "TCP_NSC"
**.client*.tcp.stackName = "libfreebsd5.3.so"

[Config NSCfreebsd__NSCfreebsd]
description = "NSC_TCP (FreeBSD) <---> NSC_TCP (FreeBSD)"
# setting TCP stack implementation
**.tcpType = "TCP_NSC"
**.tcp.stackName = "libfreebsd5.3.so"

[Config NSClwip__inet]
description = "NSC_TCP (lwIP) <---> inet_TCP"
# setting TCP stack implementation
**.server*.tcpType = "TCP_NSC"
**.server*.tcp.stackName = "liblwip.so"
**.client*.tcpType = "TCP"

[Config inet__NSClinux]
description = "inet_TCP <---> NSC_TCP (linux)"
# setting TCP stack implementation
**.server*.tcpType = "TCP"
**.client*.tcpType = "TCP_NSC"

[Config lwip__lwip]
description = "TCP_lwIP <---> TCP_lwIP"
# setting TCP stack implementation
**.tcpType = "TCP_lwIP"

[Config lwip__inet]
description = "TCP_lwIP <---> inet_TCP"
# setting TCP stack implementation
**.server*.tcpType = "TCP_lwIP"
**.client*.tcpType = "TCP"

[Config lwip__lwip__msg]
description = "TCP_lwIP <---> TCP_lwIP"
# setting TCP stack implementation
**.tcpType = "TCP_lwIP"
#**.tcp.sendQueueClass = "TcpLwipMsgBasedSendQueue"
#**.tcp.receiveQueueClass = "TcpLwipMsgBasedReceiveQueue"
**.tcpApp[*].dataTransferMode = "object" # bytecount | object | bytestream

[Config lwip__lwip__stream]
description = "TCP_lwIP <---> TCP_lwIP"
# setting TCP stack implementation
**.tcpType = "TCP_lwIP"
#**.tcp.sendQueueClass = "TcpLwipMsgBasedSendQueue"
#**.tcp.receiveQueueClass = "TcpLwipMsgBasedReceiveQueue"
**.tcpApp[*].dataTransferMode = "bytestream" # bytecount | object | bytestream

[Config inet__lwip]
description = "inet_TCP <---> TCP_lwIP"
# setting TCP stack implementation
**.server*.tcpType = "TCP"
**.client*.tcpType = "TCP_lwIP"

[Config inet-reno]
description = "TCP <---> TCP with reno algorithm"
*.server*.tcpType = "TCP"
*.client*.tcpType = "TCP"
**.tcp.tcpAlgorithmClass = "TCPReno"
*.per = 0.01 * ${0, 0.1, 0.2, 0.5, 1, 2, 5}
*.server*.tcpApp[0].echoFactor = 0

[Config inet-newreno]
description = "TCP <---> TCP with NewReno algorithm"
*.server*.tcpType = "TCP"
*.client*.tcpType = "TCP"
**.tcp.tcpAlgorithmClass = "TCPNewReno"
*.per = 0.01 * ${0, 0.1, 0.2, 0.5, 1, 2, 5}
*.server*.tcpApp[0].echoFactor = 0

[Config inet-tahoe]
description = "TCP <---> TCP with Tahoe algorithm"
*.server*.tcpType = "TCP"
*.client*.tcpType = "TCP"
**.tcp.tcpAlgorithmClass = "TCPReno"
*.per = 0.01 * ${0, 0.1, 0.2, 0.5, 1, 2, 5}
*.server*.tcpApp[0].echoFactor = 0

[Config inet-vegas]
description = "TCP <---> TCP with Vegas algorithm"
*.server*.tcpType = "TCP"
*.client*.tcpType = "TCP"
**.tcp.tcpAlgorithmClass = "TCPVegas"
*.per = 0.01 * ${0, 0.1, 0.2, 0.5, 1, 2, 5}
*.server*.tcpApp[0].echoFactor = 0

[Config inet-westwood]
description = "TCP <---> TCP with Westwood algorithm"
*.server*.tcpType = "TCP"
*.client*.tcpType = "TCP"
**.tcp.tcpAlgorithmClass = "TCPWestwood"
*.per = 0.01 * ${0, 0.1, 0.2, 0.5, 1, 2, 5}
*.server*.tcpApp[0].echoFactor = 0

[Config inet-dumb]
description = "inet_TCP <---> inet_TCP with DumbTCP algorithm"
*.server*.tcpType = "TCP"
*.client*.tcpType = "TCP"
**.tcp.tcpAlgorithmClass = "DumbTCP"
*.per = 0.01 * ${0, 0.1, 0.2, 0.5, 1, 2, 5}
*.server*.tcpApp[0].echoFactor = 0


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

[General]
network = ClientServer
total-stack = 7MiB
tkenv-plugin-path = ../../../etc/plugins
#debug-on-errors = true
#record-eventlog = true
**.server.numPcapRecorders = 1
**.server.pcapRecorder[0].pcapFile = "results/server.pcap"
**.client1.numPcapRecorders = 1
**.client1.pcapRecorder[0].pcapFile = "results/client1.pcap"

## tcp apps
**.numTcpApps = 1
**.client*.tcpApp[*].typename = "TCPSessionApp"
**.client*.tcpApp[0].active = true
#**.client*.tcpApp[0].localAddress = "10.0.0.1"
#**.client*.tcpApp[0].localAddress = "192.168.1.1"
**.client*.tcpApp[0].localPort = -1
**.client*.tcpApp[0].connectAddress = "server"
**.client*.tcpApp[0].connectPort = 1000
**.client*.tcpApp[0].tOpen = 0.2s
**.client*.tcpApp[0].tSend = 0.4s
**.client*.tcpApp[0].sendBytes = 1000000B
**.client*.tcpApp[0].sendScript = ""
**.client*.tcpApp[0].tClose = 25s

# tcp apps
#**.numTcpApps = 1
#**.client*.tcpApp[*].typename = "TCPBasicClientApp"
#**.client*.tcpApp[0].active = true
##**.client*.tcpApp[0].localAddress = "10.0.0.1"
##**.client*.tcpApp[0].localAddress = "192.168.1.1"
#**.client*.tcpApp[0].localPort = -1
#**.client*.tcpApp[0].connectAddress = "server"
#**.client*.tcpApp[0].connectPort = 1000
#**.client*.tcpApp[0].tOpen = 0.2s
#**.client*.tcpApp[0].tSend = 0.4s
#**.client*.tcpApp[0].sendBytes = 1000000B
#**.client*.tcpApp[0].idleInterval = 3s
#**.client*.tcpApp[0].thinkTime = 0s


#**.server*.tcpApp[*].typename="TCPSinkApp"
**.server*.tcpApp[*].typename = "TCPEchoApp"
#**.server*.tcpApp[0].localAddress = "10.0.0.2"
#**.server*.tcpApp[0].localAddress = "192.168.1.2"
**.server*.tcpApp[0].localPort = 1000
**.server*.tcpApp[0].echoFactor = 2.0
**.server*.tcpApp[0].echoDelay = 0

# NIC configuration
**.ppp[*].queueType = "DropTailQueue" # in routers
**.ppp[*].queue.frameCapacity = 10  # in routers

#*.configurator.networkAddress = "10.0.0.0"
*.configurator.config=xml("<config><interface hosts='*' address='192.168.1.x' netmask='255.255.255.0'/></config>")

