On Sat, 9 Dec 2017 15:43:15 +0100, Eric Leblond wrote: > + for (nh = (struct nlmsghdr *)buf; NLMSG_OK(nh, len); > + nh = NLMSG_NEXT(nh, len)) { > + if (nh->nlmsg_pid != getpid()) { > + ret = -LIBBPF_ERRNO__WRNGPID; > + goto cleanup; > + } > + if (nh->nlmsg_seq != seq) { > + ret = -LIBBPF_ERRNO__INVSEQ; > + goto cleanup; > + } > + switch (nh->nlmsg_type) { > + case NLMSG_ERROR: > + err = (struct nlmsgerr *)NLMSG_DATA(nh); > + if (!err->error) > + continue; > + ret = err->error; > + goto cleanup; > + case NLMSG_DONE: > + break; > + default: > + break; > + }
Would it be possible to print out or preferably return to the caller the ext ack error message? A couple of drivers are using it for XDP mis-configuration reporting instead of printks. We should encourage other to do the same and support it in all user space since ext ack msgs lead to much better user experience.