Package: inet.networklayer.ipv4
IIgmp
module interfaceModule interface for IGMP modules.
An IGMP module sends notifications about multicast group memberships in hosts, and processes these notifications in multicast routers.
Currently there are 3 versions specified in RFC 1112 (IGMPv1), RFC 2236 (IGMPv2), and RFC 3376 (IGMPv3).
IGMP packets are transported by the IP layer connected to the ipIn/ipOut gates. Some multicast routing protocols (e.g. DVMRP) also communitacate with IGMP messages. They must be connected to the routerIn/routerOut gates, the IGMP module will pass up the unrecognized IGMP packets.
See also: Igmpv2
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Implemented by
Name | Type | Description |
---|---|---|
Igmpv2 | simple module |
Imlementation of IGMPv2 protocol. Multicast routers use IGMP to learn which groups have members on each of their attached physical networks. |
Igmpv3 | simple module | (no description) |
Used in compound modules
Name | Type | Description |
---|---|---|
Ipv4NetworkLayer | compound module |
Network layer of an IPv4 node. |
Properties
Name | Value | Description |
---|---|---|
display | i=block/cogwheel |
Source code
// // Module interface for IGMP modules. // // An IGMP module sends notifications about multicast group memberships in hosts, // and processes these notifications in multicast routers. // // Currently there are 3 versions specified in RFC 1112 (IGMPv1), RFC 2236 (IGMPv2), // and RFC 3376 (IGMPv3). // // IGMP packets are transported by the IP layer connected to the ipIn/ipOut // gates. Some multicast routing protocols (e.g. DVMRP) also communitacate with // IGMP messages. They must be connected to the routerIn/routerOut gates, // the IGMP module will pass up the unrecognized IGMP packets. // // @see ~Igmpv2 // moduleinterface IIgmp { @display("i=block/cogwheel"); gates: input ipIn @labels(Ipv4ControlInfo/up); output ipOut @labels(Ipv4ControlInfo/down); input routerIn @labels(Ipv4ControlInfo/up); output routerOut @labels(Ipv4ControlInfo/down); }File: src/inet/networklayer/ipv4/IIgmp.ned