Package: simu5g.nodes
CellularNicNdSink
simple moduleWORKAROUND: takes what the IPv6 layer of a base station sends to the cellular NIC, which is no interface of the base station's own network layer: the NIC is wired to the user plane (TrafficFlowFilter, GtpUser), not to the link-layer dispatcher (nl). The NIC stays in the interface table nevertheless, because the address configurator builds the routes of the UEs through it, as their neighbor on the cellular link. The network layer's dispatcher maps the NIC to this module (see eNodeB), which discards IPv6 Neighbor Discovery messages (Router and Neighbor Solicitations and Advertisements, Redirects): IPv6 runs them on every interface, and they reach no one over the cellular NIC. Any other packet is an error.
The proper model, which makes this module unnecessary: a UE's IP link runs to the UPF over its PDU session, not to the base station; the address configurator cannot express that yet.
Used in compound modules
| Name | Type | Description |
|---|---|---|
| eNodeB | compound module |
Models an evolved Node B (eNB) of a 4G LTE network. It is a specialized device equipped with a Network Interface Card (NIC) that enables communication with the LteUe devices connected to it. It serves as an access point that routes packets between the UEs and the 4G Core Network. Packets arriving from the UEs are tunneled to the appropriate next hop in the core network (e.g., the PDN Gateway, PGW) using the GPRS Tunneling Protocol (GTP). Conversely, packets received from the core network are detunneled and sent to the appropriate destination UE. In addition to the 4G NIC, this compound module includes a configurable number of wired interfaces to connect with routers of the core network or directly to the PgwStandard module, which serves as the IP module to perform forwarding, and the UserPlaneRelay that relays between the NIC and the GTP tunnels: its TrafficFlowFilter classifies incoming packets and determines the next hop, and its GtpUser handles GTP (de)tunneling. Furthermore, it features a configurable number of LteX2App modules to facilitate peer-to-peer communications with other eNodeBs within the same LTE network. |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=block/sink;is=s |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| in | input | ||
| out | output |
Unused: pairs the input at the dispatcher, whose gates come in pairs |
Source code
// // WORKAROUND: takes what the IPv6 layer of a base station sends to the cellular // NIC, which is no interface of the base station's own network layer: the NIC is // wired to the user plane (~TrafficFlowFilter, ~GtpUser), not to the link-layer // dispatcher (nl). The NIC stays in the interface table nevertheless, because the // address configurator builds the routes of the UEs through it, as their neighbor on // the cellular link. The network layer's dispatcher maps the NIC to this module // (see ~eNodeB), which discards IPv6 Neighbor Discovery messages (Router and // Neighbor Solicitations and Advertisements, Redirects): IPv6 runs them on every // interface, and they reach no one over the cellular NIC. Any other packet is an // error. // // The proper model, which makes this module unnecessary: a UE's IP link runs to the // UPF over its PDU session, not to the base station; the address configurator // cannot express that yet. // simple CellularNicNdSink { parameters: @display("i=block/sink;is=s"); gates: input in; output out; // Unused: pairs the input at the dispatcher, whose gates come in pairs }File: src/simu5g/nodes/CellularNicNdSink.ned