On Wed, 3 Feb 2016 11:47:56 +0100 Jiri Pirko <j...@resnulli.us> wrote:
> From: Jiri Pirko <j...@mellanox.com> > > There a is need for some userspace API that would allow to expose things > that are not directly related to any device class like net_device of > ib_device, but rather chip-wide/switch-ASIC-wide stuff. > > Use cases: > 1) get/set of port type (Ethernet/InfiniBand) > 2) monitoring of hardware messages to and from chip > 3) setting up port splitters - split port into multiple ones and squash again, > enables usage of splitter cable > 4) setting up shared buffers - shared among multiple ports within one chip > > First patch of this set introduces a new generic Netlink based interface, > called "devlink". It is similar to nl80211 model and it is heavily > influenced by it, including the API definition. The devlink introduction patch > implements use cases 1) and 2). Other 2 are in development atm and will > be addressed by follow-ups. > > It is very convenient for drivers to use devlink, as you can see in other > patches in this set. > > Counterpart for devlink is userspace tool called "dl". Command line interface > and outputs are derived from "ip" tool so it should be easy for users to get > used to it. > > It is available here: > https://github.com/jpirko/devlink IHMO this very short command name "dl" is not an advantage. It is simply too unspecific and short for a good Google search. E.g. when searching for good examples for using "dl". I think "devlink" would be better. If you like short commands do: alias dl="devlink" > Example usage: > butter:~$ dl help > Usage: dl [ OPTIONS ] OBJECT { COMMAND | help } > where OBJECT := { dev | port | monitor } > OPTIONS := { -v/--verbose } > > butter:~$ dl dev show > 0: devlink0: bus pci dev 0000:01:00.0 > > butter:~$ dl port help > Usage: dl port show [DEV/PORT_INDEX] > Usage: dl port set DEV/PORT_INDEX [ type { eth | ib | auto} ] > > butter:~$ dl port show > devlink0/1: type ib ibdev mlx4_0 > devlink0/2: type ib ibdev mlx4_0 > > butter:~$ sudo dl port set devlink0/1 type eth > > butter:~$ dl port show > devlink0/1: type eth netdev ens4 > devlink0/2: type ib ibdev mlx4_0 > > butter:~$ sudo dl port set devlink0/1 type auto > > butter:~$ dl port show > devlink0/1: type eth(auto) netdev ens4 > devlink0/2: type ib ibdev mlx4_0 -- Best regards, Jesper Dangaard Brouer MSc.CS, Principal Kernel Engineer at Red Hat Author of http://www.iptv-analyzer.org LinkedIn: http://www.linkedin.com/in/brouer