12345678910111213141516171819202122232425262728293031 |
- import inet.networklayer.ipv4.IIGMP;
- simple TestIGMP like IIGMP
- {
- parameters:
- string interfaceTableModule;
- string routingTableModule;
- bool enabled = default(true);
- int robustnessVariable = default(2); // IGMP is roboust to (roboustnessVariable-1) packet loss
- double queryInterval @unit("s") = default(125s);
- double queryResponseInterval @unit("s") = default(10s);
- double groupMembershipInterval @unit("s") = default((robustnessVariable * queryInterval) + queryResponseInterval);
- double otherQuerierPresentInterval @unit("s") = default((robustnessVariable * queryInterval) + (queryResponseInterval / 2));
- double startupQueryInterval @unit("s") = default(queryInterval / 4);
- int startupQueryCount = default(robustnessVariable);
- double lastMemberQueryInterval @unit("s") = default(1s);
- int lastMemberQueryCount = default(robustnessVariable);
- double unsolicitedReportInterval @unit("s") = default(10s);
- // double version1RouterPresentInterval @unit("s") = default(400s);
- string outputFile = default("");
- @display("i=block/cogwheel_s");
- gates:
- input ipIn @labels(IPv4ControlInfo/up); // delivered IGMP packets
- output ipOut @labels(IPv4ControlInfo/down); // to ~IPv4
- input routerIn @labels(IPv4ControlInfo/up);
- output routerOut @labels(IPv4ControlInfo/down);
- }
|