aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Brandeburg <jesse.brandeburg@intel.com>2013-09-11 04:40:23 -0400
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2013-09-11 05:28:40 -0400
commit1bff652941c4d94f97610c9a30473aad6f5b2fff (patch)
treea5e0675390a1da5c05fc7edd82a594f872cf2202
parent02e9c290814cc143ceccecb14eac3e7a05da745e (diff)
i40e: include i40e in kernel proper
This patch adds the changes for Kconfig, i40e.txt, MAINTAINERS, Kbuild and new i40e/Makefile to build i40e with the kernel. New driver build option is CONFIG_I40E Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Shannon Nelson <shannon.nelson@intel.com> CC: PJ Waskiewicz <peter.p.waskiewicz.jr@intel.com> CC: e1000-devel@lists.sourceforge.net Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-rw-r--r--Documentation/networking/00-INDEX2
-rw-r--r--Documentation/networking/i40e.txt115
-rw-r--r--MAINTAINERS3
-rw-r--r--drivers/net/ethernet/intel/Kconfig18
-rw-r--r--drivers/net/ethernet/intel/Makefile1
-rw-r--r--drivers/net/ethernet/intel/i40e/Makefile44
6 files changed, 182 insertions, 1 deletions
diff --git a/Documentation/networking/00-INDEX b/Documentation/networking/00-INDEX
index 18b64b2b8a68..f11580f8719a 100644
--- a/Documentation/networking/00-INDEX
+++ b/Documentation/networking/00-INDEX
@@ -86,6 +86,8 @@ generic_netlink.txt
86 - info on Generic Netlink 86 - info on Generic Netlink
87gianfar.txt 87gianfar.txt
88 - Gianfar Ethernet Driver. 88 - Gianfar Ethernet Driver.
89i40e.txt
90 - README for the Intel Ethernet Controller XL710 Driver (i40e).
89ieee802154.txt 91ieee802154.txt
90 - Linux IEEE 802.15.4 implementation, API and drivers 92 - Linux IEEE 802.15.4 implementation, API and drivers
91igb.txt 93igb.txt
diff --git a/Documentation/networking/i40e.txt b/Documentation/networking/i40e.txt
new file mode 100644
index 000000000000..f737273c6dc1
--- /dev/null
+++ b/Documentation/networking/i40e.txt
@@ -0,0 +1,115 @@
1Linux Base Driver for the Intel(R) Ethernet Controller XL710 Family
2===================================================================
3
4Intel i40e Linux driver.
5Copyright(c) 2013 Intel Corporation.
6
7Contents
8========
9
10- Identifying Your Adapter
11- Additional Configurations
12- Performance Tuning
13- Known Issues
14- Support
15
16
17Identifying Your Adapter
18========================
19
20The driver in this release is compatible with the Intel Ethernet
21Controller XL710 Family.
22
23For more information on how to identify your adapter, go to the Adapter &
24Driver ID Guide at:
25
26 http://support.intel.com/support/network/sb/CS-012904.htm
27
28
29Enabling the driver
30===================
31
32The driver is enabled via the standard kernel configuration system,
33using the make command:
34
35 Make oldconfig/silentoldconfig/menuconfig/etc.
36
37The driver is located in the menu structure at:
38
39 -> Device Drivers
40 -> Network device support (NETDEVICES [=y])
41 -> Ethernet driver support
42 -> Intel devices
43 -> Intel(R) Ethernet Controller XL710 Family
44
45Additional Configurations
46=========================
47
48 Generic Receive Offload (GRO)
49 -----------------------------
50 The driver supports the in-kernel software implementation of GRO. GRO has
51 shown that by coalescing Rx traffic into larger chunks of data, CPU
52 utilization can be significantly reduced when under large Rx load. GRO is
53 an evolution of the previously-used LRO interface. GRO is able to coalesce
54 other protocols besides TCP. It's also safe to use with configurations that
55 are problematic for LRO, namely bridging and iSCSI.
56
57 Ethtool
58 -------
59 The driver utilizes the ethtool interface for driver configuration and
60 diagnostics, as well as displaying statistical information. The latest
61 ethtool version is required for this functionality.
62
63 The latest release of ethtool can be found from
64 https://www.kernel.org/pub/software/network/ethtool
65
66 Data Center Bridging (DCB)
67 --------------------------
68 DCB configuration is not currently supported.
69
70 FCoE
71 ----
72 Fiber Channel over Ethernet (FCoE) hardware offload is not currently
73 supported.
74
75 MAC and VLAN anti-spoofing feature
76 ----------------------------------
77 When a malicious driver attempts to send a spoofed packet, it is dropped by
78 the hardware and not transmitted. An interrupt is sent to the PF driver
79 notifying it of the spoof attempt.
80
81 When a spoofed packet is detected the PF driver will send the following
82 message to the system log (displayed by the "dmesg" command):
83
84 Spoof event(s) detected on VF (n)
85
86 Where n=the VF that attempted to do the spoofing.
87
88
89Performance Tuning
90==================
91
92An excellent article on performance tuning can be found at:
93
94http://www.redhat.com/promo/summit/2008/downloads/pdf/Thursday/Mark_Wagner.pdf
95
96
97Known Issues
98============
99
100
101Support
102=======
103
104For general information, go to the Intel support website at:
105
106 http://support.intel.com
107
108or the Intel Wired Networking project hosted by Sourceforge at:
109
110 http://e1000.sourceforge.net
111
112If an issue is identified with the released source code on the supported
113kernel with a supported adapter, email the specific information related
114to the issue to e1000-devel@lists.sourceforge.net and copy
115netdev@vger.kernel.org.
diff --git a/MAINTAINERS b/MAINTAINERS
index 233ddce8eeff..1a6252e9a83b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4346,7 +4346,7 @@ M: Deepak Saxena <dsaxena@plexity.net>
4346S: Maintained 4346S: Maintained
4347F: drivers/char/hw_random/ixp4xx-rng.c 4347F: drivers/char/hw_random/ixp4xx-rng.c
4348 4348
4349INTEL ETHERNET DRIVERS (e100/e1000/e1000e/igb/igbvf/ixgb/ixgbe/ixgbevf) 4349INTEL ETHERNET DRIVERS (e100/e1000/e1000e/igb/igbvf/ixgb/ixgbe/ixgbevf/i40e)
4350M: Jeff Kirsher <jeffrey.t.kirsher@intel.com> 4350M: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
4351M: Jesse Brandeburg <jesse.brandeburg@intel.com> 4351M: Jesse Brandeburg <jesse.brandeburg@intel.com>
4352M: Bruce Allan <bruce.w.allan@intel.com> 4352M: Bruce Allan <bruce.w.allan@intel.com>
@@ -4371,6 +4371,7 @@ F: Documentation/networking/igbvf.txt
4371F: Documentation/networking/ixgb.txt 4371F: Documentation/networking/ixgb.txt
4372F: Documentation/networking/ixgbe.txt 4372F: Documentation/networking/ixgbe.txt
4373F: Documentation/networking/ixgbevf.txt 4373F: Documentation/networking/ixgbevf.txt
4374F: Documentation/networking/i40e.txt
4374F: drivers/net/ethernet/intel/ 4375F: drivers/net/ethernet/intel/
4375 4376
4376INTEL PRO/WIRELESS 2100, 2200BG, 2915ABG NETWORK CONNECTION SUPPORT 4377INTEL PRO/WIRELESS 2100, 2200BG, 2915ABG NETWORK CONNECTION SUPPORT
diff --git a/drivers/net/ethernet/intel/Kconfig b/drivers/net/ethernet/intel/Kconfig
index f0e7ed20a750..149ac85b5f9e 100644
--- a/drivers/net/ethernet/intel/Kconfig
+++ b/drivers/net/ethernet/intel/Kconfig
@@ -241,4 +241,22 @@ config IXGBEVF
241 will be called ixgbevf. MSI-X interrupt support is required 241 will be called ixgbevf. MSI-X interrupt support is required
242 for this driver to work correctly. 242 for this driver to work correctly.
243 243
244config I40E
245 tristate "Intel(R) Ethernet Controller XL710 Family support"
246 depends on PCI
247 ---help---
248 This driver supports Intel(R) Ethernet Controller XL710 Family of
249 devices. For more information on how to identify your adapter, go
250 to the Adapter & Driver ID Guide at:
251
252 <http://support.intel.com/support/network/adapter/pro100/21397.htm>
253
254 For general information and support, go to the Intel support
255 website at:
256
257 <http://support.intel.com>
258
259 To compile this driver as a module, choose M here. The module
260 will be called i40e.
261
244endif # NET_VENDOR_INTEL 262endif # NET_VENDOR_INTEL
diff --git a/drivers/net/ethernet/intel/Makefile b/drivers/net/ethernet/intel/Makefile
index c8210e688669..5bae933efc7c 100644
--- a/drivers/net/ethernet/intel/Makefile
+++ b/drivers/net/ethernet/intel/Makefile
@@ -9,4 +9,5 @@ obj-$(CONFIG_IGB) += igb/
9obj-$(CONFIG_IGBVF) += igbvf/ 9obj-$(CONFIG_IGBVF) += igbvf/
10obj-$(CONFIG_IXGBE) += ixgbe/ 10obj-$(CONFIG_IXGBE) += ixgbe/
11obj-$(CONFIG_IXGBEVF) += ixgbevf/ 11obj-$(CONFIG_IXGBEVF) += ixgbevf/
12obj-$(CONFIG_I40E) += i40e/
12obj-$(CONFIG_IXGB) += ixgb/ 13obj-$(CONFIG_IXGB) += ixgb/
diff --git a/drivers/net/ethernet/intel/i40e/Makefile b/drivers/net/ethernet/intel/i40e/Makefile
new file mode 100644
index 000000000000..479b2c4e552d
--- /dev/null
+++ b/drivers/net/ethernet/intel/i40e/Makefile
@@ -0,0 +1,44 @@
1################################################################################
2#
3# Intel Ethernet Controller XL710 Family Linux Driver
4# Copyright(c) 2013 Intel Corporation.
5#
6# This program is free software; you can redistribute it and/or modify it
7# under the terms and conditions of the GNU General Public License,
8# version 2, as published by the Free Software Foundation.
9#
10# This program is distributed in the hope it will be useful, but WITHOUT
11# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
13# more details.
14#
15# You should have received a copy of the GNU General Public License along with
16# this program; if not, write to the Free Software Foundation, Inc.,
17# 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
18#
19# The full GNU General Public License is included in this distribution in
20# the file called "COPYING".
21#
22# Contact Information:
23# e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
24# Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
25#
26################################################################################
27
28#
29# Makefile for the Intel(R) Ethernet Connection XL710 (i40e.ko) driver
30#
31
32obj-$(CONFIG_I40E) += i40e.o
33
34i40e-objs := i40e_main.o \
35 i40e_ethtool.o \
36 i40e_adminq.o \
37 i40e_common.o \
38 i40e_hmc.o \
39 i40e_lan_hmc.o \
40 i40e_nvm.o \
41 i40e_debugfs.o \
42 i40e_diag.o \
43 i40e_txrx.o \
44 i40e_virtchnl_pf.o