Module Interface IIGMP

Package: inet.networklayer.ipv4
File: src/inet/networklayer/ipv4/IIGMP.ned

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 also: IGMPv2

IIGMP

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Used in compound modules:

Name Type Description
IPv4NetworkLayer compound module

Network layer of an IPv4 node.

Properties:

Name Value Description
display i=block/cogwheel_s

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_s");

    gates:
        input ipIn @labels(IPv4ControlInfo/up);
        output ipOut @labels(IPv4ControlInfo/down);

        input routerIn @labels(IPv4ControlInfo/up);
        output routerOut @labels(IPv4ControlInfo/down);
}