From 0982b00b6d5f8a5f4bf0e96883df60c55c278585 Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Fri, 7 Apr 2017 17:46:51 +0200 Subject: sys: add more ip ioctls --- sys/socket_inet.txt | 16 ++++++++++++++-- sys/socket_inet_amd64.const | 11 +++++++++++ sys/socket_inet_arm64.const | 11 +++++++++++ sys/socket_inet_ppc64le.const | 11 +++++++++++ 4 files changed, 47 insertions(+), 2 deletions(-) (limited to 'sys') diff --git a/sys/socket_inet.txt b/sys/socket_inet.txt index a9e1834f5..332bb7e30 100644 --- a/sys/socket_inet.txt +++ b/sys/socket_inet.txt @@ -185,7 +185,7 @@ xfrm_in_addr [ # IP ioctls -# http://lxr.free-electrons.com/source/include/uapi/linux/sockios.h +# http://lxr.free-electrons.com/ident?i=inet_ioctl ioctl$sock_inet_SIOCADDRT(fd sock_in, cmd const[SIOCADDRT], arg ptr[in, rtentry_in]) ioctl$sock_inet_SIOCDELRT(fd sock_in, cmd const[SIOCDELRT], arg ptr[in, rtentry_in]) @@ -195,7 +195,9 @@ ioctl$sock_inet_SIOCDARP(fd sock_in, cmd const[SIOCDARP], arg ptr[in, arpreq_in] ioctl$sock_inet_SIOCGARP(fd sock_in, cmd const[SIOCGARP], arg ptr[inout, arpreq_in]) ioctl$sock_inet_SIOCSARP(fd sock_in, cmd const[SIOCSARP], arg ptr[in, arpreq_in]) -# TODO: more here +inet_ifreq_ioctls = SIOCGIFADDR, SIOCSIFADDR, SIOCGIFBRDADDR, SIOCSIFBRDADDR, SIOCGIFNETMASK, SIOCSIFNETMASK, SIOCGIFDSTADDR, SIOCSIFDSTADDR, SIOCSIFPFLAGS, SIOCGIFPFLAGS, SIOCSIFFLAGS + +ioctl$sock_inet_ifreq(fd sock, cmd flags[inet_ifreq_ioctls], arg ptr[inout, ifreq_in]) rt_flags = RTF_UP, RTF_GATEWAY, RTF_HOST, RTF_REINSTATE, RTF_DYNAMIC, RTF_MODIFIED, RTF_MTU, RTF_WINDOW, RTF_IRTT, RTF_REJECT @@ -232,3 +234,13 @@ arpreq_in { arp_netmask sockaddr_in arp_dev devname } + +ifreq_in { + ifr_ifrn devname + ifr_ifru ifr_ifru_in +} + +ifr_ifru_in [ + ifru_addrs sockaddr_in + ifru_flags flags[ifru_flags, int16] +] diff --git a/sys/socket_inet_amd64.const b/sys/socket_inet_amd64.const index 116e43ae3..7ad4f46a6 100644 --- a/sys/socket_inet_amd64.const +++ b/sys/socket_inet_amd64.const @@ -75,8 +75,19 @@ SIOCADDRT = 35083 SIOCDARP = 35155 SIOCDELRT = 35084 SIOCGARP = 35156 +SIOCGIFADDR = 35093 +SIOCGIFBRDADDR = 35097 +SIOCGIFDSTADDR = 35095 +SIOCGIFNETMASK = 35099 +SIOCGIFPFLAGS = 35125 SIOCRTMSG = 35085 SIOCSARP = 35157 +SIOCSIFADDR = 35094 +SIOCSIFBRDADDR = 35098 +SIOCSIFDSTADDR = 35096 +SIOCSIFFLAGS = 35092 +SIOCSIFNETMASK = 35100 +SIOCSIFPFLAGS = 35124 __NR_accept = 43 __NR_accept4 = 288 __NR_bind = 49 diff --git a/sys/socket_inet_arm64.const b/sys/socket_inet_arm64.const index aaba7ef8d..c3589f412 100644 --- a/sys/socket_inet_arm64.const +++ b/sys/socket_inet_arm64.const @@ -75,8 +75,19 @@ SIOCADDRT = 35083 SIOCDARP = 35155 SIOCDELRT = 35084 SIOCGARP = 35156 +SIOCGIFADDR = 35093 +SIOCGIFBRDADDR = 35097 +SIOCGIFDSTADDR = 35095 +SIOCGIFNETMASK = 35099 +SIOCGIFPFLAGS = 35125 SIOCRTMSG = 35085 SIOCSARP = 35157 +SIOCSIFADDR = 35094 +SIOCSIFBRDADDR = 35098 +SIOCSIFDSTADDR = 35096 +SIOCSIFFLAGS = 35092 +SIOCSIFNETMASK = 35100 +SIOCSIFPFLAGS = 35124 __NR_accept = 202 __NR_accept4 = 242 __NR_bind = 200 diff --git a/sys/socket_inet_ppc64le.const b/sys/socket_inet_ppc64le.const index 238b647d8..e81c0d3d3 100644 --- a/sys/socket_inet_ppc64le.const +++ b/sys/socket_inet_ppc64le.const @@ -75,8 +75,19 @@ SIOCADDRT = 35083 SIOCDARP = 35155 SIOCDELRT = 35084 SIOCGARP = 35156 +SIOCGIFADDR = 35093 +SIOCGIFBRDADDR = 35097 +SIOCGIFDSTADDR = 35095 +SIOCGIFNETMASK = 35099 +SIOCGIFPFLAGS = 35125 SIOCRTMSG = 35085 SIOCSARP = 35157 +SIOCSIFADDR = 35094 +SIOCSIFBRDADDR = 35098 +SIOCSIFDSTADDR = 35096 +SIOCSIFFLAGS = 35092 +SIOCSIFNETMASK = 35100 +SIOCSIFPFLAGS = 35124 __NR_accept = 330 __NR_accept4 = 344 __NR_bind = 327 -- cgit mrf-deployment