<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>LaForge's home page (Posts about ggsn)</title><link>https://laforge.gnumonks.org/</link><description></description><atom:link href="https://laforge.gnumonks.org/blog/tags/ggsn.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><lastBuildDate>Thu, 24 Oct 2024 20:08:49 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Progress on the Linux kernel GTP code</title><link>https://laforge.gnumonks.org/blog/20151108-kernel-gtp/</link><dc:creator>Harald Welte</dc:creator><description>&lt;p&gt;It is always sad if you start to develop some project and then never get
around finishing it, as there are too many things to take care in
parallel.  But then, days only have 24 hours...&lt;/p&gt;
&lt;p&gt;Back in 2012 I started to write some generic Linux kernel GTP tunneling
code.  GTP is the &lt;a class="reference external" href="https://en.wikipedia.org/wiki/GPRS_Tunnelling_Protocol"&gt;GPRS Tunneling Protocol&lt;/a&gt;, a protocol
between core network elements in GPRS networks, later extended to be
used in UMTS and even LTE networks.&lt;/p&gt;
&lt;p&gt;GTP is split in a control plane for management and the user plane
carrying the actual user IP traffic of a mobile subscriber.  So if
you're reading this blog via a cellular interent connection, your data
is carried in GTP-U within the cellular core network.&lt;/p&gt;
&lt;p&gt;To me as a former Linux kernel networking developer, the user plane of
GTP (GTP-U) had always belonged into kernel space.  It is a tunneling
protocol not too different from many other tunneling protocols that
already exist (GRE, IPIP, L2TP, PPP, ...) and for the user plane, all it
does is basically add a header in one direction and remove the header in
the other direction.   User data, particularly in networks with many
subscribers and/or high bandwidth use.&lt;/p&gt;
&lt;p&gt;Also, unlike many other telecom / cellular protocols, GTP is an IP-only
protocol with no E1, Frame Relay or ATM legacy.  It also has nothing to
do with SS7, nor does it use ASN.1 syntax and/or some exotic encoding
rules.  In summary, it is nothing like any other GSM/3GPP protocol, and
looks much more of what you're used from the IETF/Internet world.&lt;/p&gt;
&lt;p&gt;Unfortunately I didn't get very far with my code back in 2012, but
luckily Pablo Neira (one of my colleagues from netfilter/iptables days)
picked it up and brought it along.  However, for some time it has been
stalled until recently it was thankfully &lt;a class="reference external" href="http://lists.osmocom.org/pipermail/openbsc/2015-October/000585.html"&gt;picked up by Andreas Schultz&lt;/a&gt;
and now receives some attention and discussion, with the clear intention
to finish + submit it for mainline inclusion.&lt;/p&gt;
&lt;p&gt;The code is now kept in a git repository at
&lt;a class="reference external" href="http://git.osmocom.org/osmo-gtp-kernel/"&gt;http://git.osmocom.org/osmo-gtp-kernel/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks to Pablo and Andreas for picking this up, let's hope this is the
last coding sprint before it goes mainline and gets actually used in
production.&lt;/p&gt;</description><category>ggsn</category><category>gprs</category><category>gsm</category><category>mobile</category><category>osmocom</category><guid>https://laforge.gnumonks.org/blog/20151108-kernel-gtp/</guid><pubDate>Sat, 07 Nov 2015 16:00:00 GMT</pubDate></item></channel></rss>