INetworkLayer2CellularNic¶
Package: simu5g.stack.ip2nic
module interface INetworkLayer2CellularNic
The INetworkLayer2CellularNic module interface serves as an intermediary between the network layer and the cellular (LTE/NR) protocol stack. It facilitates interactions between the cellular stack and the network layer, enabling the transmission of IP packets through the protocol layers of LTE and NR technologies.
Inheritance diagram¶
Implemented by¶
Name |
Type |
Description |
|---|---|---|
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. |
|
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 |
||
isNr |
bool |
Properties¶
Name |
Value |
Description |
|---|---|---|
display |
i=block/layer |
Source code¶
//
// The INetworkLayer2CellularNic module interface serves as an intermediary between the network layer
// and the cellular (LTE/NR) protocol stack. It facilitates interactions between the cellular stack and the
// network layer, enabling the transmission of IP packets through the protocol layers of
// LTE and NR technologies.
//
moduleinterface INetworkLayer2CellularNic
{
parameters:
string nodeType;
bool isNr;
@display("i=block/layer");
gates:
// Connection to network layer.
// These gate names are recognized by the network layer (same as the ones in the INetworkInterface interface)
input upperLayerIn;
output upperLayerOut;
// Connection to the cellular stack
input stackIn;
output stackOut;
}