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.
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:s - 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 | 190 ++++ drivers/net/e1000/igb_regs.h | 212 +++++ drivers/net/ixgbe/ixgbe_ethdev.c | 207 +++++ 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 | 1048 ++++++++++++++++++++++ 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 | 335 +++++++ examples/l2fwd-ethtool/lib/rte_ethtool.h | 412 +++++++++ examples/l2fwd-ethtool/nic-control/Makefile | 55 ++ examples/l2fwd-ethtool/nic-control/nic_control.c | 417 +++++++++ lib/librte_ether/Makefile | 1 + lib/librte_ether/rte_eth_dev_info.h | 80 ++ lib/librte_ether/rte_ethdev.c | 159 ++++ lib/librte_ether/rte_ethdev.h | 158 ++++ lib/librte_ether/rte_ether_version.map | 8 + 21 files changed, 4798 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