mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
linux-user: Add most IFTUN ioctls
The three options handling `struct sock_fprog` (TUNATTACHFILTER, TUNDETACHFILTER, and TUNGETFILTER) are not implemented. Linux kernel keeps a user space pointer in them which we cannot correctly handle. Signed-off-by: Josh Kunz <jkz@google.com> Signed-off-by: Shu-Chun Weng <scw@google.com> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <20200929014801.655524-1-scw@google.com> [lv: use 0 size in unlock_user()] Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
parent
8494645797
commit
6addf06a3c
3 changed files with 115 additions and 0 deletions
|
@ -929,6 +929,38 @@ struct target_rtc_pll_info {
|
|||
|
||||
#define TARGET_SIOCGIWNAME 0x8B01 /* get name == wireless protocol */
|
||||
|
||||
/* From <linux/if_tun.h> */
|
||||
|
||||
#define TARGET_TUNSETDEBUG TARGET_IOW('T', 201, int)
|
||||
#define TARGET_TUNSETIFF TARGET_IOW('T', 202, int)
|
||||
#define TARGET_TUNSETPERSIST TARGET_IOW('T', 203, int)
|
||||
#define TARGET_TUNSETOWNER TARGET_IOW('T', 204, int)
|
||||
#define TARGET_TUNSETLINK TARGET_IOW('T', 205, int)
|
||||
#define TARGET_TUNSETGROUP TARGET_IOW('T', 206, int)
|
||||
#define TARGET_TUNGETFEATURES TARGET_IOR('T', 207, unsigned int)
|
||||
#define TARGET_TUNSETOFFLOAD TARGET_IOW('T', 208, unsigned int)
|
||||
#define TARGET_TUNSETTXFILTER TARGET_IOW('T', 209, unsigned int)
|
||||
#define TARGET_TUNGETIFF TARGET_IOR('T', 210, unsigned int)
|
||||
#define TARGET_TUNGETSNDBUF TARGET_IOR('T', 211, int)
|
||||
#define TARGET_TUNSETSNDBUF TARGET_IOW('T', 212, int)
|
||||
/*
|
||||
* TUNATTACHFILTER and TUNDETACHFILTER are not supported. Linux kernel keeps a
|
||||
* user pointer in TUNATTACHFILTER, which we are not able to correctly handle.
|
||||
*/
|
||||
#define TARGET_TUNGETVNETHDRSZ TARGET_IOR('T', 215, int)
|
||||
#define TARGET_TUNSETVNETHDRSZ TARGET_IOW('T', 216, int)
|
||||
#define TARGET_TUNSETQUEUE TARGET_IOW('T', 217, int)
|
||||
#define TARGET_TUNSETIFINDEX TARGET_IOW('T', 218, unsigned int)
|
||||
/* TUNGETFILTER is not supported: see TUNATTACHFILTER. */
|
||||
#define TARGET_TUNSETVNETLE TARGET_IOW('T', 220, int)
|
||||
#define TARGET_TUNGETVNETLE TARGET_IOR('T', 221, int)
|
||||
#define TARGET_TUNSETVNETBE TARGET_IOW('T', 222, int)
|
||||
#define TARGET_TUNGETVNETBE TARGET_IOR('T', 223, int)
|
||||
#define TARGET_TUNSETSTEERINGEBPF TARGET_IOR('T', 224, int)
|
||||
#define TARGET_TUNSETFILTEREBPF TARGET_IOR('T', 225, int)
|
||||
#define TARGET_TUNSETCARRIER TARGET_IOW('T', 226, int)
|
||||
#define TARGET_TUNGETDEVNETNS TARGET_IO('T', 227)
|
||||
|
||||
/* From <linux/random.h> */
|
||||
|
||||
#define TARGET_RNDGETENTCNT TARGET_IOR('R', 0x00, int)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue