IRlcMux

Package: simu5g.stack.rlc

module interface IRlcMux

Module interface for the lower-layer RLC packet dispatcher of a cellular NIC (see RlcMux for the default implementation). Implementations dispatch packets coming from the MAC layer to the RLC RX entity serving their DRB (or, for MAC SDU requests, to its TX entity), and pass the output of the TX entities down to MAC. The per-bearer gates are created and wired at runtime by BearerManagement, which also registers the RX routing table; implementations must therefore subclass the RlcMux C++ class.

Inheritance diagram

Implemented by

Name

Type

Description

RlcMuxD2D

simple module

Device-to-Device (D2D) aware version of RlcMux. It additionally handles D2D mode switch notifications arriving from the MAC layer, dispatching them to the TX or RX UM entity of the affected bearer, and declares the D2D statistics (emitted by the D2D UM entities). Selected by the D2D-capable NICs.

RlcMux

simple module

Lower-layer RLC packet dispatcher.

Parameters

Name

Type

Default value

Description

bearerManagementModule

string

Properties

Name

Value

Description

display

i=block/dispatch

Source code

//
// Module interface for the lower-layer RLC packet dispatcher of a cellular NIC
// (see ~RlcMux for the default implementation). Implementations dispatch packets
// coming from the MAC layer to the RLC RX entity serving their DRB (or, for MAC
// SDU requests, to its TX entity), and pass the output of the TX entities down to
// MAC. The per-bearer gates are created and wired at runtime by ~BearerManagement,
// which also registers the RX routing table; implementations must therefore
// subclass the RlcMux C++ class.
//
moduleinterface IRlcMux
{
    parameters:
        string bearerManagementModule;
        @display("i=block/dispatch");
    gates:
        input macIn;
        output macOut;
        output toRxEntity[];          // Dynamic: dispatches to RX entity in gates
        input fromTxEntity[];         // Dynamic: receives from TX entity out gates
        output macToTxEntity[];       // Dynamic: dispatches MAC SDU requests to TX entity macIn gates
}

File: src/simu5g/stack/rlc/IRlcMux.ned