IGMPv3_router3.test 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. %description:
  2. Checks router state transitions in response to Filter-Mode-Change and Source-List-Change records.
  3. See RFC 3376 6.4.2.
  4. %#--------------------------------------------------------------------------------------------------------------
  5. %inifile: omnetpp.ini
  6. [General]
  7. ned-path = .;../../../../src;../../lib
  8. sim-time-limit=100s
  9. cmdenv-express-mode = false
  10. #cmdenv-log-prefix = "%t %N: "
  11. #omnetpp 5.0 - 5.1 compatibility:
  12. eventlog-file = "${resultdir}/${configname}-${runnumber}.elog"
  13. output-scalar-file = "${resultdir}/${configname}-${runnumber}.sca"
  14. output-vector-file = "${resultdir}/${configname}-${runnumber}.vec"
  15. snapshot-file = "${resultdir}/${configname}-${runnumber}.sna"
  16. network=TestIGMPNetwork
  17. **.igmpType = "IGMPv3"
  18. **.IPForward = true
  19. **.multicastForwarding = true
  20. **.scenarioManager.script = xmldoc("scenario.xml")
  21. %#--------------------------------------------------------------------------------------------------------------
  22. %file: scenario.xml
  23. <scenario>
  24. <!-- INCLUDE() -> ALLOW(10.0.0.1,10.0.0.2) -> INCLUDE(10.0.0.1,10.0.0.2) -->
  25. <send t="1" module="node.tester" ifname="eth0" type="IGMPv3Report">
  26. <record group="225.0.0.1" type="ALLOW" sources="10.0.0.1 10.0.0.2"/>
  27. </send>
  28. <!-- INCLUDE(10.0.0.1,10.0.0.2) -> BLOCK(10.0.0.1) -> INCLUDE(10.0.0.1,10.0.0.2) -->
  29. <send t="2" module="node.tester" ifname="eth0" type="IGMPv3Report">
  30. <record group="225.0.0.1" type="BLOCK" sources="10.0.0.1"/>
  31. </send>
  32. <!-- INCLUDE(10.0.0.1,10.0.0.2) -> TO_IN(10.0.0.3) -> INCLUDE(10.0.0.1,10.0.0.2,10.0.0.3) -->
  33. <send t="3" module="node.tester" ifname="eth0" type="IGMPv3Report">
  34. <record group="225.0.0.1" type="TO_IN" sources="10.0.0.3"/>
  35. </send>
  36. <!-- INCLUDE(10.0.0.1,10.0.0.2,10.0.0.3) -> TO_EX(10.0.0.3,10.0.0.4) -> EXCLUDE(10.0.0.3; 10.0.0.4) -->
  37. <send t="4" module="node.tester" ifname="eth0" type="IGMPv3Report">
  38. <record group="225.0.0.1" type="TO_EX" sources="10.0.0.3 10.0.0.4"/>
  39. </send>
  40. <!-- EXCLUDE(10.0.0.3; 10.0.0.4) -> ALLOW(10.0.0.4) -> EXCLUDE(10.0.0.3;) -->
  41. <send t="5" module="node.tester" ifname="eth0" type="IGMPv3Report">
  42. <record group="225.0.0.1" type="ALLOW" sources="10.0.0.4"/>
  43. </send>
  44. <!-- EXCLUDE(10.0.0.3;) -> BLOCK(10.0.0.4) -> EXCLUDE(10.0.0.3,10.0.0.4;) -->
  45. <send t="6" module="node.tester" ifname="eth0" type="IGMPv3Report">
  46. <record group="225.0.0.1" type="BLOCK" sources="10.0.0.4"/>
  47. </send>
  48. <!-- EXCLUDE(10.0.0.3,10.0.0.4;) -> TO_EX(10.0.0.1,10.0.0.3) -> EXCLUDE(10.0.0.1,10.0.0.3;) -->
  49. <send t="7" module="node.tester" ifname="eth0" type="IGMPv3Report">
  50. <record group="225.0.0.1" type="TO_EX" sources="10.0.0.1 10.0.0.3"/>
  51. </send>
  52. <!-- EXCLUDE(10.0.0.1,10.0.0.3;) -> TO_IN(10.0.0.1,10.0.0.2) -> EXCLUDE(10.0.0.1,10.0.0.2,10.0.0.3;) -->
  53. <send t="8" module="node.tester" ifname="eth0" type="IGMPv3Report">
  54. <record group="225.0.0.1" type="TO_IN" sources="10.0.0.1 10.0.0.2"/>
  55. </send>
  56. </scenario>
  57. %#--------------------------------------------------------------------------------------------------------------
  58. %subst: /DETAIL: //
  59. %#
  60. %# Check that Group-Specific or Group-and-Source-Specific Queries are sent.
  61. %#
  62. %postrun-command: grep "\(Router State\|New Router State\|Received.*report\)" test.out > igmp.out || true
  63. %contains: igmp.out
  64. Router State is INCLUDE().
  65. Received ALLOW(10.0.0.1,10.0.0.2) report.
  66. New Router State is INCLUDE(10.0.0.1,10.0.0.2).
  67. Router State is INCLUDE(10.0.0.1,10.0.0.2).
  68. Received BLOCK(10.0.0.1) report.
  69. New Router State is INCLUDE(10.0.0.1,10.0.0.2).
  70. Router State is INCLUDE(10.0.0.1,10.0.0.2).
  71. Received TO_IN(10.0.0.3) report.
  72. New Router State is INCLUDE(10.0.0.1,10.0.0.2,10.0.0.3).
  73. Router State is INCLUDE(10.0.0.1,10.0.0.2,10.0.0.3).
  74. Received TO_EX(10.0.0.3,10.0.0.4) report.
  75. New Router State is EXCLUDE(10.0.0.3;10.0.0.4).
  76. Router State is EXCLUDE(10.0.0.3;10.0.0.4).
  77. Received ALLOW(10.0.0.4) report.
  78. New Router State is EXCLUDE(10.0.0.3,10.0.0.4;).
  79. Router State is EXCLUDE(10.0.0.3,10.0.0.4;).
  80. Received BLOCK(10.0.0.4) report.
  81. New Router State is EXCLUDE(10.0.0.3,10.0.0.4;).
  82. Router State is EXCLUDE(10.0.0.3,10.0.0.4;).
  83. Received TO_EX(10.0.0.1,10.0.0.3) report.
  84. New Router State is EXCLUDE(10.0.0.1,10.0.0.3;).
  85. Router State is EXCLUDE(10.0.0.1,10.0.0.3;).
  86. Received TO_IN(10.0.0.1,10.0.0.2) report.
  87. New Router State is EXCLUDE(10.0.0.1,10.0.0.2,10.0.0.3;).
  88. %#--------------------------------------------------------------------------------------------------------------
  89. %not-contains: stdout
  90. undisposed object:
  91. %not-contains: stdout
  92. -- check module destructor
  93. %#--------------------------------------------------------------------------------------------------------------