[dpdk-dev] [PATCH v7 0/4] User-space Ethtool
Stephen Hemminger
stephen at networkplumber.org
Thu Jun 18 04:04:01 CEST 2015
On Wed, Jun 17, 2015 at 6:22 PM, Liang-Min Larry Wang <
liang-min.wang at intel.com> wrote:
> This implementation is designed to provide a familar interface for
> applications that rely on kernel-space driver to support ethtool_op and
> net_device_op for device management. The initial implementation focuses on
> ops that can be implemented through existing netdev APIs. More ops will be
> supported in latter release.
>
> v7 change:
> - Remove rte_eth_dev_get_ringparam implementation
> v6 change:
> - Rebase to match new changes over librte_ether
> v5 change:
> - Change API name from 'leng' to 'length'
> - Remove unused data structure rte_dev_vf_info
> - Remove placeholder API rte_eth_dev_set_ringparam
> - Clean up set_mac_addr implementation
> v4 change:
> - Add rte_eth_xxx apis and respective ops over igb and ixgbe
> to support ethtool and net device alike ops
> - Add an example to demonstrate the use of ethtool library
> v3 change:
> - Fix a build issue
> v2 change:
> - Implement rte_eth_dev_default_mac_addr_set through dev_ops::mac_addr_set
> so it would support NIC devices other than ixgbe and igb
>
> Liang-Min Larry Wang (4):
> ethdev: add apis to support access device info
> ixgbe: add ops to support ethtool ops
> igb: add ops to support ethtool ops
> examples: new example: l2fwd-ethtool
>
> drivers/net/e1000/igb_ethdev.c | 186 ++++
> drivers/net/e1000/igb_regs.h | 217 +++++
> drivers/net/ixgbe/ixgbe_ethdev.c | 183 ++++
> drivers/net/ixgbe/ixgbe_regs.h | 357 ++++++++
> examples/l2fwd-ethtool/Makefile | 55 ++
> examples/l2fwd-ethtool/l2fwd-app/Makefile | 58 ++
> examples/l2fwd-ethtool/l2fwd-app/main.c | 1030
> ++++++++++++++++++++++
> examples/l2fwd-ethtool/l2fwd-app/netdev_api.h | 781 ++++++++++++++++
> examples/l2fwd-ethtool/l2fwd-app/shared_fifo.h | 151 ++++
> examples/l2fwd-ethtool/lib/Makefile | 55 ++
> examples/l2fwd-ethtool/lib/rte_ethtool.c | 301 +++++++
> examples/l2fwd-ethtool/lib/rte_ethtool.h | 378 ++++++++
> examples/l2fwd-ethtool/nic-control/Makefile | 55 ++
> examples/l2fwd-ethtool/nic-control/nic_control.c | 412 +++++++++
> lib/librte_ether/Makefile | 1 +
> lib/librte_ether/rte_eth_dev_info.h | 57 ++
> lib/librte_ether/rte_ethdev.c | 115 +++
> lib/librte_ether/rte_ethdev.h | 117 +++
> lib/librte_ether/rte_ether_version.map | 6 +
> 19 files changed, 4515 insertions(+)
> create mode 100644 drivers/net/e1000/igb_regs.h
> create mode 100644 drivers/net/ixgbe/ixgbe_regs.h
> create mode 100644 examples/l2fwd-ethtool/Makefile
> create mode 100644 examples/l2fwd-ethtool/l2fwd-app/Makefile
> create mode 100644 examples/l2fwd-ethtool/l2fwd-app/main.c
> create mode 100644 examples/l2fwd-ethtool/l2fwd-app/netdev_api.h
> create mode 100644 examples/l2fwd-ethtool/l2fwd-app/shared_fifo.h
> create mode 100644 examples/l2fwd-ethtool/lib/Makefile
> create mode 100644 examples/l2fwd-ethtool/lib/rte_ethtool.c
> create mode 100644 examples/l2fwd-ethtool/lib/rte_ethtool.h
> create mode 100644 examples/l2fwd-ethtool/nic-control/Makefile
> create mode 100644 examples/l2fwd-ethtool/nic-control/nic_control.c
> create mode 100644 lib/librte_ether/rte_eth_dev_info.h
>
> --
> 2.1.4
>
>
I agree with having a more complete API, but have some nits to pick.
Could the API be more abstract to reduce ABI issues in future?
I know choosing names is hard, but as a Linux developer ethtool has a very
specific meaning to me.
This API encompasses things broader than Linux ethtool and has different
semantics therefore
not sure having something in DPDK with same name is really a good idea.
It would be better to call it something else like netdev_?? Or dpnet_??
More information about the dev
mailing list