From 0d78b3b5b1b5c391aa96b481be106de023810b66 Mon Sep 17 00:00:00 2001 From: Laurent Vivier Date: Fri, 30 Aug 2013 01:46:43 +0200 Subject: linux-user: add some IPV6 commands in setsockop() Signed-off-by: Laurent Vivier Reviewed-by: Peter Maydell Signed-off-by: Riku Voipio --- linux-user/syscall.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 505031b80f..7a093bab04 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -1315,6 +1315,26 @@ static abi_long do_setsockopt(int sockfd, int level, int optname, goto unimplemented; } break; + case SOL_IPV6: + switch (optname) { + case IPV6_MTU_DISCOVER: + case IPV6_MTU: + case IPV6_V6ONLY: + case IPV6_RECVPKTINFO: + val = 0; + if (optlen < sizeof(uint32_t)) { + return -TARGET_EINVAL; + } + if (get_user_u32(val, optval_addr)) { + return -TARGET_EFAULT; + } + ret = get_errno(setsockopt(sockfd, level, optname, + &val, sizeof(val))); + break; + default: + goto unimplemented; + } + break; case SOL_RAW: switch (optname) { case ICMP_FILTER: -- cgit v1.2.3