From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Ahern Subject: Re: [PATCH net-next] libbpf: add function to setup XDP Date: Sun, 10 Dec 2017 14:07:12 -0700 Message-ID: <49b37939-ebd4-fe92-eeab-e5d2713cadb8@gmail.com> References: <20171209144315.25890-1-eric@regit.org> <20171209155715.78ef02e1@cakuba.netronome.com> <1512938058.10027.7.camel@regit.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, ast@kernel.org, daniel@iogearbox.net To: Eric Leblond , Jakub Kicinski Return-path: In-Reply-To: <1512938058.10027.7.camel@regit.org> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On 12/10/17 1:34 PM, Eric Leblond wrote: >> 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. > > I've seen the kind of messages displayed by reading at kernel log. They > are really useful and it looks almost mandatory to be able to display > them. > > Kernel code seems to not have a parser for the ext ack error message. > Did I miss something here ? > > Looking at tc code, it seems it is using libmnl to parse them and I > doubt it is a good idea to use that in libbpf as it is introducing a > dependency. > > Does someone has an existing parsing code or should I write on my own ? I had worked on extack for libbpf but seem to have lost the changes. Look at the commits here: https://github.com/dsahern/iproute2/commits/ext-ack I suggest using this: https://github.com/dsahern/iproute2/commit/b61e4c7dd54a5d3ff98640da4b480441cee497b2 to bring in nlattr from lib/nlattr (as I recall lib/nlattr can not be used directly). From there, use this one: https://github.com/dsahern/iproute2/commit/261f7251e6704d565b91e310faabbbb7e18d14a1 to see what is needed for extack support. Really not that much code to add.