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.
diff --git a/tools/gtpnl.c b/tools/gtpnl.c
new file mode 100644
index 0000000..6b2f1e2
--- /dev/null
+++ b/tools/gtpnl.c
@@ -0,0 +1,13 @@
+#include <stdint.h>
+#include <libmnl/libmnl.h>
+#include <linux/gtp_nl.h>
+
+void gtp_build_payload(struct nlmsghdr *nlh, uint64_t tid, uint32_t ifidx,
+		       uint32_t sgsn_addr, uint32_t ms_addr, uint32_t version)
+{
+	mnl_attr_put_u32(nlh, GTPA_VERSION, version);
+	mnl_attr_put_u32(nlh, GTPA_LINK, ifidx);
+	mnl_attr_put_u32(nlh, GTPA_SGSN_ADDRESS, sgsn_addr);
+	mnl_attr_put_u32(nlh, GTPA_MS_ADDRESS, ms_addr);
+	mnl_attr_put_u64(nlh, GTPA_TID, tid);
+}