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.
Usage diagram¶
Inheritance diagram¶
Used in compound modules¶
Name |
Type |
Description |
|---|---|---|
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 |
|---|---|---|
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;
}