linux-user/strace: Dump AF_NETLINK sockaddr content
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Tested-By: Guido Günther <agx@sigxcpu.org> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <20191021114857.20538-6-f4bug@amsat.org> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
parent
a47401bca7
commit
814ae70ff9
@ -8,6 +8,7 @@
|
||||
#include <arpa/inet.h>
|
||||
#include <netinet/tcp.h>
|
||||
#include <linux/if_packet.h>
|
||||
#include <linux/netlink.h>
|
||||
#include <sched.h>
|
||||
#include "qemu.h"
|
||||
|
||||
@ -398,6 +399,12 @@ print_sockaddr(abi_ulong addr, abi_long addrlen)
|
||||
gemu_log("}");
|
||||
break;
|
||||
}
|
||||
case AF_NETLINK: {
|
||||
struct target_sockaddr_nl *nl = (struct target_sockaddr_nl *)sa;
|
||||
gemu_log("{nl_family=AF_NETLINK,nl_pid=%u,nl_groups=%u}",
|
||||
tswap32(nl->nl_pid), tswap32(nl->nl_groups));
|
||||
break;
|
||||
}
|
||||
default:
|
||||
gemu_log("{sa_family=%d, sa_data={", sa->sa_family);
|
||||
for (i = 0; i < 13; i++) {
|
||||
@ -424,6 +431,9 @@ print_socket_domain(int domain)
|
||||
case PF_INET:
|
||||
gemu_log("PF_INET");
|
||||
break;
|
||||
case PF_NETLINK:
|
||||
gemu_log("PF_NETLINK");
|
||||
break;
|
||||
case PF_PACKET:
|
||||
gemu_log("PF_PACKET");
|
||||
break;
|
||||
@ -473,6 +483,33 @@ print_socket_protocol(int domain, int type, int protocol)
|
||||
return;
|
||||
}
|
||||
|
||||
if (domain == PF_NETLINK) {
|
||||
switch (protocol) {
|
||||
case NETLINK_ROUTE:
|
||||
gemu_log("NETLINK_ROUTE");
|
||||
break;
|
||||
case NETLINK_AUDIT:
|
||||
gemu_log("NETLINK_AUDIT");
|
||||
break;
|
||||
case NETLINK_NETFILTER:
|
||||
gemu_log("NETLINK_NETFILTER");
|
||||
break;
|
||||
case NETLINK_KOBJECT_UEVENT:
|
||||
gemu_log("NETLINK_KOBJECT_UEVENT");
|
||||
break;
|
||||
case NETLINK_RDMA:
|
||||
gemu_log("NETLINK_RDMA");
|
||||
break;
|
||||
case NETLINK_CRYPTO:
|
||||
gemu_log("NETLINK_CRYPTO");
|
||||
break;
|
||||
default:
|
||||
gemu_log("%d", protocol);
|
||||
break;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
switch (protocol) {
|
||||
case IPPROTO_IP:
|
||||
gemu_log("IPPROTO_IP");
|
||||
|
Loading…
Reference in New Issue
Block a user