Namespace simu5g
SessionTag
classThe session a downlink datagram belongs to at a base station, and so the UE it is for. It is attached where the datagram enters the base station: from the GTP-U tunnel it arrived on, from the core network (GtpUser) or from a handover source (GtpUserX2), or, on the shortcut between two UEs of the same base station (TrafficFlowFilter's fastForwarding), from the destination UE's session (GtpUser). The modules after the entry read the UE from this tag, and each applies its own policy for picking one of the UE's node ids (see HandoverPacketHolderEnb, Ip2Nic). The tag also carries the session's type, as the tunnel end knows it from the session's establishment, so no module after the entry has to parse the datagram to learn what it carries. A datagram forwarded to a handover target keeps it until GtpUserX2 sends it on the session's tunnel there.
The tag is node-local: removeAllSimu5GTags() leaves it in place, and every node attaches its own.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Extends
| Name | Type | Description |
|---|---|---|
| TagBase | class |
This is an abstract base class that should not be directly added to a message as a tag. It is used as the base class of all tags, thus it doesn't have any fields. |
Fields
| Name | Type | Description |
|---|---|---|
| sessionId | SessionId | |
| lteNodeId | MacNodeId |
The UE's node id on its LTE stack |
| nrNodeId | MacNodeId |
The UE's node id on its NR stack; NODEID_NONE if it has none |
| sessionType | SessionType |
The session's type (see the sessionType parameter of LteUe) |
Source code
// // The session a downlink datagram belongs to at a base station, and so the UE it // is for. It is attached where the datagram enters the base station: from the GTP-U // tunnel it arrived on, from the core network (~GtpUser) or from a handover source // (~GtpUserX2), or, on the shortcut between two UEs of the same base station // (TrafficFlowFilter's fastForwarding), from the destination UE's session (~GtpUser). // The modules after the entry read the UE from this tag, and each applies its own // policy for picking one of the UE's node ids (see ~HandoverPacketHolderEnb, ~Ip2Nic). // The tag also carries the session's type, as the tunnel end knows it from the // session's establishment, so no module after the entry has to parse the datagram to // learn what it carries. // A datagram forwarded to a handover target keeps it until ~GtpUserX2 sends it on the // session's tunnel there. // // The tag is node-local: removeAllSimu5GTags() leaves it in place, and every node // attaches its own. // class SessionTag extends inet::TagBase { SessionId sessionId; MacNodeId lteNodeId = NODEID_NONE; // The UE's node id on its LTE stack MacNodeId nrNodeId = NODEID_NONE; // The UE's node id on its NR stack; NODEID_NONE if it has none SessionType sessionType = IP_V4; // The session's type (see the sessionType parameter of ~LteUe) }File: src/simu5g/common/SessionTag.msg