aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Żenczykowski <maze@google.com>2019-10-15 17:31:31 -0700
committerMaciej Żenczykowski <maze@google.com>2019-10-15 17:46:09 -0700
commitcd8741b81667d2dd947d05bf4174ce324892fe06 (patch)
tree905088c02b328a9e2ba315a34f82ab92d87d7103
parent515ac0fca7cf115122b28506589cf009ad1831ae (diff)
downloadiputils-cd8741b81667d2dd947d05bf4174ce324892fe06.tar.gz
iputils: revert changes that neutered in6_flowlabel.h
and instead just make the one spot we include it a no-op $ git grep in6_flowlabel[.]h Makefile:158:ping6.o: ping_common.h in6_flowlabel.h ping6.c:84:/* The in6_flowlabel.h file in the iputils distribution exists to provide ping6.c:88: * #include "in6_flowlabel.h" Test: see above grep for proof of no other users Bug: 140825634 Signed-off-by: Maciej Żenczykowski <maze@google.com> Change-Id: I525bda558c8f118e31e1b5b1436d4c8d4ac85480
-rw-r--r--in6_flowlabel.h43
-rw-r--r--ping6.c7
2 files changed, 45 insertions, 5 deletions
diff --git a/in6_flowlabel.h b/in6_flowlabel.h
index 9a27397..68b58d6 100644
--- a/in6_flowlabel.h
+++ b/in6_flowlabel.h
@@ -1,4 +1,39 @@
-/* The in6_flowlabel.h file in the iputils distribution exists to provide
- * kernel flowlabel API definitions that are not in the userspace headers
- * because they are linux-specific. It's not needed on Android because Android
- * exposes the kernel definitions to userspace directly . */
+/*
+ It is just a stripped copy of the kernel header "linux/in6.h"
+
+ "Flow label" things are still not defined in "netinet/in*.h" headers,
+ but we cannot use "linux/in6.h" immediately because it currently
+ conflicts with "netinet/in.h" .
+*/
+
+struct in6_flowlabel_req
+{
+ struct in6_addr flr_dst;
+ __u32 flr_label;
+ __u8 flr_action;
+ __u8 flr_share;
+ __u16 flr_flags;
+ __u16 flr_expires;
+ __u16 flr_linger;
+ __u32 __flr_pad;
+ /* Options in format of IPV6_PKTOPTIONS */
+};
+
+#define IPV6_FL_A_GET 0
+#define IPV6_FL_A_PUT 1
+#define IPV6_FL_A_RENEW 2
+
+#define IPV6_FL_F_CREATE 1
+#define IPV6_FL_F_EXCL 2
+
+#define IPV6_FL_S_NONE 0
+#define IPV6_FL_S_EXCL 1
+#define IPV6_FL_S_PROCESS 2
+#define IPV6_FL_S_USER 3
+#define IPV6_FL_S_ANY 255
+
+#define IPV6_FLOWINFO_FLOWLABEL 0x000fffff
+#define IPV6_FLOWINFO_PRIORITY 0x0ff00000
+
+#define IPV6_FLOWLABEL_MGR 32
+#define IPV6_FLOWINFO_SEND 33
diff --git a/ping6.c b/ping6.c
index e071858..22b3a33 100644
--- a/ping6.c
+++ b/ping6.c
@@ -81,7 +81,12 @@ char copyright[] =
#endif
#include "ping6_niquery.h"
-#include "in6_flowlabel.h"
+/* The in6_flowlabel.h file in the iputils distribution exists to provide
+ * kernel flowlabel API definitions that are not in the userspace headers
+ * because they are linux-specific. It's not needed on Android because Android
+ * exposes the kernel definitions to userspace directly.
+ * #include "in6_flowlabel.h"
+ */
#ifndef SOL_IPV6
#define SOL_IPV6 IPPROTO_IPV6