aboutsummaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorAndrey Konovalov <andreyknvl@google.com>2017-04-07 18:13:45 +0200
committerAndrey Konovalov <andreyknvl@google.com>2017-04-08 20:20:38 +0200
commitc9e79240e6f4fef474a9b62aeae10663aa7701ff (patch)
treec21884a640d3e55ae8798c71c26f87005398df51 /sys
parent274ac94f7cfcea0264d4bdc94fbcd6369d960835 (diff)
sys: add more ipv6 ioctls
Diffstat (limited to 'sys')
-rw-r--r--sys/socket_inet6.txt32
-rw-r--r--sys/socket_inet6_amd64.const31
-rw-r--r--sys/socket_inet6_arm64.const31
-rw-r--r--sys/socket_inet6_ppc64le.const31
4 files changed, 125 insertions, 0 deletions
diff --git a/sys/socket_inet6.txt b/sys/socket_inet6.txt
index f7a40ab87..14be9aece 100644
--- a/sys/socket_inet6.txt
+++ b/sys/socket_inet6.txt
@@ -4,6 +4,8 @@
include <linux/ip.h>
include <linux/ipv6.h>
include <linux/route.h>
+include <uapi/linux/route.h>
+include <uapi/linux/ipv6_route.h>
include <uapi/linux/netfilter_ipv6/ip6_tables.h>
# IPv6 sockets
@@ -66,3 +68,33 @@ ipv6_mreq {
# IPv6 ioctls
# TODO: http://lxr.free-electrons.com/ident?i=inet6_ioctl
+
+ioctl$sock_inet6_SIOCADDRT(fd sock_in6, cmd const[SIOCADDRT], arg ptr[in, in6_rtmsg])
+ioctl$sock_inet6_SIOCDELRT(fd sock_in6, cmd const[SIOCDELRT], arg ptr[in, in6_rtmsg])
+
+ioctl$sock_inet6_SIOCSIFADDR(fd sock_in6, cmd const[SIOCSIFADDR], arg ptr[in, in6_ifreq])
+ioctl$sock_inet6_SIOCDIFADDR(fd sock_in6, cmd const[SIOCDIFADDR], arg ptr[in, in6_ifreq])
+ioctl$sock_inet6_SIOCSIFDSTADDR(fd sock_in6, cmd const[SIOCSIFDSTADDR], arg ptr[in, in6_ifreq])
+
+rtmsg_metrics = IP6_RT_PRIO_USER, IP6_RT_PRIO_ADDRCONF
+
+rtmsg_flags = RTF_UP, RTF_GATEWAY, RTF_HOST, RTF_REINSTATE, RTF_DYNAMIC, RTF_MODIFIED, RTF_MTU, RTF_WINDOW, RTF_IRTT, RTF_REJECT, RTF_DEFAULT, RTF_ALLONLINK, RTF_ADDRCONF, RTF_PREFIX_RT, RTF_ANYCAST, RTF_NONEXTHOP, RTF_EXPIRES, RTF_ROUTEINFO, RTF_CACHE, RTF_FLOW, RTF_POLICY, RTF_PCPU, RTF_LOCAL
+
+in6_rtmsg {
+ rtmsg_dst ipv6_addr
+ rtmsg_src ipv6_addr
+ rtmsg_gateway ipv6_addr
+ rtmsg_type int32
+ rtmsg_dst_len int16
+ rtmsg_src_len int16
+ rtmsg_metric flags[rtmsg_metrics, int32]
+ rtmsg_info int64
+ rtmsg_flags flags[rtmsg_flags, int32]
+ rtmsg_ifindex int32
+}
+
+in6_ifreq {
+ ifr6_addr ipv6_addr
+ ifr6_prefixlen int32
+ ifr6_ifindex int32
+}
diff --git a/sys/socket_inet6_amd64.const b/sys/socket_inet6_amd64.const
index 73d453519..88c853a06 100644
--- a/sys/socket_inet6_amd64.const
+++ b/sys/socket_inet6_amd64.const
@@ -3,6 +3,8 @@ AF_INET6 = 10
IP6T_SO_GET_REVISION_MATCH = 68
IP6T_SO_GET_REVISION_TARGET = 69
IP6T_SO_ORIGINAL_DST = 80
+IP6_RT_PRIO_ADDRCONF = 256
+IP6_RT_PRIO_USER = 1024
IPPROTO_IPV6 = 41
IPV6_2292DSTOPTS = 4
IPV6_2292HOPLIMIT = 8
@@ -62,6 +64,34 @@ MCAST_LEAVE_GROUP = 45
MCAST_LEAVE_SOURCE_GROUP = 47
MCAST_MSFILTER = 48
MCAST_UNBLOCK_SOURCE = 44
+RTF_ADDRCONF = 262144
+RTF_ALLONLINK = 131072
+RTF_ANYCAST = 1048576
+RTF_CACHE = 16777216
+RTF_DEFAULT = 65536
+RTF_DYNAMIC = 16
+RTF_EXPIRES = 4194304
+RTF_FLOW = 33554432
+RTF_GATEWAY = 2
+RTF_HOST = 4
+RTF_IRTT = 256
+RTF_LOCAL = 2147483648
+RTF_MODIFIED = 32
+RTF_MTU = 64
+RTF_NONEXTHOP = 2097152
+RTF_PCPU = 1073741824
+RTF_POLICY = 67108864
+RTF_PREFIX_RT = 524288
+RTF_REINSTATE = 8
+RTF_REJECT = 512
+RTF_ROUTEINFO = 8388608
+RTF_UP = 1
+RTF_WINDOW = 128
+SIOCADDRT = 35083
+SIOCDELRT = 35084
+SIOCDIFADDR = 35126
+SIOCSIFADDR = 35094
+SIOCSIFDSTADDR = 35096
__NR_accept = 43
__NR_accept4 = 288
__NR_bind = 49
@@ -69,6 +99,7 @@ __NR_connect = 42
__NR_getpeername = 52
__NR_getsockname = 51
__NR_getsockopt = 55
+__NR_ioctl = 16
__NR_recvfrom = 45
__NR_sendto = 44
__NR_setsockopt = 54
diff --git a/sys/socket_inet6_arm64.const b/sys/socket_inet6_arm64.const
index 41e764410..ae90cafee 100644
--- a/sys/socket_inet6_arm64.const
+++ b/sys/socket_inet6_arm64.const
@@ -3,6 +3,8 @@ AF_INET6 = 10
IP6T_SO_GET_REVISION_MATCH = 68
IP6T_SO_GET_REVISION_TARGET = 69
IP6T_SO_ORIGINAL_DST = 80
+IP6_RT_PRIO_ADDRCONF = 256
+IP6_RT_PRIO_USER = 1024
IPPROTO_IPV6 = 41
IPV6_2292DSTOPTS = 4
IPV6_2292HOPLIMIT = 8
@@ -62,6 +64,34 @@ MCAST_LEAVE_GROUP = 45
MCAST_LEAVE_SOURCE_GROUP = 47
MCAST_MSFILTER = 48
MCAST_UNBLOCK_SOURCE = 44
+RTF_ADDRCONF = 262144
+RTF_ALLONLINK = 131072
+RTF_ANYCAST = 1048576
+RTF_CACHE = 16777216
+RTF_DEFAULT = 65536
+RTF_DYNAMIC = 16
+RTF_EXPIRES = 4194304
+RTF_FLOW = 33554432
+RTF_GATEWAY = 2
+RTF_HOST = 4
+RTF_IRTT = 256
+RTF_LOCAL = 2147483648
+RTF_MODIFIED = 32
+RTF_MTU = 64
+RTF_NONEXTHOP = 2097152
+RTF_PCPU = 1073741824
+RTF_POLICY = 67108864
+RTF_PREFIX_RT = 524288
+RTF_REINSTATE = 8
+RTF_REJECT = 512
+RTF_ROUTEINFO = 8388608
+RTF_UP = 1
+RTF_WINDOW = 128
+SIOCADDRT = 35083
+SIOCDELRT = 35084
+SIOCDIFADDR = 35126
+SIOCSIFADDR = 35094
+SIOCSIFDSTADDR = 35096
__NR_accept = 202
__NR_accept4 = 242
__NR_bind = 200
@@ -69,6 +99,7 @@ __NR_connect = 203
__NR_getpeername = 205
__NR_getsockname = 204
__NR_getsockopt = 209
+__NR_ioctl = 29
__NR_recvfrom = 207
__NR_sendto = 206
__NR_setsockopt = 208
diff --git a/sys/socket_inet6_ppc64le.const b/sys/socket_inet6_ppc64le.const
index 5c4bd7348..df3a66d05 100644
--- a/sys/socket_inet6_ppc64le.const
+++ b/sys/socket_inet6_ppc64le.const
@@ -3,6 +3,8 @@ AF_INET6 = 10
IP6T_SO_GET_REVISION_MATCH = 68
IP6T_SO_GET_REVISION_TARGET = 69
IP6T_SO_ORIGINAL_DST = 80
+IP6_RT_PRIO_ADDRCONF = 256
+IP6_RT_PRIO_USER = 1024
IPPROTO_IPV6 = 41
IPV6_2292DSTOPTS = 4
IPV6_2292HOPLIMIT = 8
@@ -62,6 +64,34 @@ MCAST_LEAVE_GROUP = 45
MCAST_LEAVE_SOURCE_GROUP = 47
MCAST_MSFILTER = 48
MCAST_UNBLOCK_SOURCE = 44
+RTF_ADDRCONF = 262144
+RTF_ALLONLINK = 131072
+RTF_ANYCAST = 1048576
+RTF_CACHE = 16777216
+RTF_DEFAULT = 65536
+RTF_DYNAMIC = 16
+RTF_EXPIRES = 4194304
+RTF_FLOW = 33554432
+RTF_GATEWAY = 2
+RTF_HOST = 4
+RTF_IRTT = 256
+RTF_LOCAL = 2147483648
+RTF_MODIFIED = 32
+RTF_MTU = 64
+RTF_NONEXTHOP = 2097152
+RTF_PCPU = 1073741824
+RTF_POLICY = 67108864
+RTF_PREFIX_RT = 524288
+RTF_REINSTATE = 8
+RTF_REJECT = 512
+RTF_ROUTEINFO = 8388608
+RTF_UP = 1
+RTF_WINDOW = 128
+SIOCADDRT = 35083
+SIOCDELRT = 35084
+SIOCDIFADDR = 35126
+SIOCSIFADDR = 35094
+SIOCSIFDSTADDR = 35096
__NR_accept = 330
__NR_accept4 = 344
__NR_bind = 327
@@ -69,6 +99,7 @@ __NR_connect = 328
__NR_getpeername = 332
__NR_getsockname = 331
__NR_getsockopt = 340
+__NR_ioctl = 54
__NR_recvfrom = 337
__NR_sendto = 335
__NR_setsockopt = 339