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
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> >
© 2016 - 2025 Red Hat, Inc.