Ip2NicD2D

Package: simu5g.stack.d2d.ip2nic

Ip2NicD2D

simple module

Device-to-Device (D2D) aware version of Ip2Nic. It overrides the packet analysis and next-hop resolution with the D2D-capable behavior: IP-multicast becomes a D2D_MULTI flow with a group-id assignment, unicast destinations get a D2D peer lookup, and the next hop is routed directly to the peer when the peering is in Direct Mode (DM). Selected by the D2D-capable NICs.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Extends

Name Type Description
Ip2Nic simple module

Bridges the IP network layer and the cellular protocol stack, handling bidirectional packet flow. Extracts flow information from IP headers and attaches it as control tags for the stack. In base stations, determines the destination user equipment from IP addresses.

Parameters

Name Type Default value Description
nodeType string
binderModule string "binder"
connectionControlModule string "^.rrc.connectionControl"

The node's control-plane entry point, asked for a bearer on a lookup miss

isNr bool false

True for the NR leg (set by NrNicUe/NrNicEnb, or in the ini for a DC master eNB)

hasSdap bool false

When true, SDAP handles DRB/RLC assignment; Ip2Nic skips traffic classification

sessionType string ""

UE only: the type of the UE's session (see LteUe), which the payload the NIC delivers up is of; set by the NIC

establishBearersOnDemand bool true

When false, a packet that finds no established bearer raises an error instead of establishing one (static bearers are established up front; see the staticDrbs parameter of BearerConfigurator)

d2dBinderModule string "d2dBinder"

The network's D2dBinder, which holds the D2D state

Properties

Name Value Description
display i=block/layer
class Ip2NicD2D

Gates

Name Direction Size Description
upperLayerIn input

Connection to network layer

upperLayerOut output
stackIn input

Connection to the cellular stack

stackOut output

Source code

//
// Device-to-Device (D2D) aware version of ~Ip2Nic. It overrides the packet
// analysis and next-hop resolution with the D2D-capable behavior: IP-multicast
// becomes a D2D_MULTI flow with a group-id assignment, unicast destinations get
// a D2D peer lookup, and the next hop is routed directly to the peer when the
// peering is in Direct Mode (DM). Selected by the D2D-capable NICs.
//
simple Ip2NicD2D extends Ip2Nic
{
    parameters:
        @class("Ip2NicD2D");
        string d2dBinderModule = default("d2dBinder");  // The network's ~D2dBinder, which holds the D2D state
}
File: src/simu5g/stack/d2d/ip2nic/Ip2NicD2D.ned