[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 4/8] linux-user: Add IPv6 options to do_print_sockopt()
From: |
Laurent Vivier |
Subject: |
Re: [PATCH v2 4/8] linux-user: Add IPv6 options to do_print_sockopt() |
Date: |
Wed, 30 Sep 2020 01:29:54 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 |
Le 11/08/2020 à 09:09, Shu-Chun Weng a écrit :
> Signed-off-by: Shu-Chun Weng <scw@google.com>
> ---
> v1 -> v2:
> New: Add all IPV6 options to do_print_sockopt(), including the newly
> supported
> IPV6_ADDR_PREFERENCES.
>
> linux-user/strace.c | 108 ++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 108 insertions(+)
>
> diff --git a/linux-user/strace.c b/linux-user/strace.c
> index 854b54a2ad..089fb3968e 100644
> --- a/linux-user/strace.c
> +++ b/linux-user/strace.c
> @@ -6,6 +6,7 @@
> #include <sys/select.h>
> #include <sys/mount.h>
> #include <arpa/inet.h>
> +#include <netinet/in.h>
> #include <netinet/tcp.h>
> #include <netinet/udp.h>
> #include <linux/if_packet.h>
> @@ -2307,6 +2308,113 @@ print_optint:
> break;
> }
> break;
> + case SOL_IPV6:
> + qemu_log("SOL_IPV6,");
> + switch (optname) {
> + case IPV6_MTU_DISCOVER:
> + qemu_log("IPV6_MTU_DISCOVER,");
> + goto print_optint;
> + case IPV6_MTU:
> + qemu_log("IPV6_MTU,");
> + goto print_optint;
> + case IPV6_V6ONLY:
> + qemu_log("IPV6_V6ONLY,");
> + goto print_optint;
> + case IPV6_RECVPKTINFO:
> + qemu_log("IPV6_RECVPKTINFO,");
> + goto print_optint;
> + case IPV6_UNICAST_HOPS:
> + qemu_log("IPV6_UNICAST_HOPS,");
> + goto print_optint;
> + case IPV6_MULTICAST_HOPS:
> + qemu_log("IPV6_MULTICAST_HOPS,");
> + goto print_optint;
> + case IPV6_MULTICAST_LOOP:
> + qemu_log("IPV6_MULTICAST_LOOP,");
> + goto print_optint;
> + case IPV6_RECVERR:
> + qemu_log("IPV6_RECVERR,");
> + goto print_optint;
> + case IPV6_RECVHOPLIMIT:
> + qemu_log("IPV6_RECVHOPLIMIT,");
> + goto print_optint;
> + case IPV6_2292HOPLIMIT:
> + qemu_log("IPV6_2292HOPLIMIT,");
> + goto print_optint;
> + case IPV6_CHECKSUM:
> + qemu_log("IPV6_CHECKSUM,");
> + goto print_optint;
> + case IPV6_ADDRFORM:
> + qemu_log("IPV6_ADDRFORM,");
> + goto print_optint;
> + case IPV6_2292PKTINFO:
> + qemu_log("IPV6_2292PKTINFO,");
> + goto print_optint;
> + case IPV6_RECVTCLASS:
> + qemu_log("IPV6_RECVTCLASS,");
> + goto print_optint;
> + case IPV6_RECVRTHDR:
> + qemu_log("IPV6_RECVRTHDR,");
> + goto print_optint;
> + case IPV6_2292RTHDR:
> + qemu_log("IPV6_2292RTHDR,");
> + goto print_optint;
> + case IPV6_RECVHOPOPTS:
> + qemu_log("IPV6_RECVHOPOPTS,");
> + goto print_optint;
> + case IPV6_2292HOPOPTS:
> + qemu_log("IPV6_2292HOPOPTS,");
> + goto print_optint;
> + case IPV6_RECVDSTOPTS:
> + qemu_log("IPV6_RECVDSTOPTS,");
> + goto print_optint;
> + case IPV6_2292DSTOPTS:
> + qemu_log("IPV6_2292DSTOPTS,");
> + goto print_optint;
> + case IPV6_TCLASS:
> + qemu_log("IPV6_TCLASS,");
> + goto print_optint;
> + case IPV6_ADDR_PREFERENCES:
> + qemu_log("IPV6_ADDR_PREFERENCES,");
> + goto print_optint;
> +#ifdef IPV6_RECVPATHMTU
> + case IPV6_RECVPATHMTU:
> + qemu_log("IPV6_RECVPATHMTU,");
> + goto print_optint;
> +#endif
> +#ifdef IPV6_TRANSPARENT
> + case IPV6_TRANSPARENT:
> + qemu_log("IPV6_TRANSPARENT,");
> + goto print_optint;
> +#endif
> +#ifdef IPV6_FREEBIND
> + case IPV6_FREEBIND:
> + qemu_log("IPV6_FREEBIND,");
> + goto print_optint;
> +#endif
> +#ifdef IPV6_RECVORIGDSTADDR
> + case IPV6_RECVORIGDSTADDR:
> + qemu_log("IPV6_RECVORIGDSTADDR,");
> + goto print_optint;
> +#endif
> + case IPV6_PKTINFO:
> + qemu_log("IPV6_PKTINFO,");
> + print_pointer(optval, 0);
> + break;
> + case IPV6_ADD_MEMBERSHIP:
> + qemu_log("IPV6_ADD_MEMBERSHIP,");
> + print_pointer(optval, 0);
> + break;
> + case IPV6_DROP_MEMBERSHIP:
> + qemu_log("IPV6_DROP_MEMBERSHIP,");
> + print_pointer(optval, 0);
> + break;
> + default:
> + print_raw_param(TARGET_ABI_FMT_ld, optname, 0);
> + print_pointer(optval, 0);
> + break;
> + }
> + break;
> default:
> print_raw_param(TARGET_ABI_FMT_ld, level, 0);
> print_raw_param(TARGET_ABI_FMT_ld, optname, 0);
>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>