SlideShare a Scribd company logo
2
Most read
4
Most read
6
Most read
Using GTP on Linux
( libgtpnl )
SRv6 Consortium, Data plane Study Group
Kentaro Ebisawa | Twitter: @ebiken
Using GTP on Linux (libgtpnl) | SRv6 Consortium, Data plane Study Group | 2018/12/31 (rev 0) 1
• Linux has kernel level implementation of GTP tunnel endpoint
• Since Linux Kernel 4.7
• “drivers/net/gtp.c”
• https://github.com/torvalds/linux/blob/master/Documentation/networking/gtp.txt
• https://osmocom.org/projects/linux-kernel-gtp-u/wiki
• Features
• Encap / Decap of GTP-U (GTP User Plane)
• GTP-U v0 [GSM TS 09.60] and v1 [3GPP TS 29.281]
• IPv4 only : No GTP over IPv6 nor IPv6 user traffic on GTP payload
Since GTPv0 is deprecated, this slide will only show GTPv1
Using GTP on Linux (libgtpnl) | SRv6 Consortium, Data plane Study Group | 2018/12/31 (rev 0) 2
GTP on Linux
• You can use netlink to configure GTP Kernel module.
• The most simple way is to use tools in libgtpnl
• No need to run control plane software.
• http://git.osmocom.org/libgtpnl/
• https://osmocom.org/projects/linux-kernel-gtp-u/wiki/Libgtpnl
Using GTP on Linux (libgtpnl) | SRv6 Consortium, Data plane Study Group | 2018/12/31 (rev 0) 3
How to configure GTP-U on Linux
Using GTP on Linux (libgtpnl) | SRv6 Consortium, Data plane Study Group | 2018/12/31 (rev 0) 4
Building libgtpnl
> Install prerequisites
$ sudo apt install libmnl-dev autoconf libtool
> Clone source code, configure and build
$ git clone git://git.osmocom.org/libgtpnl.git
$ cd libgtpnl
libgtpnl$ autoreconf –fi
libgtpnl$ ./configure
libgtpnl$ make
libgtpnl$ sudo make install
libgtpnl$ sudo ldconfig
> Check gtp-link and gtp-tunnel are built
libgtpnl$ sudo -s
libgtpnl# cd tools
libgtpnl/tools# ./gtp-link
Usage: ./gtp-link <add|del> <device>
libgtpnl/tools# ./gtp-tunnel
./gtp-tunnel <add|delete|list> [<options,...>]
> If LIBMNL error happens during ./configure, do below.
./configure: line 2950: syntax error near unexpected token `LIBMNL,'
./configure: line 2950: `PKG_CHECK_MODULES(LIBMNL, libmnl >= 1.0.0)’
$ whereis libmnl
libmnl: /usr/lib/x86_64-linux-gnu/libmnl.a /usr/lib/x86_64-linux-
gnu/libmnl.so /usr/local/lib/libmnl.so /usr/local/lib/libmnl.la
/usr/include/libmnl
$ ldd /usr/local/lib/libmnl.so
linux-vdso.so.1 (0x00007fffdadf9000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6f9af5d000)
/lib64/ld-linux-x86-64.so.2 (0x00007f6f9b554000)
> make sure you run autoreconf again before running ./configure
libgtpnl$ autoreconf –fi
libgtpnl$ ./configure
Using GTP on Linux (libgtpnl) | SRv6 Consortium, Data plane Study Group | 2018/12/31 (rev 0) 5
Configure GTP endpoints inside netns
netns: default netns: ns2
veth1
172.0.0.1/24
veth2
172.0.0.2/24
gtp1
(gtp device)
gtp2
(gtp device)
lo (loopback)
172.99.0.2/32
lo (loopback)
172.99.0.1/32
TEID# 100
TEID#200
TEID# 100
TEID#200
$ sudo –s
ip link add veth1 type veth peer name veth2
ip addr add 172.0.0.1/24 dev veth1
ip link set veth1 up
ip addr add 172.99.0.1/32 dev lo
> Create gtp device
./gtp-link add gtp1
> Open a new console and configure tunnel (PDP session)
./gtp-tunnel add gtp1 v1 200 100 172.99.0.2 172.0.0.2
ip route add 172.99.0.2/32 dev gtp1
$ sudo –s
ip netns add ns2
ip link set veth2 netns ns2
ip netns exec ns2 ip addr add 172.0.0.2/24 dev veth2
ip netns exec ns2 ip link set veth2 up
ip netns exec ns2 ip addr add 172.99.0.2/32 dev lo
ip netns exec ns2 ip link set lo up
> Create gtp device
ip netns exec ns2 ./gtp-link add gtp2
> Open a new console and configure tunnel (PDP session)
ip netns exec ns2 ./gtp-tunnel add gtp2 v1 100 200 172.99.0.1 172.0.0.1
ip netns exec ns2 ip route add 172.99.0.1/32 dev gtp2
Using GTP on Linux (libgtpnl) | SRv6 Consortium, Data plane Study Group | 2018/12/31 (rev 0) 6
command to configuration mapping (gtp1 => gtp2)
netns: default netns: ns2
veth1
172.0.0.1/24
veth2
172.0.0.2/24
gtp1
(gtp device)
gtp2
(gtp device)
lo (loopback)
172.99.0.2/32
lo (loopback)
172.99.0.1/32
TEID# 100
TEID#200
TEID# 100
TEID#200
./gtp-tunnel add gtp1 v1 200 100 172.99.0.2 172.0.0.2
./gtp-tunnel add <gtp device> <v1> <i_tei> <o_tei> <ms-addr> <sgsn-addr>
gtp device
i_tei
o_tei sgsn-addr
ms-addr
output TEID
input TEID
Tunnel Endpoint
MS: Mobile Station
(UE in LTE)
Packet with dst IP = <ms-addr> will be encapsulated in
GTP packet with dst IP = <sgsn-addr> and TEID = <o_tei>
Using GTP on Linux (libgtpnl) | SRv6 Consortium, Data plane Study Group | 2018/12/31 (rev 0) 7
Confirm tunnel (PDP session) configuration
netns: default netns: ns2
veth1
172.0.0.1/24
veth2
172.0.0.2/24
gtp1
(gtp device)
gtp2
(gtp device)
lo (loopback)
172.99.0.2/32
lo (loopback)
172.99.0.1/32
TEID# 100
TEID#200
TEID# 100
TEID#200
libgtpnl/tools# ./gtp-tunnel list
version 1 tei 200/100 ms_addr 172.99.0.2 sgsn_addr 172.0.0.2
libgtpnl/tools# ip netns exec ns2 ./gtp-tunnel list
version 1 tei 100/200 ms_addr 172.99.0.1 sgsn_addr 172.0.0.1
Using GTP on Linux (libgtpnl) | SRv6 Consortium, Data plane Study Group | 2018/12/31 (rev 0) 8
GTP Packet Dump
netns: default netns: ns2
veth1
172.0.0.1/24
veth2
172.0.0.2/24
gtp1
(gtp device)
gtp2
(gtp device)
lo (loopback)
172.99.0.2/32
lo (loopback)
172.99.0.1/32
TEID# 100
TEID#200
TEID# 100
TEID#200
# ping 172.99.0.2
ICMP echo request
ICMP echo reply

