Skip to content

Connectivity

Ella Core uses 4 different interfaces by default:

  • API: The HTTP API and UI (HTTPS:5002)
  • N2 / S1-MME: The control plane interface between Ella Core and the Radio (4G: SCTP:36412, 5G: SCTP:38412)
  • N3 / S1-U: The user plane interface between Ella Core and the Radio (UDP:2152)
  • N6 / SGi: The user plane interface between Ella Core and the internet
Connectivity
Connectivity in Ella Core

Combining interfaces

It is possible to combine interfaces in the following manners.

Combined N2 and N3

Many radios can use a single network link towards the core. In this case, N2 and N3 can be combined by using the same interface name for both of them in the configuration file.

Combined N2/N3
Combined N2 and N3

Combined API and N6

The API interface is often the management interface with internet access, and the N6 interface also requires internet access. They can be combined by using the same interface name for both in the configuration file.

Combined API/N6
Combined API and N6

Combined API/N6 and combined N2/N3

It is possible to use both combination together to reduce the requirements to 2 interfaces.

Combined All
Combined All

One or both of these interfaces can be virtual interfaces, with veth. See Datapath constraints.

Combined on one interface

Ella Core can also be run with a single network interface. It can be achieved by using the same interface name in the configuration file, or by using VLANs.

Using VLANs

It is possible to use VLAN interfaces, with or without combining interfaces as described previously. In this case, the configuration file should contain the name of the VLAN interface, not the parent interface.

Datapath constraints

The datapath attaches to N3 and N6 at the hook set by datapath.attach-mode. The shape of those interfaces constrains which modes work.

  • veth, xdp-native: an XDP program must be attached to the peer interface, see the explanation and the setup guide.
  • veth, xdp-generic: TX checksum offload must be disabled on both ends, see the explanation.
  • Any interface, tcx or xdp-generic: the interface must not deliver merged packets, see Disable merged packets.

NAT

NAT is IPv4-only and applies to uplink traffic leaving N6, sourced from the N6 address. It is configured on the Networking page of the UI or through the Networking API.

  • Source ports are allocated from 1024-32767.
  • Downlink traffic reaches a subscriber only when it matches a translation the subscriber's own traffic created. Anything else is dropped and counted in app_upf_datapath_drop_total{reason="nat_unsolicited"}.
  • Traffic NAT cannot translate is dropped and counted in the same metric under another nat_ reason: IP fragments, and protocols without ports such as ESP, GRE and SCTP. Protocols that embed addresses in their payload, such as FTP in active mode, do not work.

IPv6 and dual-stack support

Ella Core supports IPv6 and dual-stack on the following interfaces:

  • api
  • n2
  • n3

They can be configured specifically with an IPv6 address to use IPv6. When specifying an interface, Ella Core will use all the non link-local addresses on the interface; if the interface is configured for dual-stack, Ella Core will use dual-stack on that interface.

Dual-stack N3 / S1-U transport

Both the N3 (5G) and S1-U (4G) interfaces support IPv4 and IPv6 transport for GTP-U tunnels. At startup Ella Core automatically resolves both IPv4 and IPv6 addresses from the configured interface and advertises them to the radio — to the gNB in the NGAP TransportLayerAddress (per 3GPP TS 38.414 Section 5.1), and to the eNB in the S1AP Transport Layer Address (per 3GPP TS 36.413) — each a 160-bit field carrying both families. The gNB selects its preferred address family in its response; for 4G, when the eNB offers both families, the IPv6 endpoint is used. Subsequent GTP-U encapsulation and decapsulation use the matching outer header type. IPv4-only and IPv6-only configurations are also supported.