On Thu, Jan 19, 2017 at 11:03:08AM -0700, Jason Gunthorpe wrote: > On Thu, Jan 19, 2017 at 08:33:26AM +0200, Leon Romanovsky wrote: > > On Wed, Jan 18, 2017 at 01:45:14PM -0800, Bart Van Assche wrote: > > > On 01/18/2017 10:31 AM, Jason Gunthorpe wrote: > > > > I think it depends on what this tool is supposed to cover, but based > > > > on the description, I would start with netlink-only. > > > > > > > > The only place verbs covers a similar ground is in 'device > > > > capabilities' - for some of that you might want to open a new-uAPI > > > > verbs fd, but even the capability data from that would not be > > > > totally offensive to be accessed over netlink. > > > > > > > > IMHO netlink should cover almost everything found in sysfs today. > > > > > > We would need a very strong argument to introduce a netlink API that > > > duplicates existing sysfs API functionality. Since the sysfs API is > > > extensible, why not extend that API further? E.g. the SCST sysfs API > > > shows that more is possible with sysfs than what most kernel drivers > > > realize. > > > > We didn't look deeply on sysfs mainly because it is unpopular > > in netdev community. Maybe we were misled and it is simply not true. > > sysfs is unpopular because the 'one value per file' dogma is laregly > unsuitable for complex mulit-value atomic changes which are common in > netdev. You can force it to work, but it is pretty horrible.. > > It is also very expensive if you want to shuttle a lot of data, eg I > could not see doing something like 'netstat' for IB through sysfs > > Maybe you should start by showing some examples of command out you > wish to have in a rdmatool ..
Ariel wrote very simplified version in his proposal: Functionality ************* The rdmatool will provide a platform which can grow as needed. The initial functionality might include: * help – man page * version – version number * statistics – RDMA statistics – such as port and QP statistics To allow easy reading of statistics, we offer to use a filter functionality, allowing reading of statistics families, such as link layer, error counters, etc. * protocol – RoCE/iWARP/InfiniBand related configuration, such as RDMA congestion configuration and statistics * query – RDMA objects (qp, cq, srq, ..) information such as owner, status, type * debug – an interface to allow read and write from user space to the provider RDMA driver, exposing debug information. Commands similar to "ip" program. > > Jason
signature.asc
Description: PGP signature