More Related Content

What's hot (20)

PDF
GTPing, How To
Kentaro Ebisawa
 
PPTX
Linux Network Stack
Adrien Mahieux
 
PPTX
Understanding DPDK
Denys Haryachyy
 
PDF
Fun with Network Interfaces
Kernel TLV
 
PPT
Chap05 gtp 03_kh
Farzad Ramin
 
PPTX
DPDK KNI interface
Denys Haryachyy
 
PPTX
Understanding DPDK algorithmics
Denys Haryachyy
 
ODP
eBPF maps 101
SUSE Labs Taipei
 
PDF
Linux Networking Explained
Thomas Graf
 
PDF
netfilter and iptables
Kernel TLV
 
PDF
LinuxCon 2015 Linux Kernel Networking Walkthrough
Thomas Graf
 
PPSX
FD.io Vector Packet Processing (VPP)
Kirill Tsym
 
PDF
Accelerating Envoy and Istio with Cilium and the Linux Kernel
Thomas Graf
 
PDF
eBPF/XDP
Netronome
 
PDF
Ifupdown2: Network Interface Manager
Cumulus Networks
 
PDF
OpenShift Kubernetes Native Infrastructure for 5GC and Telco Edge Cloud
Hidetsugu Sugiyama
 
PDF
DPDK: Multi Architecture High Performance Packet Processing
Michelle Holley
 
