PdcpMux

Package: simu5g.stack.pdcp

simple module PdcpMux

Upper-layer PDCP packet dispatcher.

Receives SDUs from the module above – Ip2Nic, or NrSdap where SDAP is present – looks up the toTxEntity gate of the PDCP TX entity serving that DRB, and dispatches the packet to it. Purely a dispatcher: TX entities are established by Ip2Nic/SDAP, and wired and registered in this module’s routing table by BearerManagement. Collects processed SDUs from the RX entities and sends them back up.

simu5g.stack.pdcp.PdcpMuxPdcpMuxsimple

Usage diagram

Inheritance diagram

Used in compound modules

Name

Type

Description

LteNicBase

compound module

The LteNicBase module serves as the foundational building block for LTE networking in Simu5G. It integrates protocols for LTE communication, including PDCP, RLC, MAC, and PHY layers. This base module allows higher-level modules, such as User Equipment (UE) and eNodeB (evolved Node B), to configure and utilize these layers according to their specific requirements.

Properties

Name

Value

Description

class

PdcpMux

display

i=block/dispatch

Gates

Name

Direction

Size

Description

upperLayerIn

input

upperLayerOut

output

toTxEntity [ ]

output

Dynamic: dispatches to TX entity in gates

fromRxEntity [ ]

input

Dynamic: receives from RX entity out gates

Source code

//
// Upper-layer PDCP packet dispatcher.
//
// Receives SDUs from the module above -- ~Ip2Nic, or ~NrSdap where SDAP is present --
// looks up the toTxEntity gate of the PDCP TX entity serving that DRB, and dispatches
// the packet to it. Purely a dispatcher: TX entities are established by Ip2Nic/SDAP,
// and wired and registered in this module's routing table by ~BearerManagement.
// Collects processed SDUs from the RX entities and sends them back up.
//
simple PdcpMux like IPdcpMux
{
    parameters:
        @class("PdcpMux");
        @display("i=block/dispatch");
    gates:
        input upperLayerIn;
        output upperLayerOut;
        output toTxEntity[];       // Dynamic: dispatches to TX entity in gates
        input fromRxEntity[];      // Dynamic: receives from RX entity out gates
}

File: src/simu5g/stack/pdcp/PdcpMux.ned