NED File src/inet/networklayer/ipv4/Igmpv3.ned
Name | Type | Description |
---|---|---|
Igmpv3 | simple module | (no description) |
Source code
// // Copyright (C) 2011 CoCo Communications // Copyright (C) 2012 Opensim Ltd // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public License // along with this program; if not, see <http://www.gnu.org/licenses/>. // package inet.networklayer.ipv4; simple Igmpv3 like IIgmp { parameters: bool enabled = default(true); string interfaceTableModule; string routingTableModule; string crcMode @enum("declared","computed") = default("declared"); 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); @display("i=block/cogwheel"); 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); }