PimSplitter

Package: inet.routing.pim

simple module PimSplitter

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.

inet.routing.pim.PimSplitterPimSplittersimple

Usage diagram

Inheritance 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

addressFamily

string

“ipv4”

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;
        string addressFamily @enum("ipv4","ipv6") = default("ipv4");

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

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