PDF
BPF / XDP 8월 세미나 KossLab
Taeung Song
 
PDF
Intel dpdk Tutorial
Saifuddin Kaijar
 
PPTX
A Kernel of Truth: Intrusion Detection and Attestation with eBPF
oholiab
 
GTPing, How To
Kentaro Ebisawa
 
Linux Network Stack
Adrien Mahieux
 
Understanding DPDK
Denys Haryachyy
 
Fun with Network Interfaces
Kernel TLV
 
Chap05 gtp 03_kh
Farzad Ramin
 
DPDK KNI interface
Denys Haryachyy
 
Understanding DPDK algorithmics
Denys Haryachyy
 
eBPF maps 101
SUSE Labs Taipei
 
Linux Networking Explained
Thomas Graf
 
netfilter and iptables
Kernel TLV
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
Thomas Graf
 
FD.io Vector Packet Processing (VPP)
Kirill Tsym
 
Accelerating Envoy and Istio with Cilium and the Linux Kernel
Thomas Graf
 
eBPF/XDP
Netronome
 
Ifupdown2: Network Interface Manager
Cumulus Networks
 
OpenShift Kubernetes Native Infrastructure for 5GC and Telco Edge Cloud
Hidetsugu Sugiyama
 
DPDK: Multi Architecture High Performance Packet Processing
Michelle Holley
 
BPF / XDP 8월 세미나 KossLab
Taeung Song
 
Intel dpdk Tutorial
Saifuddin Kaijar
 
A Kernel of Truth: Intrusion Detection and Attestation with eBPF
oholiab
 

More from Kentaro Ebisawa (20)

PDF
P4 Updates (2020) (Japanese)
Kentaro Ebisawa
 
PDF
Barefoot Faster™ 日本語紹介
Kentaro Ebisawa
 
PDF
IETF106 Hackathon 報告 & P4 based Switch の課題と未来
Kentaro Ebisawa
 
PDF
MPLS Japan 2019 : Data & Control Plane を繋ぐ API
Kentaro Ebisawa
 
PDF
Yang Tools Quick Memo
Kentaro Ebisawa
 
PDF
In Network Computing Prototype Using P4 at KSC/KREONET 2019
Kentaro Ebisawa
 
PDF
Comparison of SRv6 Extensions uSID, SRv6+, C-SRH
Kentaro Ebisawa
 
PDF
Interop2019 Toyota Netcope P4
Kentaro Ebisawa
 
PDF
IETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U Translation
Kentaro Ebisawa
 
PDF
p4srv6 (P4-16) design document rev1.0
Kentaro Ebisawa
 
PDF
JANOG43 Forefront of SRv6, Open Source Implementations
Kentaro Ebisawa
 
PDF
"SRv6の現状と展望" ENOG53@上越
Kentaro Ebisawa
 
PDF
SRv6 Mobile User Plane P4 proto-type
Kentaro Ebisawa
 
PDF
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Kentaro Ebisawa
 
PDF
Zebra 2.0 in Hybrid Cloud Era
Kentaro Ebisawa
 
PDF
p4alu: Arithmetic Logic Unit in P4
Kentaro Ebisawa
 
PDF
zebra & openconfigd Introduction
Kentaro Ebisawa
 
PDF
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
Kentaro Ebisawa
 
PDF
How to run P4 BMv2
Kentaro Ebisawa
 
PDF
ネットワークOS野郎 ~ インフラ野郎Night 20160414
Kentaro Ebisawa
 
P4 Updates (2020) (Japanese)
Kentaro Ebisawa
 
Barefoot Faster™ 日本語紹介
Kentaro Ebisawa
 
IETF106 Hackathon 報告 & P4 based Switch の課題と未来
Kentaro Ebisawa
 
MPLS Japan 2019 : Data & Control Plane を繋ぐ API
Kentaro Ebisawa
 
Yang Tools Quick Memo
Kentaro Ebisawa
 
In Network Computing Prototype Using P4 at KSC/KREONET 2019
Kentaro Ebisawa
 
