#
# This ini file runs Telnet sessions on the NClients network, using
# TelnetApp+TCPGenericSrvApp.
#
# See also fileTransfer.ini and basicHTTP.ini for different kinds of
# network traffic.
#

[General]
tkenv-plugin-path = ../../../etc/plugins

# number of client computers
*.n = 1

[Config TCP_APP]

# tcp apps
**.cli[*].numTcpApps = 1
**.cli[*].tcpApp[*].typename = "TelnetApp"
**.cli[0].tcpApp[0].localAddress = "aaaa:b::8aa:ff:fe00:7" #is this the source addr of the client's TCP app?
**.cli[1].tcpApp[0].localAddress = "aaaa:b::8aa:ff:fe00:8"
**.cli[0].tcpApp[0].localPort = -1
**.cli[1].tcpApp[0].localPort = -1
**.cli[*].tcpApp[0].connectAddress = "srv"
#**.cli[*].tcpApp[0].connectAddress="bbbb::"
**.cli[0].tcpApp[0].connectPort = 1000 #same destination port numbers
**.cli[1].tcpApp[0].connectPort = 1000 #same destination port numbers

**.cli[*].tcpApp[0].startTime = uniform(10s,15s)
**.cli[*].tcpApp[0].numCommands = exponential(1)
**.cli[*].tcpApp[0].commandLength = exponential(1B)
**.cli[*].tcpApp[0].keyPressDelay = exponential(0.1s)
**.cli[*].tcpApp[0].commandOutputLength = exponential(40B)
**.cli[*].tcpApp[0].thinkTime = truncnormal(2s,3s)
**.cli[*].tcpApp[0].idleInterval = truncnormal(3600s,1200s)
**.cli[*].tcpApp[0].reconnectInterval = 30s

**.srv.numTcpApps = 1
**.srv.tcpApp[*].typename = "TCPGenericSrvApp"
**.srv.tcpApp[0].localAddress = ""
**.srv.tcpApp[0].localPort = 1000
**.srv.tcpApp[0].replyDelay = 0
#**.srv.tcpApp[1].localAddress=""  #created another one but unused for now
#**.srv.tcpApp[1].localPort=3168
#**.srv.tcpApp[1].replyDelay = 0

# tcp settings
**.tcpApp[*].dataTransferMode = "object"

[Config SCTP_APP]
description = SCTP apps via IPv6

**.cli[*].numSctpApps = 1
**.cli[*].sctpApp[*].typename = "SCTPClient"
**.cli[*].sctpApp[0].localAddress = ""
**.cli[*].sctpApp[0].connectAddress = "srv"
**.cli[*].sctpApp[0].connectPort = 1000
**.cli[*].sctpApp[0].startTime = 5s + exponential(4s) # The startTime must be later than IPv6 needs
                                                 # to initialize the routing (at least 2 seconds)
**.cli[*].sctpApp[0].numRequestsPerSession = 2
**.cli[*].sctpApp[0].requestLength = 1000
**.cli[*].sctpApp[0].thinkTime = exponential(1s)
**.cli[*].sctpApp[0].queueSize = 0

**.pcapRecorder[0].moduleNamePatterns="ppp[*]"
**.cli[0].numPcapRecorders=1
**.cli[0].pcapRecorder[0].pcapFile="results/client.pcap"

**.srv.numSctpApps = 1
**.srv.sctpApp[*].typename = "SCTPServer"
**.srv.sctpApp[*].localAddress = ""
**.srv.sctpApp[0].localPort = 1000
**.srv.sctpApp[0].numPacketsToReceivePerClient = 2

**.srv.numPcapRecorders=1
**.srv.pcapRecorder[0].pcapFile="results/srv.pcap"

[Config PPP]
description = "PPP network"
extends = TCP_APP
network = NClientsPPP

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

[Config ETH]
description = "ETH network"
extends = TCP_APP
network = NClientsEth

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

#**.eth[*].mac.txrate = 10Mbps
**.eth[*].mac.duplexMode = true

[Config PPP_SCTP]
description = "SCTP apps via IPv6 over PPP"
extends = SCTP_APP
network = NClientsPPP

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