Move kernel GTP support from ggsn/ to lib/

This way, the IP address / route handling between TUN devices and kernel
GTP can be shared, which will provide not only a unified codebase but
also a more consistent behavior.

This also paves the road for to use kernel GTP from sgsnemu in the future.

Related: OS#3214
Change-Id: Ic53a971136edd0d8871fbd6746d7b0090ce3a188
diff --git a/lib/tun.h b/lib/tun.h
index e41ee69..6bf141f 100644
--- a/lib/tun.h
+++ b/lib/tun.h
@@ -13,6 +13,7 @@
 #ifndef _TUN_H
 #define _TUN_H
 
+#include <stdbool.h>
 #include <net/if.h>
 
 #include "../lib/in46_addr.h"
@@ -41,7 +42,7 @@
 	void *priv;
 };
 
-extern int tun_new(struct tun_t **tun, const char *dev_name);
+extern int tun_new(struct tun_t **tun, const char *dev_name, bool use_kernel, int fd0, int fd1u);
 extern int tun_free(struct tun_t *tun);
 extern int tun_decaps(struct tun_t *this);
 extern int tun_encaps(struct tun_t *tun, void *pack, unsigned len);