Package: simu5g.stack.pdcp
PdcpRelayEntity
compound moduleStands in place of the PDCP entity of a data radio bearer at a dual-connectivity SECONDARY node. The bearer's real PDCP entity lives at the master; the secondary only tunnels the already-processed PDUs between the master (over X2, via the DcMux) and its own RLC, doing no PDCP processing of its own. Created dynamically by BearerManagement, one per (UE, DRB) pair, in place of a PdcpEntityBase.
The RLC-side boundary mirrors PdcpEntityBase's (legOut/legIn), so the RLC entity is wired the same way regardless of what sits above it. The two directions are independent halves: PdcpDownlinkRelay carries DL (master -> RLC), PdcpUplinkRelay carries UL (RLC -> master).
Usage diagram
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
Properties
| Name | Value | Description |
|---|---|---|
| dynamic | true | |
| display | i=block/wheelbarrow |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| legOut [ ] | output | 1 |
DL PDU to the local RLC entity (shared RLC boundary, cf. PdcpEntityBase) |
| legIn [ ] | input | 1 |
UL PDU from the local RLC entity |
| x2In | input |
DL PDU tunneled from the master (via the DcMux) |
|
| x2Out | output |
UL PDU to be tunneled to the master (via the DcMux) |
Unassigned submodule parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| dl.binderModule | string | "binder" | |
| ul.binderModule | string | "binder" |
Source code
// // Stands in place of the PDCP entity of a data radio bearer at a // dual-connectivity SECONDARY node. The bearer's real PDCP entity lives at the // master; the secondary only tunnels the already-processed PDUs between the // master (over X2, via the DcMux) and its own RLC, doing no PDCP processing of // its own. Created dynamically by BearerManagement, one per (UE, DRB) pair, in // place of a ~PdcpEntityBase. // // The RLC-side boundary mirrors ~PdcpEntityBase's (legOut/legIn), so the RLC entity // is wired the same way regardless of what sits above it. The two directions are // independent halves: ~PdcpDownlinkRelay carries DL (master -> RLC), // ~PdcpUplinkRelay carries UL (RLC -> master). // module PdcpRelayEntity { parameters: @dynamic(true); @display("i=block/wheelbarrow"); gates: output legOut[1]; // DL PDU to the local RLC entity (shared RLC boundary, cf. PdcpEntityBase) input legIn[1]; // UL PDU from the local RLC entity input x2In; // DL PDU tunneled from the master (via the DcMux) output x2Out; // UL PDU to be tunneled to the master (via the DcMux) submodules: dl: PdcpDownlinkRelay { @display("p=60,50"); } ul: PdcpUplinkRelay { @display("p=140,50"); } connections: x2In --> dl.in; dl.out --> { @display("m=s"); } --> legOut[0]; legIn[0] --> { @display("m=s"); } --> ul.in; ul.out --> x2Out; }File: src/simu5g/stack/pdcp/PdcpRelayEntity.ned