[uapi] Restore more netfilter headers.

Restoring more headers in netfilter_ipv[46] directories.

Bug: 466098884
Change-Id: I87ae1fe7f77178ddfdcf3f9e76ff5eed1a14dac8
Reviewed-on: https://fuchsia-review.googlesource.com/c/third_party/android.googlesource.com/platform/bionic/+/1441459
Reviewed-by: David Song <wintermelons@google.com>
diff --git a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_CLUSTERIP.h b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_CLUSTERIP.h
new file mode 100644
index 0000000..17320d0
--- /dev/null
+++ b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_CLUSTERIP.h
@@ -0,0 +1,30 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _IPT_CLUSTERIP_H_target
+#define _IPT_CLUSTERIP_H_target
+#include <linux/types.h>
+#include <linux/if_ether.h>
+enum clusterip_hashmode {
+  CLUSTERIP_HASHMODE_SIP = 0,
+  CLUSTERIP_HASHMODE_SIP_SPT,
+  CLUSTERIP_HASHMODE_SIP_SPT_DPT,
+};
+#define CLUSTERIP_HASHMODE_MAX CLUSTERIP_HASHMODE_SIP_SPT_DPT
+#define CLUSTERIP_MAX_NODES 16
+#define CLUSTERIP_FLAG_NEW 0x00000001
+struct clusterip_config;
+struct ipt_clusterip_tgt_info {
+  __u32 flags;
+  __u8 clustermac[ETH_ALEN];
+  __u16 num_total_nodes;
+  __u16 num_local_nodes;
+  __u16 local_nodes[CLUSTERIP_MAX_NODES];
+  __u32 hash_mode;
+  __u32 hash_initval;
+  struct clusterip_config * config;
+};
+#endif
diff --git a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ECN.h b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ECN.h
new file mode 100644
index 0000000..46e14e8
--- /dev/null
+++ b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ECN.h
@@ -0,0 +1,25 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _IPT_ECN_TARGET_H
+#define _IPT_ECN_TARGET_H
+#include <linux/types.h>
+#include <linux/netfilter/xt_DSCP.h>
+#define IPT_ECN_IP_MASK (~XT_DSCP_MASK)
+#define IPT_ECN_OP_SET_IP 0x01
+#define IPT_ECN_OP_SET_ECE 0x10
+#define IPT_ECN_OP_SET_CWR 0x20
+#define IPT_ECN_OP_MASK 0xce
+struct ipt_ECN_info {
+  __u8 operation;
+  __u8 ip_ect;
+  union {
+    struct {
+      __u8 ece : 1, cwr : 1;
+    } tcp;
+  } proto;
+};
+#endif
diff --git a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_LOG.h b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_LOG.h
new file mode 100644
index 0000000..68870b4
--- /dev/null
+++ b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_LOG.h
@@ -0,0 +1,21 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _IPT_LOG_H
+#define _IPT_LOG_H
+#define IPT_LOG_TCPSEQ 0x01
+#define IPT_LOG_TCPOPT 0x02
+#define IPT_LOG_IPOPT 0x04
+#define IPT_LOG_UID 0x08
+#define IPT_LOG_NFLOG 0x10
+#define IPT_LOG_MACDECODE 0x20
+#define IPT_LOG_MASK 0x2f
+struct ipt_log_info {
+  unsigned char level;
+  unsigned char logflags;
+  char prefix[30];
+};
+#endif
diff --git a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_REJECT.h b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_REJECT.h
new file mode 100644
index 0000000..e6bf388
--- /dev/null
+++ b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_REJECT.h
@@ -0,0 +1,23 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _IPT_REJECT_H
+#define _IPT_REJECT_H
+enum ipt_reject_with {
+  IPT_ICMP_NET_UNREACHABLE,
+  IPT_ICMP_HOST_UNREACHABLE,
+  IPT_ICMP_PROT_UNREACHABLE,
+  IPT_ICMP_PORT_UNREACHABLE,
+  IPT_ICMP_ECHOREPLY,
+  IPT_ICMP_NET_PROHIBITED,
+  IPT_ICMP_HOST_PROHIBITED,
+  IPT_TCP_RESET,
+  IPT_ICMP_ADMIN_PROHIBITED
+};
+struct ipt_reject_info {
+  enum ipt_reject_with with;
+};
+#endif
diff --git a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_TTL.h b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_TTL.h
new file mode 100644
index 0000000..a2896d8
--- /dev/null
+++ b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_TTL.h
@@ -0,0 +1,20 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _IPT_TTL_H
+#define _IPT_TTL_H
+#include <linux/types.h>
+enum {
+  IPT_TTL_SET = 0,
+  IPT_TTL_INC,
+  IPT_TTL_DEC
+};
+#define IPT_TTL_MAXMODE IPT_TTL_DEC
+struct ipt_TTL_info {
+  __u8 mode;
+  __u8 ttl;
+};
+#endif
diff --git a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ah.h b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ah.h
new file mode 100644
index 0000000..0d8932e
--- /dev/null
+++ b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ah.h
@@ -0,0 +1,16 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _IPT_AH_H
+#define _IPT_AH_H
+#include <linux/types.h>
+struct ipt_ah {
+  __u32 spis[2];
+  __u8 invflags;
+};
+#define IPT_AH_INV_SPI 0x01
+#define IPT_AH_INV_MASK 0x01
+#endif
diff --git a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ecn.h b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ecn.h
new file mode 100644
index 0000000..7fb8cb8
--- /dev/null
+++ b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ecn.h
@@ -0,0 +1,18 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _IPT_ECN_H
+#define _IPT_ECN_H
+#include <linux/netfilter/xt_ecn.h>
+#define ipt_ecn_info xt_ecn_info
+enum {
+  IPT_ECN_IP_MASK = XT_ECN_IP_MASK,
+  IPT_ECN_OP_MATCH_IP = XT_ECN_OP_MATCH_IP,
+  IPT_ECN_OP_MATCH_ECE = XT_ECN_OP_MATCH_ECE,
+  IPT_ECN_OP_MATCH_CWR = XT_ECN_OP_MATCH_CWR,
+  IPT_ECN_OP_MATCH_MASK = XT_ECN_OP_MATCH_MASK,
+};
+#endif
diff --git a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ttl.h b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ttl.h
new file mode 100644
index 0000000..14f1a95
--- /dev/null
+++ b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ttl.h
@@ -0,0 +1,20 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _IPT_TTL_H
+#define _IPT_TTL_H
+#include <linux/types.h>
+enum {
+  IPT_TTL_EQ = 0,
+  IPT_TTL_NE,
+  IPT_TTL_LT,
+  IPT_TTL_GT,
+};
+struct ipt_ttl_info {
+  __u8 mode;
+  __u8 ttl;
+};
+#endif
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_HL.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_HL.h
new file mode 100644
index 0000000..8060e3b
--- /dev/null
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_HL.h
@@ -0,0 +1,20 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _IP6T_HL_H
+#define _IP6T_HL_H
+#include <linux/types.h>
+enum {
+  IP6T_HL_SET = 0,
+  IP6T_HL_INC,
+  IP6T_HL_DEC
+};
+#define IP6T_HL_MAXMODE IP6T_HL_DEC
+struct ip6t_HL_info {
+  __u8 mode;
+  __u8 hop_limit;
+};
+#endif
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_LOG.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_LOG.h
new file mode 100644
index 0000000..2bf5df0
--- /dev/null
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_LOG.h
@@ -0,0 +1,21 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _IP6T_LOG_H
+#define _IP6T_LOG_H
+#define IP6T_LOG_TCPSEQ 0x01
+#define IP6T_LOG_TCPOPT 0x02
+#define IP6T_LOG_IPOPT 0x04
+#define IP6T_LOG_UID 0x08
+#define IP6T_LOG_NFLOG 0x10
+#define IP6T_LOG_MACDECODE 0x20
+#define IP6T_LOG_MASK 0x2f
+struct ip6t_log_info {
+  unsigned char level;
+  unsigned char logflags;
+  char prefix[30];
+};
+#endif
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_NPT.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_NPT.h
new file mode 100644
index 0000000..5296a5b
--- /dev/null
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_NPT.h
@@ -0,0 +1,18 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef __NETFILTER_IP6T_NPT
+#define __NETFILTER_IP6T_NPT
+#include <linux/types.h>
+#include <linux/netfilter.h>
+struct ip6t_npt_tginfo {
+  union nf_inet_addr src_pfx;
+  union nf_inet_addr dst_pfx;
+  __u8 src_pfx_len;
+  __u8 dst_pfx_len;
+  __sum16 adjustment;
+};
+#endif
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_REJECT.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_REJECT.h
new file mode 100644
index 0000000..2a89f1a
--- /dev/null
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_REJECT.h
@@ -0,0 +1,24 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _IP6T_REJECT_H
+#define _IP6T_REJECT_H
+#include <linux/types.h>
+enum ip6t_reject_with {
+  IP6T_ICMP6_NO_ROUTE,
+  IP6T_ICMP6_ADM_PROHIBITED,
+  IP6T_ICMP6_NOT_NEIGHBOUR,
+  IP6T_ICMP6_ADDR_UNREACH,
+  IP6T_ICMP6_PORT_UNREACH,
+  IP6T_ICMP6_ECHOREPLY,
+  IP6T_TCP_RESET,
+  IP6T_ICMP6_POLICY_FAIL,
+  IP6T_ICMP6_REJECT_ROUTE
+};
+struct ip6t_reject_info {
+  __u32 with;
+};
+#endif
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_ah.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_ah.h
new file mode 100644
index 0000000..ec24d2b
--- /dev/null
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_ah.h
@@ -0,0 +1,22 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _IP6T_AH_H
+#define _IP6T_AH_H
+#include <linux/types.h>
+struct ip6t_ah {
+  __u32 spis[2];
+  __u32 hdrlen;
+  __u8 hdrres;
+  __u8 invflags;
+};
+#define IP6T_AH_SPI 0x01
+#define IP6T_AH_LEN 0x02
+#define IP6T_AH_RES 0x04
+#define IP6T_AH_INV_SPI 0x01
+#define IP6T_AH_INV_LEN 0x02
+#define IP6T_AH_INV_MASK 0x03
+#endif
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_frag.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_frag.h
new file mode 100644
index 0000000..f4779fa
--- /dev/null
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_frag.h
@@ -0,0 +1,25 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _IP6T_FRAG_H
+#define _IP6T_FRAG_H
+#include <linux/types.h>
+struct ip6t_frag {
+  __u32 ids[2];
+  __u32 hdrlen;
+  __u8 flags;
+  __u8 invflags;
+};
+#define IP6T_FRAG_IDS 0x01
+#define IP6T_FRAG_LEN 0x02
+#define IP6T_FRAG_RES 0x04
+#define IP6T_FRAG_FST 0x08
+#define IP6T_FRAG_MF 0x10
+#define IP6T_FRAG_NMF 0x20
+#define IP6T_FRAG_INV_IDS 0x01
+#define IP6T_FRAG_INV_LEN 0x02
+#define IP6T_FRAG_INV_MASK 0x03
+#endif
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_hl.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_hl.h
new file mode 100644
index 0000000..27de0c0
--- /dev/null
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_hl.h
@@ -0,0 +1,20 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _IP6T_HL_H
+#define _IP6T_HL_H
+#include <linux/types.h>
+enum {
+  IP6T_HL_EQ = 0,
+  IP6T_HL_NE,
+  IP6T_HL_LT,
+  IP6T_HL_GT,
+};
+struct ip6t_hl_info {
+  __u8 mode;
+  __u8 hop_limit;
+};
+#endif
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_ipv6header.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_ipv6header.h
new file mode 100644
index 0000000..1c6e3a5
--- /dev/null
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_ipv6header.h
@@ -0,0 +1,23 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef __IPV6HEADER_H
+#define __IPV6HEADER_H
+#include <linux/types.h>
+struct ip6t_ipv6header_info {
+  __u8 matchflags;
+  __u8 invflags;
+  __u8 modeflag;
+};
+#define MASK_HOPOPTS 128
+#define MASK_DSTOPTS 64
+#define MASK_ROUTING 32
+#define MASK_FRAGMENT 16
+#define MASK_AH 8
+#define MASK_ESP 4
+#define MASK_NONE 2
+#define MASK_PROTO 1
+#endif
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_mh.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_mh.h
new file mode 100644
index 0000000..c736090
--- /dev/null
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_mh.h
@@ -0,0 +1,16 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _IP6T_MH_H
+#define _IP6T_MH_H
+#include <linux/types.h>
+struct ip6t_mh {
+  __u8 types[2];
+  __u8 invflags;
+};
+#define IP6T_MH_INV_TYPE 0x01
+#define IP6T_MH_INV_MASK 0x01
+#endif
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_opts.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_opts.h
new file mode 100644
index 0000000..0c632d4
--- /dev/null
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_opts.h
@@ -0,0 +1,23 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _IP6T_OPTS_H
+#define _IP6T_OPTS_H
+#include <linux/types.h>
+#define IP6T_OPTS_OPTSNR 16
+struct ip6t_opts {
+  __u32 hdrlen;
+  __u8 flags;
+  __u8 invflags;
+  __u16 opts[IP6T_OPTS_OPTSNR];
+  __u8 optsnr;
+};
+#define IP6T_OPTS_LEN 0x01
+#define IP6T_OPTS_OPTS 0x02
+#define IP6T_OPTS_NSTRICT 0x04
+#define IP6T_OPTS_INV_LEN 0x01
+#define IP6T_OPTS_INV_MASK 0x01
+#endif
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_rt.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_rt.h
new file mode 100644
index 0000000..d948475
--- /dev/null
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_rt.h
@@ -0,0 +1,32 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _IP6T_RT_H
+#define _IP6T_RT_H
+#include <linux/types.h>
+#include <linux/in6.h>
+#define IP6T_RT_HOPS 16
+struct ip6t_rt {
+  __u32 rt_type;
+  __u32 segsleft[2];
+  __u32 hdrlen;
+  __u8 flags;
+  __u8 invflags;
+  struct in6_addr addrs[IP6T_RT_HOPS];
+  __u8 addrnr;
+};
+#define IP6T_RT_TYP 0x01
+#define IP6T_RT_SGS 0x02
+#define IP6T_RT_LEN 0x04
+#define IP6T_RT_RES 0x08
+#define IP6T_RT_FST_MASK 0x30
+#define IP6T_RT_FST 0x10
+#define IP6T_RT_FST_NSTRICT 0x20
+#define IP6T_RT_INV_TYP 0x01
+#define IP6T_RT_INV_SGS 0x02
+#define IP6T_RT_INV_LEN 0x04
+#define IP6T_RT_INV_MASK 0x07
+#endif
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_srh.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_srh.h
new file mode 100644
index 0000000..6373231
--- /dev/null
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_srh.h
@@ -0,0 +1,65 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _IP6T_SRH_H
+#define _IP6T_SRH_H
+#include <linux/types.h>
+#include <linux/netfilter.h>
+#define IP6T_SRH_NEXTHDR 0x0001
+#define IP6T_SRH_LEN_EQ 0x0002
+#define IP6T_SRH_LEN_GT 0x0004
+#define IP6T_SRH_LEN_LT 0x0008
+#define IP6T_SRH_SEGS_EQ 0x0010
+#define IP6T_SRH_SEGS_GT 0x0020
+#define IP6T_SRH_SEGS_LT 0x0040
+#define IP6T_SRH_LAST_EQ 0x0080
+#define IP6T_SRH_LAST_GT 0x0100
+#define IP6T_SRH_LAST_LT 0x0200
+#define IP6T_SRH_TAG 0x0400
+#define IP6T_SRH_PSID 0x0800
+#define IP6T_SRH_NSID 0x1000
+#define IP6T_SRH_LSID 0x2000
+#define IP6T_SRH_MASK 0x3FFF
+#define IP6T_SRH_INV_NEXTHDR 0x0001
+#define IP6T_SRH_INV_LEN_EQ 0x0002
+#define IP6T_SRH_INV_LEN_GT 0x0004
+#define IP6T_SRH_INV_LEN_LT 0x0008
+#define IP6T_SRH_INV_SEGS_EQ 0x0010
+#define IP6T_SRH_INV_SEGS_GT 0x0020
+#define IP6T_SRH_INV_SEGS_LT 0x0040
+#define IP6T_SRH_INV_LAST_EQ 0x0080
+#define IP6T_SRH_INV_LAST_GT 0x0100
+#define IP6T_SRH_INV_LAST_LT 0x0200
+#define IP6T_SRH_INV_TAG 0x0400
+#define IP6T_SRH_INV_PSID 0x0800
+#define IP6T_SRH_INV_NSID 0x1000
+#define IP6T_SRH_INV_LSID 0x2000
+#define IP6T_SRH_INV_MASK 0x3FFF
+struct ip6t_srh {
+  __u8 next_hdr;
+  __u8 hdr_len;
+  __u8 segs_left;
+  __u8 last_entry;
+  __u16 tag;
+  __u16 mt_flags;
+  __u16 mt_invflags;
+};
+struct ip6t_srh1 {
+  __u8 next_hdr;
+  __u8 hdr_len;
+  __u8 segs_left;
+  __u8 last_entry;
+  __u16 tag;
+  struct in6_addr psid_addr;
+  struct in6_addr nsid_addr;
+  struct in6_addr lsid_addr;
+  struct in6_addr psid_msk;
+  struct in6_addr nsid_msk;
+  struct in6_addr lsid_msk;
+  __u16 mt_flags;
+  __u16 mt_invflags;
+};
+#endif