[dpdk-dev] [PATCH v6 0/4] User-space Ethtool

Liang-Min Larry Wang liang-min.wang at intel.com
Sat Jun 13 00:03:01 CEST 2015


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.

v6 change:
- Rebase to match new changes over dpdk repository (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                 |  202 +++++
 drivers/net/ixgbe/ixgbe_regs.h                   |  357 ++++++++
 drivers/net/ixgbe/ixgbe_rxtx.c                   |   16 +
 drivers/net/ixgbe/ixgbe_rxtx.h                   |    1 +
 examples/l2fwd-ethtool/Makefile                  |   55 ++
 examples/l2fwd-ethtool/l2fwd-app/Makefile        |   58 ++
 examples/l2fwd-ethtool/l2fwd-app/main.c          | 1052 ++++++++++++++++++++++
 examples/l2fwd-ethtool/l2fwd-app/netdev_api.h    |  821 +++++++++++++++++
 examples/l2fwd-ethtool/l2fwd-app/shared_fifo.h   |  153 ++++
 examples/l2fwd-ethtool/lib/Makefile              |   55 ++
 examples/l2fwd-ethtool/lib/rte_ethtool.c         |  326 +++++++
 examples/l2fwd-ethtool/lib/rte_ethtool.h         |  412 +++++++++
 examples/l2fwd-ethtool/nic-control/Makefile      |   55 ++
 examples/l2fwd-ethtool/nic-control/nic_control.c |  427 +++++++++
 lib/librte_ether/Makefile                        |    1 +
 lib/librte_ether/rte_eth_dev_info.h              |   67 ++
 lib/librte_ether/rte_ethdev.c                    |  134 +++
 lib/librte_ether/rte_ethdev.h                    |  144 +++
 lib/librte_ether/rte_ether_version.map           |    7 +
 21 files changed, 4746 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



More information about the dev mailing list