On 01/03/2018 08:29 PM, David Ahern wrote: > On 1/3/18 11:17 AM, Jiri Pirko wrote: >> Wed, Jan 03, 2018 at 07:14:16PM CET, d...@cumulusnetworks.com wrote: >>> On 1/3/18 11:05 AM, Arkadi Sharshevsky wrote: >>>> As I stated this is a user-space bug which I fixed, and updated my repo >>>> so please pull. Devlink uses mnl,and currently mnl does not support >>>> extended ack. I added support for this in my local ver of libmnl: >>>> >>>> https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Farkadis%2Flibmnl.git&data=02%7C01%7Carkadis%40mellanox.com%7C5c86b6240eb84459c6ae08d552d7f9a4%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C636506009929977440&sdata=sgrNzMhPwe63BIVxexZTjl%2FXqW51kpuRiHVhTDNaa70%3D&reserved=0 >>>> >>>> On branch master, so you can check it out. Besides this bugs, which were >>>> userspace, can please specify what are the pending problems from your >>>> point of view? Thanks! >>> >>> devlink is in iproute2 package and it has extack support. See 'git log >>> lib/libnetlink.c' >> >> Dave, devlink uses libmnl. >> > > Now I remember. You wrote it independently and but needed iproute2 be a > delivery vehicle. It uses none of the common infrastructure from > iproute2. Could we make this more difficult .... > > Sometime in the next day I will jump through the hoops to get a proper > devlink command. >
This actually was very confusing, I think the extack should be handled by libmnl and iproute should use mnl_cb_run() routines and not to implement its own. That way we could both benefit from that. You actually do use libmnl in libnetlink.c only for parsing the headers, and its a dependency for extack handling. I see this as a completely independent user space issue, which doesn't have to do anything with this patchset. Not to mention that everything is working right now.