summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShu-Chun Weng2020-12-18 20:32:12 +0100
committerLaurent Vivier2021-01-20 18:25:42 +0100
commit22db1213899970f2b8b94223e88c7147726ad14e (patch)
tree89e902b97989fd678b90122cbe60ddf7801e9f8b
parentlinux-user: add missing UDP get/setsockopt option (diff)
downloadqemu-22db1213899970f2b8b94223e88c7147726ad14e.tar.gz
qemu-22db1213899970f2b8b94223e88c7147726ad14e.tar.xz
qemu-22db1213899970f2b8b94223e88c7147726ad14e.zip
linux-user: add missing IPv6 get/setsockopt option
IPV6_ADDR_PREFERENCES (RFC5014: Source address selection) was not supported. Signed-off-by: Shu-Chun Weng <scw@google.com> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <20201218193213.3566856-4-scw@google.com> [PMD: Add missing <linux/in6.h> include for IPV6_ADDR_PREFERENCES] Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
-rw-r--r--linux-user/syscall.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 969db20081..5d482dcbef 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -51,6 +51,7 @@
#include <sys/sysinfo.h>
#include <sys/signalfd.h>
//#include <sys/user.h>
+#include <netinet/in.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
#include <netinet/udp.h>
@@ -58,6 +59,7 @@
#include <linux/icmp.h>
#include <linux/icmpv6.h>
#include <linux/if_tun.h>
+#include <linux/in6.h>
#include <linux/errqueue.h>
#include <linux/random.h>
#ifdef CONFIG_TIMERFD
@@ -2272,6 +2274,7 @@ static abi_long do_setsockopt(int sockfd, int level, int optname,
case IPV6_RECVDSTOPTS:
case IPV6_2292DSTOPTS:
case IPV6_TCLASS:
+ case IPV6_ADDR_PREFERENCES:
#ifdef IPV6_RECVPATHMTU
case IPV6_RECVPATHMTU:
#endif
@@ -2926,6 +2929,7 @@ get_timeout:
case IPV6_RECVDSTOPTS:
case IPV6_2292DSTOPTS:
case IPV6_TCLASS:
+ case IPV6_ADDR_PREFERENCES:
#ifdef IPV6_RECVPATHMTU
case IPV6_RECVPATHMTU:
#endif