aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2019-11-26 11:10:07 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2019-11-26 11:10:07 +0000
commit22fc95370c345d440383b68101213aa8ca11b575 (patch)
tree905088c02b328a9e2ba315a34f82ab92d87d7103
parent2c7b625904073fc96ab12e78a4ee6901c266f1d5 (diff)
parentcd8741b81667d2dd947d05bf4174ce324892fe06 (diff)
downloadiputils-22fc95370c345d440383b68101213aa8ca11b575.tar.gz
Merge changes I525bda55,Ie6445f00
* changes: iputils: revert changes that neutered in6_flowlabel.h iputils: remove comment-only Cleanspec.mk
-rw-r--r--CleanSpec.mk49
-rw-r--r--in6_flowlabel.h43
-rw-r--r--ping6.c7
3 files changed, 45 insertions, 54 deletions
diff --git a/CleanSpec.mk b/CleanSpec.mk
deleted file mode 100644
index b84e1b6..0000000
--- a/CleanSpec.mk
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright (C) 2007 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# If you don't need to do a full clean build but would like to touch
-# a file or delete some intermediate files, add a clean step to the end
-# of the list. These steps will only be run once, if they haven't been
-# run before.
-#
-# E.g.:
-# $(call add-clean-step, touch -c external/sqlite/sqlite3.h)
-# $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates)
-#
-# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with
-# files that are missing or have been moved.
-#
-# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory.
-# Use $(OUT_DIR) to refer to the "out" directory.
-#
-# If you need to re-do something that's already mentioned, just copy
-# the command and add it to the bottom of the list. E.g., if a change
-# that you made last week required touching a file and a change you
-# made today requires touching the same file, just copy the old
-# touch step and add it to the end of the list.
-#
-# ************************************************
-# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
-# ************************************************
-
-# For example:
-#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates)
-#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates)
-#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f)
-#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
-
-# ************************************************
-# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
-# ************************************************
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