123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- %description:
- Checks router state transitions in response to Filter-Mode-Change and Source-List-Change records.
- See RFC 3376 6.4.2.
- %#--------------------------------------------------------------------------------------------------------------
- %inifile: omnetpp.ini
- [General]
- ned-path = .;../../../../src;../../lib
- sim-time-limit=100s
- cmdenv-express-mode = false
- #cmdenv-log-prefix = "%t %N: "
- #omnetpp 5.0 - 5.1 compatibility:
- eventlog-file = "${resultdir}/${configname}-${runnumber}.elog"
- output-scalar-file = "${resultdir}/${configname}-${runnumber}.sca"
- output-vector-file = "${resultdir}/${configname}-${runnumber}.vec"
- snapshot-file = "${resultdir}/${configname}-${runnumber}.sna"
- network=TestIGMPNetwork
- **.igmpType = "IGMPv3"
- **.IPForward = true
- **.multicastForwarding = true
- **.scenarioManager.script = xmldoc("scenario.xml")
- %#--------------------------------------------------------------------------------------------------------------
- %file: scenario.xml
- <scenario>
- <!-- INCLUDE() -> ALLOW(10.0.0.1,10.0.0.2) -> INCLUDE(10.0.0.1,10.0.0.2) -->
- <send t="1" module="node.tester" ifname="eth0" type="IGMPv3Report">
- <record group="225.0.0.1" type="ALLOW" sources="10.0.0.1 10.0.0.2"/>
- </send>
- <!-- INCLUDE(10.0.0.1,10.0.0.2) -> BLOCK(10.0.0.1) -> INCLUDE(10.0.0.1,10.0.0.2) -->
- <send t="2" module="node.tester" ifname="eth0" type="IGMPv3Report">
- <record group="225.0.0.1" type="BLOCK" sources="10.0.0.1"/>
- </send>
- <!-- 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) -->
- <send t="3" module="node.tester" ifname="eth0" type="IGMPv3Report">
- <record group="225.0.0.1" type="TO_IN" sources="10.0.0.3"/>
- </send>
- <!-- 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) -->
- <send t="4" module="node.tester" ifname="eth0" type="IGMPv3Report">
- <record group="225.0.0.1" type="TO_EX" sources="10.0.0.3 10.0.0.4"/>
- </send>
- <!-- EXCLUDE(10.0.0.3; 10.0.0.4) -> ALLOW(10.0.0.4) -> EXCLUDE(10.0.0.3;) -->
- <send t="5" module="node.tester" ifname="eth0" type="IGMPv3Report">
- <record group="225.0.0.1" type="ALLOW" sources="10.0.0.4"/>
- </send>
- <!-- EXCLUDE(10.0.0.3;) -> BLOCK(10.0.0.4) -> EXCLUDE(10.0.0.3,10.0.0.4;) -->
- <send t="6" module="node.tester" ifname="eth0" type="IGMPv3Report">
- <record group="225.0.0.1" type="BLOCK" sources="10.0.0.4"/>
- </send>
- <!-- 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;) -->
- <send t="7" module="node.tester" ifname="eth0" type="IGMPv3Report">
- <record group="225.0.0.1" type="TO_EX" sources="10.0.0.1 10.0.0.3"/>
- </send>
- <!-- 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;) -->
- <send t="8" module="node.tester" ifname="eth0" type="IGMPv3Report">
- <record group="225.0.0.1" type="TO_IN" sources="10.0.0.1 10.0.0.2"/>
- </send>
- </scenario>
- %#--------------------------------------------------------------------------------------------------------------
- %subst: /DETAIL: //
- %#
- %# Check that Group-Specific or Group-and-Source-Specific Queries are sent.
- %#
- %postrun-command: grep "\(Router State\|New Router State\|Received.*report\)" test.out > igmp.out || true
- %contains: igmp.out
- Router State is INCLUDE().
- Received ALLOW(10.0.0.1,10.0.0.2) report.
- New Router State is INCLUDE(10.0.0.1,10.0.0.2).
- Router State is INCLUDE(10.0.0.1,10.0.0.2).
- Received BLOCK(10.0.0.1) report.
- New Router State is INCLUDE(10.0.0.1,10.0.0.2).
- Router State is INCLUDE(10.0.0.1,10.0.0.2).
- Received TO_IN(10.0.0.3) report.
- New Router State is INCLUDE(10.0.0.1,10.0.0.2,10.0.0.3).
- Router State is INCLUDE(10.0.0.1,10.0.0.2,10.0.0.3).
- Received TO_EX(10.0.0.3,10.0.0.4) report.
- New Router State is EXCLUDE(10.0.0.3;10.0.0.4).
- Router State is EXCLUDE(10.0.0.3;10.0.0.4).
- Received ALLOW(10.0.0.4) report.
- New Router State is EXCLUDE(10.0.0.3,10.0.0.4;).
- Router State is EXCLUDE(10.0.0.3,10.0.0.4;).
- Received BLOCK(10.0.0.4) report.
- New Router State is EXCLUDE(10.0.0.3,10.0.0.4;).
- Router State is EXCLUDE(10.0.0.3,10.0.0.4;).
- Received TO_EX(10.0.0.1,10.0.0.3) report.
- New Router State is EXCLUDE(10.0.0.1,10.0.0.3;).
- Router State is EXCLUDE(10.0.0.1,10.0.0.3;).
- Received TO_IN(10.0.0.1,10.0.0.2) report.
- New Router State is EXCLUDE(10.0.0.1,10.0.0.2,10.0.0.3;).
- %#--------------------------------------------------------------------------------------------------------------
- %not-contains: stdout
- undisposed object:
- %not-contains: stdout
- -- check module destructor
- %#--------------------------------------------------------------------------------------------------------------
|