[General] network = FlowMeasurementShowcase sim-time-limit = 5s #abstract-config = true (requires omnet 7) # interface *.*.ethernet.typename = "EthernetLayer" *.*.eth[*].typename = "LayeredEthernetInterface" *.*.eth[*].bitrate = 100Mbps *.*.eth[*].phyLayer.*Emitter.typename = "" # traffic sink *.server*.numApps = 1 *.server*.app[0].typename = "UdpSinkApp" *.server*.app[0].io.localPort = 1000 # visualizer *.visualizer.packetFlowVisualizer.displayRoutes = true *.visualizer.interfaceTableVisualizer.displayInterfaceTables = true *.visualizer.interfaceTableVisualizer.format = "%N %\\%a/%l%\\%m" # misc **.crcMode = "computed" **.fcsMode = "computed" [Config Basic] # traffic source *.client*.numApps = 2 *.client*.app[*].typename = "UdpSourceApp" *.client*.app[0].source.packetNameFormat = "background-%c" *.client*.app[1].source.packetNameFormat = "video-%c" *.client*.app[0].io.destAddress = "server1" *.client*.app[1].io.destAddress = "server2" *.client*.app[*].io.destPort = 1000 *.client*.app[0].source.packetLength = 1000B # background ~40Mbps *.client*.app[0].source.productionInterval = truncnormal(200us,100us) *.client*.app[1].source.packetLength = 500B # video ~2Mbps *.client*.app[1].source.productionInterval = truncnormal(2ms,1ms) # flow definition *.client*.app[*].measurementStarter.typename = "FlowMeasurementStarter" *.client1.app[0].measurementStarter.flowName = "c1s1" *.client1.app[1].measurementStarter.flowName = "c1s2" *.client1.app[*].measurementStarter.measure = "elapsedTime or queueingTime" *.client2.app[0].measurementStarter.flowName = "c2s1" *.client2.app[1].measurementStarter.flowName = "c2s2" *.client2.app[*].measurementStarter.measure = "elapsedTime or queueingTime" *.server*.app[*].measurementRecorder.typename = "FlowMeasurementRecorder" *.server1.app[0].measurementRecorder.flowName = "c1s1 or c1s2 or c2s1 or c2s2" *.server1.app[*].measurementRecorder.measure = "elapsedTime or queueingTime" *.server2.app[0].measurementRecorder.flowName = "c1s1 or c1s2 or c2s1 or c2s2" *.server2.app[*].measurementRecorder.measure = "elapsedTime or queueingTime" *.switch*.eth[2].measurementLayer.typename = "MeasurementLayer" *.switch1.eth[2].measurementLayer.measurementStarter.flowName = "sw1sw2" *.switch1.eth[2].measurementLayer.measurementStarter.measure = "elapsedTime or queueingTime" *.switch2.eth[2].measurementLayer.measurementRecorder.flowName = "sw1sw2" *.switch2.eth[2].measurementLayer.measurementRecorder.measure = "elapsedTime or queueingTime" [Config AnyLocation] # traffic source *.client*.numApps = 2 *.client*.app[*].typename = "UdpBasicApp" *.client1.app[0].packetName = "c1-background" *.client1.app[1].packetName = "c1-video" *.client2.app[0].packetName = "c2-background" *.client2.app[1].packetName = "c2-video" *.client*.app[0].destAddresses = "server1 server2" *.client*.app[1].destAddresses = "server1 server2" *.client*.app[*].destPort = 1000 *.client*.app[0].localPort = 1000 *.client*.app[1].localPort = 500 *.client*.app[0].messageLength = 1000B # background ~40Mbps *.client*.app[0].sendInterval = truncnormal(200us,100us) *.client*.app[1].messageLength = 500B # video ~2Mbps *.client*.app[1].sendInterval = truncnormal(2ms,1ms) # measurement modules *.client*.typename = "MyStandardHost" *.server*.typename = "MyStandardHost" *.client*.measurementLayer.typename = "MultiMeasurementLayer" *.server*.measurementLayer.typename = "MultiMeasurementLayer" *.client*.measurementLayer.numMeasurementModules = 2 # flow definition *.client*.measurementLayer.measurementStarter[0].flowName = "VID" *.client*.measurementLayer.measurementStarter[0].packetFilter = expr(has(udp) && udp.srcPort == 500) *.client*.measurementLayer.measurementStarter[1].flowName = "BG" *.client*.measurementLayer.measurementStarter[1].packetFilter = expr(has(udp) && udp.srcPort == 1000) *.client*.measurementLayer.measurementStarter[*].measure = "elapsedTime or queueingTime" *.client*.measurementLayer.measurementRecorder[*].typename = "" *.server*.measurementLayer.measurementRecorder[0].flowName = "VID or BG" *.server*.measurementLayer.measurementRecorder[*].measure = "elapsedTime or queueingTime" *.server*.measurementLayer.measurementStarter[*].typename = ""