GTP tunnel seems to exist, but No encapsulation when using libgtpnl

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/osmocom-net-gprs@lists.osmocom.org/.

Papa Tana papa.tana101 at gmail.com
Fri Aug 21 13:57:03 UTC 2020


> At least earlier versions of ergw had support for the kernel GTP-U plane,
why > not simply use that code?
My experience with erlang is very limited so far, that's why I was
attracted with libgtpnl, because I was able to create a GTP tunnel by
invoking only 2 lines
# ./gtp-link add
# ./gtp-tunnel add

> They created https://github.com/travelping/gen_netlink to talk netlink
from > erlang, including gtpnl support.
Yes, I saw it. but even trying to build it from tetrapak, I have made some
search but I'm struggling:
# tetrapak build check (don't even know what is tetrapak :-) )

The creators of these libraries already answer some questions from me in
the public erlang mailing list, but about general erlang related questions.
I didn't find any public mailing list to these libraries, so I gave up.

> You cannot do that, sorry.
> This will obviously not work.
> You need to manage the socket from your program.
> You are asking for the impossible.

I totally agree with you but I've got some idea this afternoon as a
workaround.
I think I can forward the echo-request that I received on my network
interface (owned by gtpnl at GTP-U) to my Erlang program by using some
Linux helper like
# tcpdump
# replay the traffic by tcpreplay to another interface owned by my Erlang
program
# or I can Write them to a Linux named pipe fifo, and get it from Erlang

By this way, I would be able to craft an echo-response for GTP-U I think.

Those steps are not related to libgtpnl anymore, so would be off-topic.

But Clarifications regarding libgtpnl is very clear for me now.

Thank you,

P.S: I will update here if this echo-response at GTP-U side from my erlang
works for me. Have a nice day.

Le ven. 21 août 2020 à 15:40, Harald Welte <laforge at gnumonks.org> a écrit :

> On Fri, Aug 21, 2020 at 09:53:34AM +0300, Papa Tana wrote:
> > But for GTP-U, I was trying to listen in port 2152 several times, and it
> > yields an error that I cannot listen on it, port 2152 is already used.
>
> You cannot do that, sorry.
>
> > > You manage all your UDP sockets.
> > > your application is responsible for receiving and responding to any
> GTP-U
> > packets there.
> > As I said, I am using Erlang as a userspace program.
> > And when I create a tunnel, I "just" send a basic command exec to the
> Linux
> > by open_port like this:
>
> This will obviously not work.  You need to manage the socket from your
> program.
>
> IF it's erlang, you either have to speak netlink directly from within
> Erlang,
> or you need to add some native functions for calling libgtpnl.
>
> > So I don't have any idea on how to listen to 2152 as my Erlang program is
> > forbidden to listen on it when libgtpnl is invoked.
>
> You are asking for the impossible.  You need to open the socket from
> within your
> program. You cannot crate a second socket for what you are trying to do.
>
> At least earlier versions of ergw had support for the kernel GTP-U plane,
> why not simply use that code?
>
> They created https://github.com/travelping/gen_netlink
> to talk netlink from erlang, including gtpnl support.
>
> --
> - Harald Welte <laforge at gnumonks.org>
> http://laforge.gnumonks.org/
>
> ============================================================================
> "Privacy in residential applications is a desirable marketing option."
>                                                   (ETSI EN 300 175-7 Ch.
> A6)
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/osmocom-net-gprs/attachments/20200821/fb47c0ea/attachment.htm>


More information about the osmocom-net-gprs mailing list