|
a |
|
b/examples/SimpleRelay/omnetpp.ini |
|
|
1 |
[General]
|
|
|
2 |
network = SimpleRelay
|
|
|
3 |
sim-time-limit = 5min
|
|
|
4 |
debug-on-errors = true
|
|
|
5 |
seed-set = ${runnumber}
|
|
|
6 |
|
|
|
7 |
**.host1.applicationProcess1.apName = "App1"
|
|
|
8 |
**.host2.applicationProcess1.apName = "App2"
|
|
|
9 |
**.applicationEntity.aeType = "AEPing"
|
|
|
10 |
**.iae.aeName = "Ping"
|
|
|
11 |
|
|
|
12 |
#Static addressing
|
|
|
13 |
**.host1.ipcProcess0.ipcAddress = "1"
|
|
|
14 |
**.host2.ipcProcess0.ipcAddress = "2"
|
|
|
15 |
**.interiorRouter.ipcProcess0.ipcAddress = "3"
|
|
|
16 |
**.interiorRouter.ipcProcess1.ipcAddress = "4"
|
|
|
17 |
|
|
|
18 |
**.host1.ipcProcess1.ipcAddress = "11"
|
|
|
19 |
**.host2.ipcProcess1.ipcAddress = "22"
|
|
|
20 |
**.interiorRouter.relayIpc.ipcAddress = "33"
|
|
|
21 |
|
|
|
22 |
**.host1.ipcProcess0.difName = "Layer01"
|
|
|
23 |
**.interiorRouter.ipcProcess0.difName = "Layer01"
|
|
|
24 |
|
|
|
25 |
**.host2.ipcProcess0.difName = "Layer02"
|
|
|
26 |
**.interiorRouter.ipcProcess1.difName = "Layer02"
|
|
|
27 |
|
|
|
28 |
**.host*.ipcProcess1.difName = "Layer11"
|
|
|
29 |
**.interiorRouter.relayIpc.difName = "Layer11"
|
|
|
30 |
|
|
|
31 |
#DIF Allocator settings
|
|
|
32 |
**.host1.difAllocator.configData = xmldoc("config.xml", "Configuration/Host[@id='host1']/DA")
|
|
|
33 |
**.host2.difAllocator.configData = xmldoc("config.xml", "Configuration/Host[@id='host2']/DA")
|
|
|
34 |
**.interiorRouter.difAllocator.configData = xmldoc("config.xml", "Configuration/Router[@id='interiorRouter']/DA")
|
|
|
35 |
|
|
|
36 |
#QoS Cube sets
|
|
|
37 |
**.ra.qoscubesData = xmldoc("config.xml", "Configuration/QoSCubesSet")
|
|
|
38 |
|
|
|
39 |
|
|
|
40 |
[Config Ping]
|
|
|
41 |
#PingApp setup
|
|
|
42 |
**.host1.applicationProcess1.applicationEntity.iae.dstApName = "App2"
|
|
|
43 |
**.host1.applicationProcess1.applicationEntity.iae.dstAeName = "Ping"
|
|
|
44 |
**.host1.applicationProcess1.applicationEntity.iae.startAt = 10s
|
|
|
45 |
**.host1.applicationProcess1.applicationEntity.iae.pingAt = 15s
|
|
|
46 |
**.host1.applicationProcess1.applicationEntity.iae.rate = 5
|
|
|
47 |
**.host1.applicationProcess1.applicationEntity.iae.stopAt = 25s
|
|
|
48 |
|
|
|
49 |
#Specify AEPing message size
|
|
|
50 |
**.host1.applicationProcess1.applicationEntity.iae.size = 256B
|
|
|
51 |
#Specify timeout of CreateRequest message
|
|
|
52 |
**.fa.createRequestTimeout = 2s
|
|
|
53 |
|
|
|
54 |
[Config PingWithPreallocation]
|
|
|
55 |
|
|
|
56 |
**.host1.applicationProcess1.applicationEntity.iae.dstApName = "App2"
|
|
|
57 |
**.host1.applicationProcess1.applicationEntity.iae.dstAeName = "Ping"
|
|
|
58 |
**.host1.applicationProcess1.applicationEntity.iae.startAt = 10s
|
|
|
59 |
**.host1.applicationProcess1.applicationEntity.iae.pingAt = 100s
|
|
|
60 |
**.host1.applicationProcess1.applicationEntity.iae.rate = 5
|
|
|
61 |
**.host1.applicationProcess1.applicationEntity.iae.stopAt = 200s
|
|
|
62 |
|
|
|
63 |
# flows to allocate at the beginning
|
|
|
64 |
**.interiorRouter.relayIpc.resourceAllocator.ra.flows = \
|
|
|
65 |
xmldoc("config.xml", "Configuration/Router[@id='interiorRouter']/IPC[@id='relayIpc']/RA/Flows")
|
|
|
66 |
|
|
|
67 |
[Config PingWithCongestion] # FIXME
|
|
|
68 |
**.host1.applicationProcess1.applicationEntity.iae.dstApName = "App2"
|
|
|
69 |
**.host1.applicationProcess1.applicationEntity.iae.dstAeName = "Ping"
|
|
|
70 |
**.host1.applicationProcess1.applicationEntity.iae.startAt = 10s
|
|
|
71 |
**.host1.applicationProcess1.applicationEntity.iae.pingAt = 300s
|
|
|
72 |
**.host1.applicationProcess1.applicationEntity.iae.rate = 80
|
|
|
73 |
**.host1.applicationProcess1.applicationEntity.iae.stopAt = 500s
|
|
|
74 |
|
|
|
75 |
# make one of the bottom router IPCs become easily congested
|
|
|
76 |
**.host1.ipcProcess0.relayAndMux.TxQueuingTime = 50000ms
|
|
|
77 |
# use RED as an example congestion control algorithm
|
|
|
78 |
**.interiorRouter.ipcProcess1.relayAndMux.qMonitorPolicyName = "REDMonitor"
|
|
|
79 |
**.interiorRouter.ipcProcess1.relayAndMux.maxQPolicyName = "REDDropper"
|
|
|
80 |
# increase the FA M_CREATE timeout so it doesn't give up too early
|
|
|
81 |
**.fa.createRequestTimeout = 100s
|
|
|
82 |
|
|
|
83 |
|
|
|
84 |
[Config PingWithDiffServ]
|
|
|
85 |
|
|
|
86 |
**.host1.applicationProcess1.applicationEntity.iae.dstApName = "App2"
|
|
|
87 |
**.host1.applicationProcess1.applicationEntity.iae.dstAeName = "Ping"
|
|
|
88 |
**.host1.applicationProcess1.applicationEntity.iae.startAt = 10s
|
|
|
89 |
**.host1.applicationProcess1.applicationEntity.iae.pingAt = 100s
|
|
|
90 |
**.host1.applicationProcess1.applicationEntity.iae.rate = 5
|
|
|
91 |
**.host1.applicationProcess1.applicationEntity.iae.stopAt = 200s
|
|
|
92 |
|
|
|
93 |
# make all RMTs except the ones in relay IPCs differentiate PDUs by (N)-flow
|
|
|
94 |
**.ipcProcess*.resourceAllocator.queueAllocPolicyName = "QueuePerNFlow"
|
|
|
95 |
**.ipcProcess*.resourceAllocator.queueIdGenName = "IDPerNFlow"
|
|
|
96 |
# make relay IPCs' RMTs differentiate PDUs by their QoS
|
|
|
97 |
**.relayIpc.resourceAllocator.queueAllocPolicyName = "QueuePerNQoS"
|
|
|
98 |
**.relayIpc.resourceAllocator.queueIdGenName = "IDPerNQoS"
|