Commit Graph

5 Commits

Author SHA1 Message Date
Pablo Neira Ayuso 5747406dbb gtp: create socket from userspace and pass them as configuration
openggsn already sets up the UDP sockets that we need for the control
and user planes of GTP. Since we cannot bind two UDP sockets (one from
userspace and another from the kernel) to the same port, change the
current code to pass the socket descriptors that has been allocated
by openggsn (or whatever daemon which uses the GTP kernel
infrastructure).

Two new attributes are added to set up the tunnel device: IFLA_GTP_FD0
(for GTP0) and IFLA_GTP_FD1 (for GTP1u), which specify the UDP socket
created from userspace. Thus, the GTP kernel code only takes care of
enabling the kernel UDP encapsulation routine.
2014-02-23 23:09:59 +01:00
Pablo Neira Ayuso 1afa16a16b gtp-rtnl: add gtp_dev_destroy
This function allows you to destroy the gtpX device.
2014-02-22 23:19:58 +01:00
Pablo Neira Ayuso b94023299f gtp-rtnl: refactor code to prepare the addition of gtp_dev_destroy
Add gtp_dev_talk() and gtp_put_nlmsg().
2014-02-22 23:09:38 +01:00
Pablo Neira Ayuso efdbb3bc73 gtp-rtnl: fix leak in struct mnl_socket on error in gtp_dev_create()
Release it in the error path.
2014-02-22 22:50:00 +01:00
Pablo Neira Ayuso c7e6ffadb4 add libgtpnl
This patch adds the libgtpnl library. Harald mentioned that he wanted
that the specific code that is added is well encapsulated, so let's
start a small library to interact with the GTP kernel module via netlink
interface.

This was done a bit while in the rush, so the interfaces are not nice
at all and the tools need to be ported on top of this library.

This library will be used to integrate openggsn with the GTP kernel
module.
2014-02-20 19:41:29 +01:00