Family gtp netlink specification¶
Summary¶
GPRS Tunnelling Protocol, user plane (GTP-U).
The gtp netdevice encapsulates and decapsulates user plane packets in GTP-U tunnels (GTPv0 and GTPv1-U, see 3GPP TS 29.060 and TS 29.281). This family manages the PDP contexts that describe the tunnels and triggers GTP-U echo requests. It is driven by user space control planes such as those built on libgtpnl.
The kernel registers the family with version 0, which the genetlink-legacy schema cannot express.
The notifications multicast on the “gtp” group are not described: PDP context additions and deletions, and GTP-U echo responses, reuse the NEWPDP, DELPDP and ECHOREQ command values of the requests.
Operations¶
newpdp¶
Create or update a PDP context.
- attribute-set:
- value:
0
- dont-validate:
[‘strict’, ‘dump’]
- flags:
[
admin-perm]- do:
- request
- attributes:
[
link,version,tid,peer-address,peer-addr6,ms-address,ms-addr6,flow,i-tei,o-tei,family,net-ns-fd]
delpdp¶
Delete a PDP context.
- attribute-set:
- dont-validate:
[‘strict’, ‘dump’]
- flags:
[
admin-perm]- do:
- request
- attributes:
[
link,version,tid,ms-address,ms-addr6,i-tei,family,net-ns-fd]
getpdp¶
Get or dump one or more PDP contexts.
- attribute-set:
- dont-validate:
[‘strict’, ‘dump’]
- flags:
[
admin-perm]- do:
- request
- attributes:
[
link,version,tid,ms-address,ms-addr6,i-tei,family,net-ns-fd]
- reply
- attributes:
[
link,version,tid,peer-address,peer-addr6,ms-address,ms-addr6,flow,i-tei,o-tei,family]
- dump:
- reply
- attributes:
[
link,version,tid,peer-address,peer-addr6,ms-address,ms-addr6,flow,i-tei,o-tei,family]
echoreq¶
Send a GTP-U echo request to a peer. ms-address is not a mobile subscriber address here, but the local IPv4 address used as source of the request.
- attribute-set:
- dont-validate:
[‘strict’, ‘dump’]
- flags:
[
admin-perm]- do:
- request
- attributes:
[
link,version,peer-address,ms-address,net-ns-fd]
Multicast groups¶
gtp
Definitions¶
version¶
- type:
enum
- name-prefix:
gtp-
- enum-name:
gtp-version
- header:
linux/gtp.h
- entries:
v0v1
Attribute sets¶
gtp¶
link (u32)¶
- doc:
ifindex of the gtp netdevice the context is attached to.
version (u32)¶
- enum:
- doc:
GTP version of the context, GTPv0 or GTPv1-U.
tid (u64)¶
- doc:
Tunnel identifier, GTPv0 only.
peer-address (u32)¶
- byte-order:
big-endian
- display-hint:
ipv4
- doc:
IPv4 address of the remote GSN peer (GGSN or SGSN). Also known as GTPA_SGSN_ADDRESS, kept for legacy user space.
ms-address (u32)¶
- byte-order:
big-endian
- display-hint:
ipv4
- doc:
IPv4 address of the mobile subscriber served by the context.
flow (u16)¶
- doc:
Flow label, GTPv0 only.
net-ns-fd (u32)¶
- doc:
File descriptor of the network namespace of the gtp netdevice.
i-tei (u32)¶
- doc:
Ingress Tunnel Endpoint Identifier, GTPv1-U only.
o-tei (u32)¶
- doc:
Egress Tunnel Endpoint Identifier, GTPv1-U only.
pad (pad)¶
peer-addr6 (binary)¶
- byte-order:
big-endian
- display-hint:
ipv6
- doc:
IPv6 address of the remote GSN peer (GGSN or SGSN).
ms-addr6 (binary)¶
- byte-order:
big-endian
- display-hint:
ipv6
- doc:
IPv6 prefix of the mobile subscriber served by the context: a /64 prefix, with the lower 64 bits set to zero.
family (u8)¶
- doc:
Address family (AF_INET or AF_INET6) of ms-address or ms-addr6, AF_INET when absent. The peer address uses the family of the tunnel socket.