ConnectionControlEnbD2D¶
Package: simu5g.stack.d2d.rrc
simple module ConnectionControlEnbD2D
D2D-capable variant of the ConnectionControlEnb. It adds the sidelink bearers of the UEs the base station serves: a D2D unicast or multicast flow gets a bearer with a fixed transitional configuration (RLC UM on LCG 3), outside the bearer definition system; a multicast bearer’s TX leg is installed at the sender and an RX leg at each group member, and a node joining a group later gets the RX legs of the group’s known senders. The sidelink node pairs’ DRB identities and the established multicast flows are kept network-wide in the D2dBinder, since a sidelink bearer’s ends are UEs whose serving base stations may differ and change.
It also handles the D2D side of the handovers of the D2D-capable UE legs it serves (a leg reports the capability when it connects, and a handover carries it with the context): before commanding a leg’s handover, the leg’s D2D flows are switched back to infrastructure mode through the node’s D2dModeSelectionBase; a leg’s D2D direction is attached at the node’s AMC when it arrives, by handover or by attaching during the run, and a D2D mode re-selection follows at the end of that instant; and it is detached when the leg leaves.
Selected via ‘rrc.connectionControl.typename’ by the D2D-capable base station NICs.
Inheritance diagram¶
Extends¶
Name |
Type |
Description |
|---|---|---|
simple module |
The control-plane entry point of a base station: the one module of the node that the control plane of other nodes – the CoreControl, the other base stations, and the UEs’ ConnectionControlUe – talks to, and that the node’s own data path turns to when it needs a bearer. |
Parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
binderModule |
string |
“binder” |
|
bearerConfiguratorModule |
string |
“bearerConfigurator” |
|
coreControlModule |
string |
“coreControl” |
|
bearerManagementModule |
string |
“^.bearerManagement” |
|
macModule |
string |
“^.^.mac” |
|
handoverPacketHolderModule |
string |
“^.^.handoverPacketHolder” |
|
gtpUserModule |
string |
“^.^.^.relay.gtpUser” |
|
gtpUserX2Module |
string |
“^.^.^.gtpUserX2” |
|
macNodeId |
int |
The base station’s node id; the NIC sets it from the node’s |
|
gateway |
string |
“” |
The node’s core network gateway, as its gateway parameter names it; ignored at a node not connected to a core network (a secondary node) |
d2dBinderModule |
string |
“d2dBinder” |
The network’s D2dBinder, which holds the D2D state |
d2dModeSelectionModule |
string |
“^.d2dModeSelection” |
The node’s D2D mode selection; none if the module does not exist |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
ConnectionControlEnbD2D |
|
display |
i=block/control |
Source code¶
//
// D2D-capable variant of the ~ConnectionControlEnb. It adds the sidelink bearers of
// the UEs the base station serves: a D2D unicast or multicast flow gets a bearer
// with a fixed transitional configuration (RLC UM on LCG 3), outside the bearer
// definition system; a multicast bearer's TX leg is installed at the sender and an
// RX leg at each group member, and a node joining a group later gets the RX legs of
// the group's known senders. The sidelink node pairs' DRB identities and the
// established multicast flows are kept network-wide in the ~D2dBinder, since a
// sidelink bearer's ends are UEs whose serving base stations may differ and change.
//
// It also handles the D2D side of the handovers of the D2D-capable UE legs it
// serves (a leg reports the capability when it connects, and a handover carries it
// with the context): before commanding a leg's handover, the leg's D2D flows are
// switched back to infrastructure mode through the node's ~D2dModeSelectionBase;
// a leg's D2D direction is attached at the node's AMC when it arrives, by handover
// or by attaching during the run, and a D2D mode re-selection follows at the end
// of that instant; and it is detached when the leg leaves.
//
// Selected via 'rrc.connectionControl.typename' by the D2D-capable base station NICs.
//
simple ConnectionControlEnbD2D extends ConnectionControlEnb
{
parameters:
@class(ConnectionControlEnbD2D);
string d2dBinderModule = default("d2dBinder"); // The network's ~D2dBinder, which holds the D2D state
string d2dModeSelectionModule = default("^.d2dModeSelection"); // The node's D2D mode selection; none if the module does not exist
}