NeighborCache_QuadTree.test 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. %description:
  2. RadioMedium NeighborCache test based on Ping results.
  3. The
  4. NeighborCache_Grid.test
  5. NeighborCache_NeighborList.test
  6. NeighborCache_Off.test
  7. NeighborCache_QuadTree.test
  8. are same simulations, except the configured radiomedium.neighborcache (choosed in %extraargs).
  9. When NeighborCache_Off.test is FAILED, then should replace ping outputs in %contains from simulation stdout
  10. in all NeighborCache tests, and rerun these.
  11. When NighborCache_Off test is OK, but some other NeighborCache test is FAILED, then you must check:
  12. - NeighborCache_*.test files should be same except the %extraargs line.
  13. - verify the used NeighborCache code in failed simulation.
  14. %#--------------------------------------------------------------------------------------------------------------
  15. %extraargs: -c QuadTree
  16. %#--------------------------------------------------------------------------------------------------------------
  17. %file: test.ned
  18. import inet.common.lifecycle.LifecycleController;
  19. import inet.common.scenario.ScenarioManager;
  20. import inet.networklayer.configurator.ipv4.IPv4NetworkConfigurator;
  21. import inet.networklayer.ipv4.RoutingTableRecorder;
  22. import inet.node.aodv.AODVRouter;
  23. import inet.physicallayer.idealradio.IdealRadioMedium;
  24. network NeighborCacheTest
  25. {
  26. parameters:
  27. int numHosts;
  28. submodules:
  29. radioMedium: IdealRadioMedium {
  30. parameters:
  31. @display("p=50,50");
  32. }
  33. configurator: IPv4NetworkConfigurator {
  34. parameters:
  35. config = xml("<config><interface hosts='*' address='145.236.x.x' netmask='255.255.0.0'/></config>");
  36. @display("p=50,100");
  37. }
  38. routingTableRecorder: RoutingTableRecorder {
  39. parameters:
  40. @display("p=50,150");
  41. }
  42. lifecycleController: LifecycleController {
  43. parameters:
  44. @display("p=50,200");
  45. }
  46. scenarioManager: ScenarioManager {
  47. parameters:
  48. script = default(xml("<scenario/>"));
  49. @display("p=50,250");
  50. }
  51. host[numHosts]: AODVRouter {
  52. parameters:
  53. @display("i=device/pocketpc_s;r=,,#707070");
  54. }
  55. connections allowunconnected:
  56. }
  57. %#--------------------------------------------------------------------------------------------------------------
  58. %inifile: omnetpp.ini
  59. [General]
  60. network = NeighborCacheTest
  61. record-eventlog = true
  62. num-rngs = 3
  63. sim-time-limit = 60s
  64. cmdenv-express-mode = true
  65. cmdenv-status-frequency = 1000s
  66. #omnetpp 5.0 - 5.1 compatibility:
  67. eventlog-file = "${resultdir}/${configname}-${runnumber}.elog"
  68. output-scalar-file = "${resultdir}/${configname}-${runnumber}.sca"
  69. output-vector-file = "${resultdir}/${configname}-${runnumber}.vec"
  70. snapshot-file = "${resultdir}/${configname}-${runnumber}.sna"
  71. **.mobility.rng-0 = 1
  72. **.wlan[*].mac.rng-0 = 2
  73. ned-path = .;../../../../src;../../lib
  74. # channel physical parameters
  75. **.wlan[*].typename = "IdealWirelessNic"
  76. **.wlan[*].bitrate = 2Mbps
  77. **.wlan[*].mac.address = "auto"
  78. **.wlan[*].mac.headerLength = 20B
  79. **.wlan[*].radioType = "IdealRadio"
  80. **.wlan[*].radio.transmitter.headerBitLength = 100b
  81. **.wlan[*].radio.transmitter.communicationRange = 250m
  82. **.wlan[*].radio.transmitter.interferenceRange = 0m
  83. **.wlan[*].radio.transmitter.detectionRange = 0m
  84. **.wlan[*].radio.receiver.ignoreInterference = true
  85. *.numHosts = 20
  86. # mobility
  87. **.host[0..1].mobilityType = "StationaryMobility"
  88. **.host[1].mobility.initialX = 600m
  89. **.host[1].mobility.initialY = 600m
  90. **.host[2..20].mobilityType = "LinearMobility"
  91. **.host[2..20].mobility.speed = 8mps
  92. **.mobility.constraintAreaMinZ = 0m
  93. **.mobility.constraintAreaMaxZ = 0m
  94. **.mobility.constraintAreaMinX = 0m
  95. **.mobility.constraintAreaMinY = 0m
  96. **.mobility.constraintAreaMaxX = 600m
  97. **.mobility.constraintAreaMaxY = 600m
  98. **.host[2..20].mobility.changeInterval = normal(5s, 0.1s)
  99. **.host[2..20].mobility.changeAngleBy = normal(0deg, 30deg)
  100. # ping app
  101. *.host[0].numPingApps = 1
  102. *.host[0].pingApp[0].startTime = uniform(1s,5s)
  103. *.host[0].pingApp[0].printPing = true
  104. *.host[0].pingApp[0].destAddr = "host[1](ipv4)"
  105. # lifecycle
  106. **.hasStatus = true
  107. # AODV protocol settings
  108. **.aodv.activeRouteTimeout = 3s
  109. # neighbor cache settigns
  110. **.neighborCache.refillPeriod = 1s
  111. # radio medium
  112. **.radioMedium.mediumLimitCache.communicationRange = 250m
  113. **.radioMedium.rangeFilter = "communicationRange"
  114. [Config NoCache]
  115. [Config Grid]
  116. **.radioMedium.neighborCacheType = "GridNeighborCache"
  117. **.radioMedium.neighborCache.cellSizeX = 100m
  118. **.radioMedium.neighborCache.cellSizeY = 100m
  119. **.radioMedium.neighborCache.cellSizeZ = 100m
  120. [Config NeighborList]
  121. **.radioMedium.neighborCacheType = "NeighborListNeighborCache"
  122. **.radioMedium.neighborCache.range = 250m
  123. [Config QuadTree]
  124. **.radioMedium.neighborCacheType = "QuadTreeNeighborCache"
  125. **.radioMedium.neighborCache.maxNumOfPointsPerQuadrant = 2
  126. %#--------------------------------------------------------------------------------------------------------------
  127. %contains: stdout
  128. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=0 ttl=28 time=830.477907313 msec (ping0)
  129. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=1 ttl=28 time=3.732928795 msec (ping1)
  130. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=2 ttl=28 time=3.732936181 msec (ping2)
  131. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=3 ttl=28 time=3.732948054 msec (ping3)
  132. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=4 ttl=28 time=3.732964401 msec (ping4)
  133. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=6 ttl=27 time=828.477322075 msec (ping6)
  134. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=7 ttl=27 time=4.665995575 msec (ping7)
  135. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=8 ttl=27 time=4.666112219 msec (ping8)
  136. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=9 ttl=27 time=4.666239182 msec (ping9)
  137. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=10 ttl=27 time=4.666376789 msec (ping10)
  138. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=11 ttl=27 time=4.666525285 msec (ping11)
  139. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=12 ttl=27 time=4.666684768 msec (ping12)
  140. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=13 ttl=27 time=4.666855165 msec (ping13)
  141. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=14 ttl=27 time=4.667036228 msec (ping14)
  142. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=15 ttl=27 time=4.667227536 msec (ping15)
  143. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=16 ttl=27 time=4.667428523 msec (ping16)
  144. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=18 ttl=28 time=342.820731461 msec (ping18)
  145. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=19 ttl=28 time=3.733414392 msec (ping19)
  146. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=20 ttl=28 time=3.733420031 msec (ping20)
  147. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=21 ttl=28 time=3.733429284 msec (ping21)
  148. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=22 ttl=28 time=3.733441837 msec (ping22)
  149. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=23 ttl=28 time=3.733457499 msec (ping23)
  150. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=25 ttl=27 time=1346.294293068 msec (ping25)
  151. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=26 ttl=27 time=346.761030782 msec (ping26)
  152. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=27 ttl=27 time=4.666105924 msec (ping27)
  153. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=28 ttl=27 time=4.66616123 msec (ping28)
  154. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=29 ttl=27 time=4.66623032 msec (ping29)
  155. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=31 ttl=28 time=1339.358890192 msec (ping31)
  156. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=32 ttl=28 time=339.825604861 msec (ping32)
  157. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=33 ttl=28 time=3.732977015 msec (ping33)
  158. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=34 ttl=28 time=3.732946663 msec (ping34)
  159. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=35 ttl=28 time=3.732919443 msec (ping35)
  160. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=36 ttl=28 time=3.732895496 msec (ping36)
  161. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=37 ttl=28 time=3.732875012 msec (ping37)
  162. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=38 ttl=28 time=3.732858253 msec (ping38)
  163. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=39 ttl=28 time=3.73284554 msec (ping39)
  164. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=41 ttl=28 time=350.317796204 msec (ping41)
  165. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=42 ttl=28 time=3.733861605 msec (ping42)
  166. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=43 ttl=28 time=3.733809116 msec (ping43)
  167. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=44 ttl=28 time=3.733760876 msec (ping44)
  168. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=45 ttl=28 time=3.73371676 msec (ping45)
  169. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=46 ttl=28 time=3.733676695 msec (ping46)
  170. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=48 ttl=28 time=346.782655109 msec (ping48)
  171. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=49 ttl=28 time=3.732708576 msec (ping49)
  172. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=51 ttl=28 time=826.453462341 msec (ping51)
  173. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=53 ttl=27 time=567.898037298 msec (ping53)
  174. NeighborCacheTest.host[0].pingApp[0]: reply of 60 bytes from 145.236.0.2 icmp_seq=55 ttl=28 time=342.497844927 msec (ping55)
  175. ** Event #
  176. %#--------------------------------------------------------------------------------------------------------------
  177. %not-contains: stdout
  178. -- check module destructor
  179. %#--------------------------------------------------------------------------------------------------------------