PimSplitter

Package: inet.routing.pim

PimSplitter

simple module

C++ definition

~PimSplitter module dispatches PIM packets received from the network layer according to the PIM mode of the incoming interface. By using a ~PimSplitter it is possible to build nodes that operate in Dense Mode on some interfaces, and in Sparse Mode on others.

See ~Pim module for example usage.

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
Pim compound module

Implements the Protocol Independent Multicast (PIM) routing protocol for IP multicast. This module integrates both PIM-DM (Dense Mode) and PIM-SM (Sparse Mode) implementations, using a splitter to direct packets to the appropriate mode based on interface configuration. PIM builds distribution trees for efficient multicast data delivery across IP networks.

Extends

Name Type Description
SimpleModule simple module

Base module for all INET simple modules.

Parameters

Name Type Default value Description
displayStringTextFormat string ""

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

interfaceTableModule string
pimInterfaceTableModule string

Properties

Name Value Description
class PimSplitter
display i=block/dispatch

Gates

Name Direction Size Description
ipIn input
ipOut output
pimDMIn input
pimDMOut output
pimSMIn input
pimSMOut output

Source code

//
// ~PimSplitter module dispatches PIM packets received from the network layer
// according to the PIM mode of the incoming interface. By using a ~PimSplitter
// it is possible to build nodes that operate in Dense Mode on some interfaces,
// and in Sparse Mode on others.
//
// See ~Pim module for example usage.
//
simple PimSplitter extends SimpleModule
{
    parameters:
        @class(PimSplitter);
        @display("i=block/dispatch");
        string interfaceTableModule;
        string pimInterfaceTableModule;

    gates:
        input ipIn;
        output ipOut;
        input pimDMIn;
        output pimDMOut;
        input pimSMIn;
        output pimSMOut;
}

File: src/inet/routing/pim/PimSplitter.ned