IGMP_router_ifstates.test 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. %description: Tests interface state transitions of IGMP routers
  2. --------------------------------
  3. _______|________ gen. query timer |
  4. --------- | | expired |
  5. | Initial |---------------->| | (send general query, |
  6. --------- (send gen. q., | | set gen. q. timer) |
  7. set initial gen. q. | |<----------------------
  8. timer) | Querier |
  9. | |
  10. -----| |<---
  11. | | | |
  12. | |________________| |
  13. query received from a | | other querier
  14. router with a lower | | present timer
  15. IP address | | expired
  16. (set other querier | ________________ | (send general
  17. present timer) | | | | query,set gen.
  18. | | | | q. timer)
  19. | | | |
  20. ---->| Non |----
  21. | Querier |
  22. | |
  23. | |
  24. ---->| |----
  25. | |________________| |
  26. | query received from a |
  27. | router with a lower IP |
  28. | address |
  29. | (set other querier |
  30. | present timer) |
  31. ---------------------------
  32. This scenario checks the following trajectory:
  33. INITIAL --> initialize --> QUERIER --> query received (lower IP) --> NON QUERIER -->
  34. --> query received (lower IP) --> NON QUERIER --> other querier present timer expired --> QUERIER -->
  35. --> gen.query timer expired --> QUERIER
  36. %inifile: omnetpp.ini
  37. [General]
  38. ned-path = .;../../../../src;../../lib
  39. sim-time-limit=500s
  40. cmdenv-express-mode = true
  41. #omnetpp 5.0 - 5.1 compatibility:
  42. eventlog-file = "${resultdir}/${configname}-${runnumber}.elog"
  43. output-scalar-file = "${resultdir}/${configname}-${runnumber}.sca"
  44. output-vector-file = "${resultdir}/${configname}-${runnumber}.vec"
  45. snapshot-file = "${resultdir}/${configname}-${runnumber}.sna"
  46. network=IGMPTestNetwork
  47. **.igmpType = "TestIGMP"
  48. **.scenarioManager.script = xmldoc("scenario.xml")
  49. **.nqrouter.*.igmp.outputFile = "nqrouter-output.txt"
  50. **.igmp.startupQueryInterval = 100s
  51. **.igmp.queryInterval = 100s
  52. %file: scenario.xml
  53. <scenario>
  54. <disable t="101" module="router.networkLayer.igmp"/>
  55. </scenario>
  56. %contains-regex: nqrouter-output.txt
  57. t=0 nqrouter/eth0: INITIAL --> configure interface <send query> --> QUERIER
  58. %contains-regex: nqrouter-output.txt
  59. t=0.* nqrouter/eth0/<unspec>: QUERIER --> query received <> --> NON_QUERIER
  60. t=100\..* nqrouter/eth0/<unspec>: NON_QUERIER --> query received <> --> NON_QUERIER
  61. t=305\..* nqrouter/eth0: NON_QUERIER --> other querier present timer expired <send query> --> QUERIER
  62. t=405\..* nqrouter/eth0: QUERIER --> gen. query timer expired <send query> --> QUERIER
  63. %#--------------------------------------------------------------------------------------------------------------
  64. %not-contains: stdout
  65. undisposed object:
  66. %not-contains: stdout
  67. -- check module destructor
  68. %#--------------------------------------------------------------------------------------------------------------