Message ID | 7d61f792c22de8df3c6a9438eacc3906620e7c54.1597129029.git.scw@google.com |
---|---|
State | New |
Headers | show |
Series | fcntl, sockopt, and ioctl options | expand |
Ping -- this one was broken off into its own patch from v1 due to the amount of addition. Hence I did not add Review-by. On Tue, Aug 11, 2020 at 12:10 AM Shu-Chun Weng <scw@google.com> wrote: > 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); > -- > 2.28.0.220.ged08abb693-goog > >
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>
Hi Laurent, The first 4 patches in the set (up to this) are self-contained. Is it possible to include them in your dev branch while the others are still waiting for review? (I'll ping the other threads separately). The first three patches are: https://lists.nongnu.org/archive/html/qemu-devel/2020-08/msg02044.html https://lists.nongnu.org/archive/html/qemu-devel/2020-08/msg02051.html https://lists.nongnu.org/archive/html/qemu-devel/2020-08/msg01946.html Shu-Chun On Tue, Sep 29, 2020 at 4:29 PM Laurent Vivier <laurent@vivier.eu> wrote: > 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> >
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);
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(+)