From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ayyappan Veeraiyan Subject: [PATCH 1/1]ixgbe: Driver for Intel 82598 based 10GbE PCI Express family of adapters Date: Tue, 10 Jul 2007 10:49:27 -0700 Message-ID: <20070710174533.9615.77798.stgit@localhost.localdomain> References: <20070710174504.9615.10053.stgit@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Cc: ayyappan.veeraiyan@intel.com, arjan@linux.intel.com, akpm@linux-foundation.org, auke-jan.h.kok@intel.com, hch@infradead.org, shemminger@linux-foundation.org, nhorman@tuxdriver.com, inaky@linux.intel.com, mb@bu3sch.de To: netdev@vger.kernel.org, jeff@garzik.org Return-path: Received: from mga01.intel.com ([192.55.52.88]:64128 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758497AbXGJRte (ORCPT ); Tue, 10 Jul 2007 13:49:34 -0400 In-Reply-To: <20070710174504.9615.10053.stgit@localhost.localdomain> Sender: netdev-owner@vger.kernel.org List-Id: netdev.vger.kernel.org This patch incorporates most of the comments/feedback got on previous submission.. Also, this patch implements feature flags, Multiple Rx queues, single Rx queue in NAPI mode, supports Tx/Rx checksum offloads, TCP Segmentation offload, MSIX, pcket split in Rx side etc.. Signed-off-by: Ayyappan Veeraiyan --- Documentation/networking/ixgbe.txt | 188 ++ MAINTAINERS | 15 drivers/net/Kconfig | 39 drivers/net/Makefile | 1 drivers/net/ixgbe/Makefile | 36 drivers/net/ixgbe/ixgbe.h | 216 +++ drivers/net/ixgbe/ixgbe_82598.c | 605 ++++++++ drivers/net/ixgbe/ixgbe_api.c | 637 ++++++++ drivers/net/ixgbe/ixgbe_api.h | 89 + drivers/net/ixgbe/ixgbe_common.c | 1726 ++++++++++++++++++++++ drivers/net/ixgbe/ixgbe_common.h | 73 + drivers/net/ixgbe/ixgbe_ethtool.c | 870 +++++++++++ drivers/net/ixgbe/ixgbe_main.c | 2853 ++++++++++++++++++++++++++++++++++++ drivers/net/ixgbe/ixgbe_osdep.h | 69 + drivers/net/ixgbe/ixgbe_param.c | 572 +++++++ drivers/net/ixgbe/ixgbe_phy.c | 583 +++++++ drivers/net/ixgbe/ixgbe_phy.h | 64 + drivers/net/ixgbe/ixgbe_type.h | 1390 ++++++++++++++++++ 18 files changed, 10026 insertions(+), 0 deletions(-) diff --git a/Documentation/networking/ixgbe.txt b/Documentation/networking/ixgbe.txt new file mode 100644 index 0000000..133d846 --- /dev/null +++ b/Documentation/networking/ixgbe.txt @@ -0,0 +1,188 @@ +Linux* Base Driver for the 10 Gigabit Family of Adapters +================================================================ + +July 09, 2007 + + +Contents +======== + +- In This Release +- Identifying Your Adapter +- Command Line Parameters +- Support + +In This Release +=============== + +This file describes the Linux* Base Driver for the 10 Gigabit PCI Express +Family of Adapters. This driver supports the 2.6.x kernel. This driver +includes support for Itanium(R)2-based systems. + +The following features are now available in supported kernels: + - Native VLANs + - Channel Bonding (teaming) + - SNMP + +Channel Bonding documentation can be found in the Linux kernel source: +/Documentation/networking/bonding.txt + +Instructions on updating ethtool can be found in the section "Additional +Configurations" later in this document. + + +Identifying Your Adapter +======================== + +The following Intel network adapters are compatible with the drivers in this +release: + +Controller Adapter Name Physical Layer +---------- ------------ -------------- +82598 Intel(R) 10GbE-LR/LRM/SR + Server Adapters 10G Base -SR (850 nm optical fiber) + 10G Base -LRM (850 nm optical fiber) + 10G Base -LR (1310 nm optical fiber) + +For more information on how to identify your adapter, go to the Adapter & +Driver ID Guide at: + + http://support.intel.com/support/network/sb/CS-012904.htm + +For the latest Intel network drivers for Linux, refer to the following +website. In the search field, enter your adapter name or type, or use the +networking link on the left to search for your adapter: + + http://downloadfinder.intel.com/scripts-df/support_intel.asp + +Command Line Parameters +======================= + +If the driver is built as a module, the following optional parameters are +used by entering them on the command line with the modprobe command using +this syntax: + + modprobe ixgbe [