[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 05/10] linux-user: Add support for SIOC<G|S>IFPFLAGS
From: |
Laurent Vivier |
Subject: |
[Qemu-devel] [PULL 05/10] linux-user: Add support for SIOC<G|S>IFPFLAGS ioctls for all targets |
Date: |
Thu, 23 May 2019 16:43:31 +0200 |
From: Neng Chen <address@hidden>
Add support for getting and setting extended private flags of a
network device via SIOCSIFPFLAGS and SIOCGIFPFLAGS ioctls.
The ioctl numeric values are platform-independent and determined by
the file include/uapi/linux/sockios.h in Linux kernel source code:
#define SIOCSIFPFLAGS 0x8934
#define SIOCGIFPFLAGS 0x8935
These ioctls get (or set) the field ifr_flags of type short in the
structure ifreq. Such functionality is achieved in QEMU by using
MK_STRUCT() and MK_PTR() macros with an appropriate argument, as
it was done for existing similar cases.
Signed-off-by: Neng Chen <address@hidden>
Signed-off-by: Aleksandar Markovic <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Message-Id: <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Laurent Vivier <address@hidden>
---
linux-user/ioctls.h | 2 ++
linux-user/syscall_defs.h | 2 ++
2 files changed, 4 insertions(+)
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index 99ed9d982568..5e84dc7c3a77 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -206,6 +206,8 @@
IOCTL(SIOCADDMULTI, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq)))
IOCTL(SIOCDELMULTI, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq)))
IOCTL(SIOCGIFINDEX, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_int_ifreq)))
+ IOCTL(SIOCSIFPFLAGS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_short_ifreq)))
+ IOCTL(SIOCGIFPFLAGS, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_short_ifreq)))
IOCTL(SIOCSIFLINK, 0, TYPE_NULL)
IOCTL_SPECIAL(SIOCGIFCONF, IOC_W | IOC_R, do_ioctl_ifconf,
MK_PTR(MK_STRUCT(STRUCT_ifconf)))
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index 9470a5ce965b..cb40620114f8 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -782,6 +782,8 @@ struct target_pollfd {
#define TARGET_SIOCADDMULTI 0x8931 /* Multicast address lists
*/
#define TARGET_SIOCDELMULTI 0x8932
#define TARGET_SIOCGIFINDEX 0x8933
+#define TARGET_SIOCSIFPFLAGS 0x8934 /* set extended flags
*/
+#define TARGET_SIOCGIFPFLAGS 0x8935 /* get extended flags
*/
/* Bridging control calls */
#define TARGET_SIOCGIFBR 0x8940 /* Bridging support
*/
--
2.20.1
- [Qemu-devel] [PULL 00/10] Linux user for 4.1 patches, Laurent Vivier, 2019/05/23
- [Qemu-devel] [PULL 01/10] linux-user: add pseudo /proc/cpuinfo for sparc, Laurent Vivier, 2019/05/23
- [Qemu-devel] [PULL 07/10] linux-user: Add support for setsockopt() options IPV6_<ADD|DROP>_MEMBERSHIP, Laurent Vivier, 2019/05/23
- [Qemu-devel] [PULL 04/10] linux-user: Add support for SIOCSPGRP ioctl for all targets, Laurent Vivier, 2019/05/23
- [Qemu-devel] [PULL 02/10] linux-user: add pseudo /proc/hardware for m68k, Laurent Vivier, 2019/05/23
- [Qemu-devel] [PULL 09/10] linux-user: Align mmap_find_vma to host page size, Laurent Vivier, 2019/05/23
- [Qemu-devel] [PULL 05/10] linux-user: Add support for SIOC<G|S>IFPFLAGS ioctls for all targets,
Laurent Vivier <=
- [Qemu-devel] [PULL 03/10] linux-user: Fix support for SIOCATMARK and SIOCGPGRP ioctls for xtensa, Laurent Vivier, 2019/05/23
- [Qemu-devel] [PULL 08/10] linux-user: Fix shmat emulation by honoring host SHMLBA, Laurent Vivier, 2019/05/23
- [Qemu-devel] [PULL 06/10] linux-user: Sanitize interp_info and, for mips only, init field fp_abi, Laurent Vivier, 2019/05/23
- [Qemu-devel] [PULL 10/10] linux-user: Pass through nanosecond timestamp components for stat syscalls, Laurent Vivier, 2019/05/23
- Re: [Qemu-devel] [PULL 00/10] Linux user for 4.1 patches, no-reply, 2019/05/23
- Re: [Qemu-devel] [PULL 00/10] Linux user for 4.1 patches, Peter Maydell, 2019/05/24