Comparison of SRv6 Extensions uSID, SRv6+, C-SRH
Kentaro Ebisawa
 
Interop2019 Toyota Netcope P4
Kentaro Ebisawa
 
IETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U Translation
Kentaro Ebisawa
 
p4srv6 (P4-16) design document rev1.0
Kentaro Ebisawa
 
JANOG43 Forefront of SRv6, Open Source Implementations
Kentaro Ebisawa
 
"SRv6の現状と展望" ENOG53@上越
Kentaro Ebisawa
 
SRv6 Mobile User Plane P4 proto-type
Kentaro Ebisawa
 
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Kentaro Ebisawa
 
Zebra 2.0 in Hybrid Cloud Era
Kentaro Ebisawa
 
p4alu: Arithmetic Logic Unit in P4
Kentaro Ebisawa
 
zebra & openconfigd Introduction
Kentaro Ebisawa
 
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
Kentaro Ebisawa
 
How to run P4 BMv2
Kentaro Ebisawa
 
ネットワークOS野郎 ~ インフラ野郎Night 20160414
Kentaro Ebisawa
 
Ad

Recently uploaded (20)

PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PPTX
Digital Circuits, important subject in CS
contactparinay1
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Digital Circuits, important subject in CS
contactparinay1
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Ad

Using GTP on Linux with libgtpnl

  • 1. Using GTP on Linux ( libgtpnl ) SRv6 Consortium, Data plane Study Group Kentaro Ebisawa | Twitter: @ebiken Using GTP on Linux (libgtpnl) | SRv6 Consortium, Data plane Study Group | 2018/12/31 (rev 0) 1
  • 2. • Linux has kernel level implementation of GTP tunnel endpoint • Since Linux Kernel 4.7 • “drivers/net/gtp.c” • https://github.com/torvalds/linux/blob/master/Documentation/networking/gtp.txt • https://osmocom.org/projects/linux-kernel-gtp-u/wiki • Features • Encap / Decap of GTP-U (GTP User Plane) • GTP-U v0 [GSM TS 09.60] and v1 [3GPP TS 29.281] • IPv4 only : No GTP over IPv6 nor IPv6 user traffic on GTP payload Since GTPv0 is deprecated, this slide will only show GTPv1 Using GTP on Linux (libgtpnl) | SRv6 Consortium, Data plane Study Group | 2018/12/31 (rev 0) 2 GTP on Linux
  • 3. • You can use netlink to configure GTP Kernel module. • The most simple way is to use tools in libgtpnl • No need to run control plane software. • http://git.osmocom.org/libgtpnl/ • https://osmocom.org/projects/linux-kernel-gtp-u/wiki/Libgtpnl Using GTP on Linux (libgtpnl) | SRv6 Consortium, Data plane Study Group | 2018/12/31 (rev 0) 3 How to configure GTP-U on Linux
  • 4. Using GTP on Linux (libgtpnl) | SRv6 Consortium, Data plane Study Group | 2018/12/31 (rev 0) 4 Building libgtpnl > Install prerequisites $ sudo apt install libmnl-dev autoconf libtool > Clone source code, configure and build $ git clone git://git.osmocom.org/libgtpnl.git $ cd libgtpnl libgtpnl$ autoreconf –fi libgtpnl$ ./configure libgtpnl$ make libgtpnl$ sudo make install libgtpnl$ sudo ldconfig > Check gtp-link and gtp-tunnel are built libgtpnl$ sudo -s libgtpnl# cd tools libgtpnl/tools# ./gtp-link Usage: ./gtp-link <add|del> <device> libgtpnl/tools# ./gtp-tunnel ./gtp-tunnel <add|delete|list> [<options,...>] > If LIBMNL error happens during ./configure, do below. ./configure: line 2950: syntax error near unexpected token `LIBMNL,' ./configure: line 2950: `PKG_CHECK_MODULES(LIBMNL, libmnl >= 1.0.0)’ $ whereis libmnl libmnl: /usr/lib/x86_64-linux-gnu/libmnl.a /usr/lib/x86_64-linux- gnu/libmnl.so /usr/local/lib/libmnl.so /usr/local/lib/libmnl.la /usr/include/libmnl $ ldd /usr/local/lib/libmnl.so linux-vdso.so.1 (0x00007fffdadf9000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6f9af5d000) /lib64/ld-linux-x86-64.so.2 (0x00007f6f9b554000) > make sure you run autoreconf again before running ./configure libgtpnl$ autoreconf –fi libgtpnl$ ./configure
  • 5. Using GTP on Linux (libgtpnl) | SRv6 Consortium, Data plane Study Group | 2018/12/31 (rev 0) 5 Configure GTP endpoints inside netns netns: default netns: ns2 veth1 172.0.0.1/24 veth2 172.0.0.2/24 gtp1 (gtp device) gtp2 (gtp device) lo (loopback) 172.99.0.2/32 lo (loopback) 172.99.0.1/32 TEID# 100 TEID#200 TEID# 100 TEID#200 $ sudo –s ip link add veth1 type veth peer name veth2 ip addr add 172.0.0.1/24 dev veth1 ip link set veth1 up ip addr add 172.99.0.1/32 dev lo > Create gtp device ./gtp-link add gtp1 > Open a new console and configure tunnel (PDP session) ./gtp-tunnel add gtp1 v1 200 100 172.99.0.2 172.0.0.2 ip route add 172.99.0.2/32 dev gtp1 $ sudo –s ip netns add ns2 ip link set veth2 netns ns2 ip netns exec ns2 ip addr add 172.0.0.2/24 dev veth2 ip netns exec ns2 ip link set veth2 up ip netns exec ns2 ip addr add 172.99.0.2/32 dev lo ip netns exec ns2 ip link set lo up > Create gtp device ip netns exec ns2 ./gtp-link add gtp2 > Open a new console and configure tunnel (PDP session) ip netns exec ns2 ./gtp-tunnel add gtp2 v1 100 200 172.99.0.1 172.0.0.1 ip netns exec ns2 ip route add 172.99.0.1/32 dev gtp2
  • 6. Using GTP on Linux (libgtpnl) | SRv6 Consortium, Data plane Study Group | 2018/12/31 (rev 0) 6 command to configuration mapping (gtp1 => gtp2) netns: default netns: ns2 veth1 172.0.0.1/24 veth2 172.0.0.2/24 gtp1 (gtp device) gtp2 (gtp device) lo (loopback) 172.99.0.2/32 lo (loopback) 172.99.0.1/32 TEID# 100 TEID#200 TEID# 100 TEID#200 ./gtp-tunnel add gtp1 v1 200 100 172.99.0.2 172.0.0.2 ./gtp-tunnel add <gtp device> <v1> <i_tei> <o_tei> <ms-addr> <sgsn-addr> gtp device i_tei o_tei sgsn-addr ms-addr output TEID input TEID Tunnel Endpoint MS: Mobile Station (UE in LTE) Packet with dst IP = <ms-addr> will be encapsulated in GTP packet with dst IP = <sgsn-addr> and TEID = <o_tei>
  • 7. Using GTP on Linux (libgtpnl) | SRv6 Consortium, Data plane Study Group | 2018/12/31 (rev 0) 7 Confirm tunnel (PDP session) configuration netns: default netns: ns2 veth1 172.0.0.1/24 veth2 172.0.0.2/24 gtp1 (gtp device) gtp2 (gtp device) lo (loopback) 172.99.0.2/32 lo (loopback) 172.99.0.1/32 TEID# 100 TEID#200 TEID# 100 TEID#200 libgtpnl/tools# ./gtp-tunnel list version 1 tei 200/100 ms_addr 172.99.0.2 sgsn_addr 172.0.0.2 libgtpnl/tools# ip netns exec ns2 ./gtp-tunnel list version 1 tei 100/200 ms_addr 172.99.0.1 sgsn_addr 172.0.0.1
  • 8. Using GTP on Linux (libgtpnl) | SRv6 Consortium, Data plane Study Group | 2018/12/31 (rev 0) 8 GTP Packet Dump netns: default netns: ns2 veth1 172.0.0.1/24 veth2 172.0.0.2/24 gtp1 (gtp device) gtp2 (gtp device) lo (loopback) 172.99.0.2/32 lo (loopback) 172.99.0.1/32 TEID# 100 TEID#200 TEID# 100 TEID#200 # ping 172.99.0.2 ICMP echo request ICMP echo reply