IGMPv3_router2.test 4.0 KB

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