Message ID | 20230101141105.12024-1-fantasquex@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | linux-user: add more netlink protocol constants | expand |
Ping! Hi, it's been more than a week since I submitted this patch. I think it's a trivial patch. Maybe qemu trivial team could take a look. Thanks, Letu
Le 01/01/2023 à 15:11, Letu Ren a écrit : > Currently, qemu strace only prints four protocol contants. This patch > adds others listed in "linux/netlink.h". > > Signed-off-by: Letu Ren <fantasquex@gmail.com> > --- > I found this issue when running networkmanager using qemu-user. > `socket(PF_NETLINK,SOCK_RAW,16) = -1 errno=93 (Protocol not supported)` > I don't know whether this protocol can be implemented. However, a better > log is much easier. > > linux-user/strace.c | 48 +++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 48 insertions(+) > > diff --git a/linux-user/strace.c b/linux-user/strace.c > index 9ae5a812cd..a2b2aa7248 100644 > --- a/linux-user/strace.c > +++ b/linux-user/strace.c > @@ -506,21 +506,69 @@ print_socket_protocol(int domain, int type, int protocol) > case NETLINK_ROUTE: > qemu_log("NETLINK_ROUTE"); > break; > + case NETLINK_UNUSED: > + qemu_log("NETLINK_UNUSED"); > + break; > + case NETLINK_USERSOCK: > + qemu_log("NETLINK_USERSOCK"); > + break; > + case NETLINK_FIREWALL: > + qemu_log("NETLINK_FIREWALL"); > + break; > + case NETLINK_SOCK_DIAG: > + qemu_log("NETLINK_SOCK_DIAG"); > + break; > + case NETLINK_NFLOG: > + qemu_log("NETLINK_NFLOG"); > + break; > + case NETLINK_XFRM: > + qemu_log("NETLINK_XFRM"); > + break; > + case NETLINK_SELINUX: > + qemu_log("NETLINK_SELINUX"); > + break; > + case NETLINK_ISCSI: > + qemu_log("NETLINK_ISCSI"); > + break; > case NETLINK_AUDIT: > qemu_log("NETLINK_AUDIT"); > break; > + case NETLINK_FIB_LOOKUP: > + qemu_log("NETLINK_FIB_LOOKUP"); > + break; > + case NETLINK_CONNECTOR: > + qemu_log("NETLINK_CONNECTOR"); > + break; > case NETLINK_NETFILTER: > qemu_log("NETLINK_NETFILTER"); > break; > + case NETLINK_IP6_FW: > + qemu_log("NETLINK_IP6_FW"); > + break; > + case NETLINK_DNRTMSG: > + qemu_log("NETLINK_DNRTMSG"); > + break; > case NETLINK_KOBJECT_UEVENT: > qemu_log("NETLINK_KOBJECT_UEVENT"); > break; > + case NETLINK_GENERIC: > + qemu_log("NETLINK_GENERIC"); > + break; > + case NETLINK_SCSITRANSPORT: > + qemu_log("NETLINK_SCSITRANSPORT"); > + break; > + case NETLINK_ECRYPTFS: > + qemu_log("NETLINK_ECRYPTFS"); > + break; > case NETLINK_RDMA: > qemu_log("NETLINK_RDMA"); > break; > case NETLINK_CRYPTO: > qemu_log("NETLINK_CRYPTO"); > break; > + case NETLINK_SMC: > + qemu_log("NETLINK_SMC"); > + break; > default: > qemu_log("%d", protocol); > break; Applied to my linux-user-for-8.0 branch. Thanks, Laurent
diff --git a/linux-user/strace.c b/linux-user/strace.c index 9ae5a812cd..a2b2aa7248 100644 --- a/linux-user/strace.c +++ b/linux-user/strace.c @@ -506,21 +506,69 @@ print_socket_protocol(int domain, int type, int protocol) case NETLINK_ROUTE: qemu_log("NETLINK_ROUTE"); break; + case NETLINK_UNUSED: + qemu_log("NETLINK_UNUSED"); + break; + case NETLINK_USERSOCK: + qemu_log("NETLINK_USERSOCK"); + break; + case NETLINK_FIREWALL: + qemu_log("NETLINK_FIREWALL"); + break; + case NETLINK_SOCK_DIAG: + qemu_log("NETLINK_SOCK_DIAG"); + break; + case NETLINK_NFLOG: + qemu_log("NETLINK_NFLOG"); + break; + case NETLINK_XFRM: + qemu_log("NETLINK_XFRM"); + break; + case NETLINK_SELINUX: + qemu_log("NETLINK_SELINUX"); + break; + case NETLINK_ISCSI: + qemu_log("NETLINK_ISCSI"); + break; case NETLINK_AUDIT: qemu_log("NETLINK_AUDIT"); break; + case NETLINK_FIB_LOOKUP: + qemu_log("NETLINK_FIB_LOOKUP"); + break; + case NETLINK_CONNECTOR: + qemu_log("NETLINK_CONNECTOR"); + break; case NETLINK_NETFILTER: qemu_log("NETLINK_NETFILTER"); break; + case NETLINK_IP6_FW: + qemu_log("NETLINK_IP6_FW"); + break; + case NETLINK_DNRTMSG: + qemu_log("NETLINK_DNRTMSG"); + break; case NETLINK_KOBJECT_UEVENT: qemu_log("NETLINK_KOBJECT_UEVENT"); break; + case NETLINK_GENERIC: + qemu_log("NETLINK_GENERIC"); + break; + case NETLINK_SCSITRANSPORT: + qemu_log("NETLINK_SCSITRANSPORT"); + break; + case NETLINK_ECRYPTFS: + qemu_log("NETLINK_ECRYPTFS"); + break; case NETLINK_RDMA: qemu_log("NETLINK_RDMA"); break; case NETLINK_CRYPTO: qemu_log("NETLINK_CRYPTO"); break; + case NETLINK_SMC: + qemu_log("NETLINK_SMC"); + break; default: qemu_log("%d", protocol); break;
Currently, qemu strace only prints four protocol contants. This patch adds others listed in "linux/netlink.h". Signed-off-by: Letu Ren <fantasquex@gmail.com> --- I found this issue when running networkmanager using qemu-user. `socket(PF_NETLINK,SOCK_RAW,16) = -1 errno=93 (Protocol not supported)` I don't know whether this protocol can be implemented. However, a better log is much easier. linux-user/strace.c | 48 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+)