TestIGMP.ned 1.4 KB

12345678910111213141516171819202122232425262728293031
  1. import inet.networklayer.ipv4.IIGMP;
  2. simple TestIGMP like IIGMP
  3. {
  4. parameters:
  5. string interfaceTableModule;
  6. string routingTableModule;
  7. bool enabled = default(true);
  8. int robustnessVariable = default(2); // IGMP is roboust to (roboustnessVariable-1) packet loss
  9. double queryInterval @unit("s") = default(125s);
  10. double queryResponseInterval @unit("s") = default(10s);
  11. double groupMembershipInterval @unit("s") = default((robustnessVariable * queryInterval) + queryResponseInterval);
  12. double otherQuerierPresentInterval @unit("s") = default((robustnessVariable * queryInterval) + (queryResponseInterval / 2));
  13. double startupQueryInterval @unit("s") = default(queryInterval / 4);
  14. int startupQueryCount = default(robustnessVariable);
  15. double lastMemberQueryInterval @unit("s") = default(1s);
  16. int lastMemberQueryCount = default(robustnessVariable);
  17. double unsolicitedReportInterval @unit("s") = default(10s);
  18. // double version1RouterPresentInterval @unit("s") = default(400s);
  19. string outputFile = default("");
  20. @display("i=block/cogwheel_s");
  21. gates:
  22. input ipIn @labels(IPv4ControlInfo/up); // delivered IGMP packets
  23. output ipOut @labels(IPv4ControlInfo/down); // to ~IPv4
  24. input routerIn @labels(IPv4ControlInfo/up);
  25. output routerOut @labels(IPv4ControlInfo/down);
  26. }