From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 7BBD9DE4 for ; Sat, 13 Jun 2015 00:03:21 +0200 (CEST) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga103.fm.intel.com with ESMTP; 12 Jun 2015 15:03:10 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,604,1427785200"; d="scan'208";a="586934766" Received: from sntammix-mobl.amr.corp.intel.com (HELO lwang14-MOBL6.amr.corp.intel.com) ([10.254.128.189]) by orsmga003.jf.intel.com with ESMTP; 12 Jun 2015 15:03:08 -0700 From: Liang-Min Larry Wang To: dev@dpdk.org Date: Fri, 12 Jun 2015 18:03:01 -0400 Message-Id: <1434146585-14472-1-git-send-email-liang-min.wang@intel.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1432946276-9424-1-git-send-email-liang-min.wang@intel.com> References: <1432946276-9424-1-git-send-email-liang-min.wang@intel.com> Cc: Liang-Min Larry Wang Subject: [dpdk-dev] [PATCH v6 0/4] User-space Ethtool X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Jun 2015 22:03:22 -0000 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