PimInterfaceTable

Package: inet.routing.pim.tables

PimInterfaceTable

simple module

C++ definition

The PimInterfaceTable module contains the PIM specific configuration parameters and state of the interfaces on which PIM is enabled.

PIM routers must contain an instance of this module.

The configuration file must contain <interface> elements under the document root with the following attributes:

  • @mode: optional attribute, possible values are "dense" and "sparse". If missing then PIM is not used on that interface, otherwise it operates in the specified mode.
  • @state-refresh: optional boolean attribute, default is "false". If it is "true", then the router will send SR messages on this interface.

Additionally, each <interface> element may contain @hosts, @names, @towards, @among attributes to select the interfaces to which the PIM parameters are applied (see ~Ipv4NetworkConfigurator).

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
pimConfig xml xml("")

Properties

Name Value Description
class PimInterfaceTable
display i=block/table

Source code

//
// The `PimInterfaceTable` module contains the PIM specific configuration
// parameters and state of the interfaces on which PIM is enabled.
//
// PIM routers must contain an instance of this module.
//
// The configuration file must contain <interface> elements under
// the document root with the following attributes:
//
// - @mode:          optional attribute, possible values are "dense" and "sparse".
//                   If missing then PIM is not used on that interface, otherwise
//                   it operates in the specified mode.
// - @state-refresh: optional boolean attribute, default is "false".
//                   If it is "true", then the router will send SR messages
//                   on this interface.
//
// Additionally, each <interface> element may contain
// @hosts, @names, @towards, @among attributes to select the
// interfaces to which the PIM parameters are applied (see ~Ipv4NetworkConfigurator).
//
simple PimInterfaceTable extends SimpleModule
{
    parameters:
        @class(PimInterfaceTable);
        @display("i=block/table");
        string interfaceTableModule;
        xml pimConfig = default(xml("<config/>"));
}

File: src/inet/routing/pim/tables/PimInterfaceTable.ned