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.

Reply via email to