diff options
author | Jesse Brandeburg <jesse.brandeburg@intel.com> | 2013-09-11 04:40:23 -0400 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2013-09-11 05:28:40 -0400 |
commit | 1bff652941c4d94f97610c9a30473aad6f5b2fff (patch) | |
tree | a5e0675390a1da5c05fc7edd82a594f872cf2202 | |
parent | 02e9c290814cc143ceccecb14eac3e7a05da745e (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-INDEX | 2 | ||||
-rw-r--r-- | Documentation/networking/i40e.txt | 115 | ||||
-rw-r--r-- | MAINTAINERS | 3 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/Kconfig | 18 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/Makefile | 1 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/i40e/Makefile | 44 |
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 |
87 | gianfar.txt | 87 | gianfar.txt |
88 | - Gianfar Ethernet Driver. | 88 | - Gianfar Ethernet Driver. |
89 | i40e.txt | ||
90 | - README for the Intel Ethernet Controller XL710 Driver (i40e). | ||
89 | ieee802154.txt | 91 | ieee802154.txt |
90 | - Linux IEEE 802.15.4 implementation, API and drivers | 92 | - Linux IEEE 802.15.4 implementation, API and drivers |
91 | igb.txt | 93 | igb.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 @@ | |||
1 | Linux Base Driver for the Intel(R) Ethernet Controller XL710 Family | ||
2 | =================================================================== | ||
3 | |||
4 | Intel i40e Linux driver. | ||
5 | Copyright(c) 2013 Intel Corporation. | ||
6 | |||
7 | Contents | ||
8 | ======== | ||
9 | |||
10 | - Identifying Your Adapter | ||
11 | - Additional Configurations | ||
12 | - Performance Tuning | ||
13 | - Known Issues | ||
14 | - Support | ||
15 | |||
16 | |||
17 | Identifying Your Adapter | ||
18 | ======================== | ||
19 | |||
20 | The driver in this release is compatible with the Intel Ethernet | ||
21 | Controller XL710 Family. | ||
22 | |||
23 | For more information on how to identify your adapter, go to the Adapter & | ||
24 | Driver ID Guide at: | ||
25 | |||
26 | http://support.intel.com/support/network/sb/CS-012904.htm | ||
27 | |||
28 | |||
29 | Enabling the driver | ||
30 | =================== | ||
31 | |||
32 | The driver is enabled via the standard kernel configuration system, | ||
33 | using the make command: | ||
34 | |||
35 | Make oldconfig/silentoldconfig/menuconfig/etc. | ||
36 | |||
37 | The 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 | |||
45 | Additional 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 | |||
89 | Performance Tuning | ||
90 | ================== | ||
91 | |||
92 | An excellent article on performance tuning can be found at: | ||
93 | |||
94 | http://www.redhat.com/promo/summit/2008/downloads/pdf/Thursday/Mark_Wagner.pdf | ||
95 | |||
96 | |||
97 | Known Issues | ||
98 | ============ | ||
99 | |||
100 | |||
101 | Support | ||
102 | ======= | ||
103 | |||
104 | For general information, go to the Intel support website at: | ||
105 | |||
106 | http://support.intel.com | ||
107 | |||
108 | or the Intel Wired Networking project hosted by Sourceforge at: | ||
109 | |||
110 | http://e1000.sourceforge.net | ||
111 | |||
112 | If an issue is identified with the released source code on the supported | ||
113 | kernel with a supported adapter, email the specific information related | ||
114 | to the issue to e1000-devel@lists.sourceforge.net and copy | ||
115 | netdev@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> | |||
4346 | S: Maintained | 4346 | S: Maintained |
4347 | F: drivers/char/hw_random/ixp4xx-rng.c | 4347 | F: drivers/char/hw_random/ixp4xx-rng.c |
4348 | 4348 | ||
4349 | INTEL ETHERNET DRIVERS (e100/e1000/e1000e/igb/igbvf/ixgb/ixgbe/ixgbevf) | 4349 | INTEL ETHERNET DRIVERS (e100/e1000/e1000e/igb/igbvf/ixgb/ixgbe/ixgbevf/i40e) |
4350 | M: Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 4350 | M: Jeff Kirsher <jeffrey.t.kirsher@intel.com> |
4351 | M: Jesse Brandeburg <jesse.brandeburg@intel.com> | 4351 | M: Jesse Brandeburg <jesse.brandeburg@intel.com> |
4352 | M: Bruce Allan <bruce.w.allan@intel.com> | 4352 | M: Bruce Allan <bruce.w.allan@intel.com> |
@@ -4371,6 +4371,7 @@ F: Documentation/networking/igbvf.txt | |||
4371 | F: Documentation/networking/ixgb.txt | 4371 | F: Documentation/networking/ixgb.txt |
4372 | F: Documentation/networking/ixgbe.txt | 4372 | F: Documentation/networking/ixgbe.txt |
4373 | F: Documentation/networking/ixgbevf.txt | 4373 | F: Documentation/networking/ixgbevf.txt |
4374 | F: Documentation/networking/i40e.txt | ||
4374 | F: drivers/net/ethernet/intel/ | 4375 | F: drivers/net/ethernet/intel/ |
4375 | 4376 | ||
4376 | INTEL PRO/WIRELESS 2100, 2200BG, 2915ABG NETWORK CONNECTION SUPPORT | 4377 | INTEL 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 | ||
244 | config 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 | |||
244 | endif # NET_VENDOR_INTEL | 262 | endif # 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/ | |||
9 | obj-$(CONFIG_IGBVF) += igbvf/ | 9 | obj-$(CONFIG_IGBVF) += igbvf/ |
10 | obj-$(CONFIG_IXGBE) += ixgbe/ | 10 | obj-$(CONFIG_IXGBE) += ixgbe/ |
11 | obj-$(CONFIG_IXGBEVF) += ixgbevf/ | 11 | obj-$(CONFIG_IXGBEVF) += ixgbevf/ |
12 | obj-$(CONFIG_I40E) += i40e/ | ||
12 | obj-$(CONFIG_IXGB) += ixgb/ | 13 | obj-$(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 | |||
32 | obj-$(CONFIG_I40E) += i40e.o | ||
33 | |||
34 | i40e-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 | ||