UnstructuredIo

Package: simu5g.apps.unstructured

UnstructuredIo

simple module

Attaches an application to the cellular NIC of a UE whose session is of type Unstructured (the UE's sessionType parameter, see LteUe): the payload goes down to the NIC and comes up from it as is, with no transport or network layer in between. Packets arriving on trafficIn are sent to the NIC tagged with the "unstructured" protocol; what the NIC delivers up as that protocol leaves on trafficOut. The module registers as the node's receiver of the protocol, so a UE has at most one of it. It is connected to the UE's network-layer dispatcher (see the unstructuredApp submodules of LteUe).

Used in compound modules

Name Type Description
UnstructuredApp compound module

An application of a UE whose session is of type Unstructured (the UE's sessionType parameter, see LteUe): it sends and receives opaque payload through the UE's cellular NIC, which carries it over the session to the data network (see UserPlaneNodeControl for the N6 end of the session). The traffic source and sink are built from queueing model elements, as INET's EthernetApp's; UnstructuredIo attaches them to the NIC. UnstructuredSourceApp and UnstructuredSinkApp only send and only receive. A UE has at most one such application, in its unstructuredApp submodule vector.

Parameters

Name Type Default value Description
interfaceTableModule string

Relative module path of the interface table

interface string "cellular"

The name of the cellular NIC's interface

Properties

Name Value Description
display i=block/socket

Gates

Name Direction Size Description
trafficIn input
trafficOut output
socketIn input
socketOut output

Signals

Name Type Unit Description
packetSent inet::Packet
packetReceived inet::Packet

Statistics

Name Title Source Record Unit Interpolation Mode Description
packetSent packets sent packetSent count, sum(packetBytes), vector(packetBytes) none
packetReceived packets received packetReceived count, sum(packetBytes), vector(packetBytes) none

Source code

//
// Attaches an application to the cellular NIC of a UE whose session is of type
// Unstructured (the UE's sessionType parameter, see ~LteUe): the payload goes down
// to the NIC and comes up from it as is, with no transport or network layer in
// between. Packets arriving on trafficIn are sent to the NIC tagged with the
// "unstructured" protocol; what the NIC delivers up as that protocol leaves on
// trafficOut. The module registers as the node's receiver of the protocol, so a UE
// has at most one of it. It is connected to the UE's network-layer dispatcher (see
// the unstructuredApp submodules of ~LteUe).
//
simple UnstructuredIo
{
    parameters:
        string interfaceTableModule;  // Relative module path of the interface table
        string interface = default("cellular");  // The name of the cellular NIC's interface
        @display("i=block/socket");
        @signal[packetSent](type=inet::Packet);
        @signal[packetReceived](type=inet::Packet);
        @statistic[packetSent](title="packets sent"; source=packetSent; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none);
        @statistic[packetReceived](title="packets received"; source=packetReceived; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none);
    gates:
        input trafficIn;
        output trafficOut;
        input socketIn;
        output socketOut;
}
File: src/simu5g/apps/unstructured/UnstructuredIo.ned