From 113a9dd73f6377941e0a4bfd7aea5370728b1c28 Mon Sep 17 00:00:00 2001 From: Yunqiang Su Date: Tue, 30 Oct 2018 13:55:08 +0100 Subject: [PATCH] linux-user: Add support for SO_REUSEPORT Add support for SO_REUSEPORT, including strace support. SO_REUSEPORT was introduced relatively recently, since Linux 3.9, so use '#if defined SO_REUSEPORT'. Signed-off-by: Yunqiang Su Signed-off-by: Aleksandar Markovic Reviewed-by: Laurent Vivier Message-Id: <1540904108-30873-4-git-send-email-aleksandar.markovic@rt-rk.com> Signed-off-by: Laurent Vivier --- linux-user/strace.c | 3 +++ linux-user/syscall.c | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/linux-user/strace.c b/linux-user/strace.c index 33f4a506a2..d1d14945f9 100644 --- a/linux-user/strace.c +++ b/linux-user/strace.c @@ -1742,6 +1742,9 @@ print_optint: case TARGET_SO_REUSEADDR: gemu_log("SO_REUSEADDR,"); goto print_optint; + case TARGET_SO_REUSEPORT: + gemu_log("SO_REUSEPORT,"); + goto print_optint; case TARGET_SO_TYPE: gemu_log("SO_TYPE,"); goto print_optint; diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 810a58b704..5c166928a4 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -2061,6 +2061,11 @@ set_timeout: case TARGET_SO_REUSEADDR: optname = SO_REUSEADDR; break; +#ifdef SO_REUSEPORT + case TARGET_SO_REUSEPORT: + optname = SO_REUSEPORT; + break; +#endif case TARGET_SO_TYPE: optname = SO_TYPE; break; @@ -2222,6 +2227,11 @@ static abi_long do_getsockopt(int sockfd, int level, int optname, case TARGET_SO_REUSEADDR: optname = SO_REUSEADDR; goto int_case; +#ifdef SO_REUSEPORT + case TARGET_SO_REUSEPORT: + optname = SO_REUSEPORT; + goto int_case; +#endif case TARGET_SO_TYPE: optname = SO_TYPE; goto int_case;