gtp: add flags to gtp_tunnel object

Flags tells us what fields have been set in this object.

This is required by

	./gtp-tunnel del

otherwise, build helper function adds the MS/UE address and kernel reports
ENOENT, and tunnel identifier is ignored.

Update gtp-tunnel tool to set flowid to zero in the GTP version 0 case,
otherwise kernel reports EINVAL since now this flag is not ever set.

Change-Id: I66677ab2d4de2c459ed9987c465fce6f059d6d93
diff --git a/src/internal.h b/src/internal.h
index ce8a683..1433621 100644
--- a/src/internal.h
+++ b/src/internal.h
@@ -20,6 +20,19 @@
 	};
 };
 
+enum {
+	GTP_TUN_IFNS		= (1 << 0),
+	GTP_TUN_IFIDX		= (1 << 1),
+	GTP_TUN_FAMILY		= (1 << 2),
+	GTP_TUN_MS_ADDR		= (1 << 3),
+	GTP_TUN_SGSN_ADDR	= (1 << 4),
+	GTP_TUN_VERSION		= (1 << 5),
+	GTP_TUN_V0_TID		= (1 << 6),
+	GTP_TUN_V0_FLOWID	= (1 << 7),
+	GTP_TUN_V1_I_TEI	= (1 << 8),
+	GTP_TUN_V1_O_TEI	= (1 << 9),
+};
+
 struct gtp_tunnel {
 	int             ifns;
 	uint32_t	ifidx;
@@ -36,6 +49,7 @@
 			uint32_t o_tei;
 		} v1;
 	} u;
+	uint32_t	flags;
 };
 
 #endif