Name |
Date |
Size |
#Lines |
LOC |
||
---|---|---|---|---|---|---|
.. | - | - | ||||
LICENSE.new | H A D | 02-Oct-2013 | 1.6 KiB | 32 | 24 | |
README | H A D | 02-Oct-2013 | 28.2 KiB | 770 | 638 | |
README.illumos | H A D | 02-Oct-2013 | 5.1 KiB | 125 | 101 | |
README.new | H A D | 02-Oct-2013 | 12.4 KiB | 407 | 267 | |
THIRDPARTYLICENSE | H A D | 02-Oct-2013 | 819 | 22 | 21 | |
THIRDPARTYLICENSE.descrip | H A D | 02-Oct-2013 | 20 | 2 | 1 | |
e1000_80003es2lan.c | H A D | 23-Feb-2015 | 42.5 KiB | 1,514 | 872 | |
e1000_80003es2lan.h | H A D | 23-Feb-2015 | 4.1 KiB | 102 | 35 | |
e1000_82540.c | H A D | 02-Oct-2013 | 20.2 KiB | 719 | 411 | |
e1000_82541.c | H A D | 02-Oct-2013 | 38.4 KiB | 1,326 | 790 | |
e1000_82541.h | H A D | 02-Oct-2013 | 4.8 KiB | 117 | 63 | |
e1000_82542.c | H A D | 23-Feb-2015 | 16 KiB | 590 | 317 | |
e1000_82543.c | H A D | 02-Oct-2013 | 45.7 KiB | 1,602 | 811 | |
e1000_82543.h | H A D | 23-Feb-2015 | 2.6 KiB | 58 | 18 | |
e1000_82571.c | H A D | 23-Feb-2015 | 56.1 KiB | 2,032 | 1,221 | |
e1000_82571.h | H A D | 23-Feb-2015 | 2.7 KiB | 67 | 22 | |
e1000_82575.c | H A D | 23-Feb-2015 | 98 KiB | 3,643 | 2,131 | |
e1000_82575.h | H A D | 23-Feb-2015 | 20.7 KiB | 531 | 391 | |
e1000_api.c | H A D | 23-Feb-2015 | 37 KiB | 1,365 | 684 | |
e1000_api.h | H A D | 23-Feb-2015 | 7.7 KiB | 168 | 96 | |
e1000_defines.h | H A D | 23-Feb-2015 | 64 KiB | 1,477 | 1,083 | |
e1000_hw.h | H A D | 23-Feb-2015 | 26.1 KiB | 1,040 | 884 | |
e1000_i210.c | H A D | 23-Feb-2015 | 24.8 KiB | 905 | 528 | |
e1000_i210.h | H A D | 23-Feb-2015 | 4.3 KiB | 110 | 63 | |
e1000_ich8lan.c | H A D | 23-Feb-2015 | 151.2 KiB | 5,337 | 3,207 | |
e1000_ich8lan.h | H A D | 23-Feb-2015 | 13.1 KiB | 320 | 212 | |
e1000_mac.c | H A D | 23-Feb-2015 | 67.2 KiB | 2,254 | 1,164 | |
e1000_mac.h | H A D | 23-Feb-2015 | 4.9 KiB | 98 | 59 | |
e1000_manage.c | H A D | 23-Feb-2015 | 16.3 KiB | 578 | 322 | |
e1000_manage.h | H A D | 23-Feb-2015 | 4.1 KiB | 97 | 51 | |
e1000_mbx.c | H A D | 23-Feb-2015 | 19.9 KiB | 772 | 364 | |
e1000_mbx.h | H A D | 23-Feb-2015 | 5.2 KiB | 107 | 52 | |
e1000_nvm.c | H A D | 23-Feb-2015 | 31.4 KiB | 1,236 | 721 | |
e1000_nvm.h | H A D | 23-Feb-2015 | 3.6 KiB | 83 | 42 | |
e1000_phy.c | H A D | 23-Feb-2015 | 115.9 KiB | 4,255 | 2,405 | |
e1000_phy.h | H A D | 23-Feb-2015 | 14 KiB | 326 | 236 | |
e1000_regs.h | H A D | 23-Feb-2015 | 36.9 KiB | 687 | 562 | |
e1000_vf.c | H A D | 23-Feb-2015 | 16.6 KiB | 586 | 283 | |
e1000_vf.h | H A D | 23-Feb-2015 | 8.8 KiB | 297 | 214 |
README
1# 2# This file is provided under a CDDLv1 license. When using or 3# redistributing this file, you may do so under this license. 4# In redistributing this file this license must be included 5# and no other modification of this header file is permitted. 6# 7# CDDL LICENSE SUMMARY 8# 9# Copyright(c) 1999 - 2009 Intel Corporation. All rights reserved. 10# 11# The contents of this file are subject to the terms of Version 12# 1.0 of the Common Development and Distribution License (the "License"). 13# 14# You should have received a copy of the License with this software. 15# You can obtain a copy of the License at 16# http://www.opensolaris.org/os/licensing. 17# See the License for the specific language governing permissions 18# and limitations under the License. 19# 20# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. 21# 22# 23 24 25 264.0.4 code drop from Intel on 1/30/2003 27======================================= 28 This version is used as the base for putback into both s10 and 29 s9u4. 30 31 Following changes were done to this code base before putting 32 back into solaris trees (S10 & S9U4): 33 34 1) Changes to e1000_hw.c to remove build warnings 35 36 + diff /home/naroori/grizzly/sources/e1000g/1_4.0.4/e1000_hw.c . 37 2616c2616 38 < phy_info->downshift = hw->speed_downgraded; 39 --- 40 > phy_info->downshift = (int)hw->speed_downgraded; 41 2684c2684 42 < phy_info->downshift = hw->speed_downgraded; 43 --- 44 > phy_info->downshift = (int)hw->speed_downgraded; 45 46 2) Changes to e1000g_dlpi.c for ipv6 plumbing problem and 47 problem with default MTU size of 2024. 48 49 + diff /home/naroori/grizzly/sources/e1000g/1_4.0.4/e1000g_dlpi.c . 50 313a314 51 > /* the following causes problem with ipv6 plumbing... 52 314a316 53 > */ 54 628c630,632 55 < if (Adapter->Shared.max_frame_size == FRAME_SIZE_UPTO_16K) 56 --- 57 > if (Adapter->Shared.max_frame_size == ETHERMTU) { 58 > } 59 > else if (Adapter->Shared.max_frame_size == FRAME_SIZE_UPTO_16K) { 60 630c634,635 61 < else 62 --- 63 > } 64 > else { 65 631a637 66 > } 67 68 3) Changes to e1000g_main.c for version string modification, 69 removing console messages on bootup and problems with default 70 MTU size of 2024. 71 72 + diff /home/naroori/grizzly/sources/e1000g/1_4.0.4/e1000g_main.c . 73 59c59 74 < static char e1000g_version[]="Driver Ver. 4.0.4-beta"; 75 --- 76 > static char e1000g_version[]="Driver Ver. 4.0.4"; 77 937c937 78 < e1000g_log(Adapter,CE_CONT,"\n%s, %s\n",AdapterName,e1000g_version); 79 --- 80 > cmn_err(CE_CONT,"!%s, %s\n",AdapterName,e1000g_version); 81 3000c3000 82 < Adapter->Shared.max_frame_size = FRAME_SIZE_UPTO_2K; 83 --- 84 > Adapter->Shared.max_frame_size = ETHERMTU; 85 3013c3013 86 < Adapter->Shared.max_frame_size = FRAME_SIZE_UPTO_2K; 87 --- 88 > Adapter->Shared.max_frame_size = ETHERMTU; 89 90 91 92Bug fixes to 4.0.4: 93=================== 94 1) bug#4829398 code cleanup for ethernet bootup messages 95 96 974.0.12 code drop from Intel on 3/18/2003 98======================================== 99 100 This drop had extensive changes from 4.0.4. Many changes after 101 4.0.4 were realted to new hardware (a.k.a. BayCity chipset), 102 not relevant to Grizzly.After looking at the changelog from Intel, 103 we decided not to do a putback but rather take only high priority 104 fixes from this drop and generate a new version 4.0.4.1. 105 106 Here is the changelog supplied by Intel for this drop: 107 108 ________________________________________________________________________ 109 Component Name: Unix-Solaris_8254x_BayCity_Intel 110 Description: Bay City software component for gigabit products 111 ________________________________________________________________________ 112 113 114 ---Version: 4.0.13 Date: 3/14/2003 5:00:00 PM--- 115 Added transmit mutex locking to the 82547 workaround code. 116 117 ---Version: 4.0.12 Date: 3/10/2003 8:01:00 PM--- 118 Added new shared code with LED link speed fix 119 120 ---Version: 4.0.11 Date: 3/7/2003 5:57:00 PM--- 121 Updated the Tanacross FIFO hang workaround to reset FIFO pointers instead of sending autonomous packets. 122 123 ---Version: 4.0.10 Date: 3/4/2003 2:39:00 PM--- 124 Removed an extra sdu adjustment that was left in by accident 125 126 ---Version: 4.0.9 Date: 3/4/2003 11:13:00 AM--- 127 Removed the first call to adapter_stop. This was called before the HW struct was properly initialized, and could cause hangs. 128 129 Changed reported ethernet sdu from 2024 to 1500, as driver could be configured for invalid frame MTU sizes in Solaris 9. 130 131 Added Tanacross workaround for FIFO hang. 132 133 ---Version: 4.0.8 Date: 2/25/2003 2:27:00 PM--- 134 Shared code update including Phy init script. 135 Smartspeed workaround added. e1000g_smartspeed called from LocalTimer function every two seconds when link is down. 136 137 ---Version: 4.0.7 Date: 2/18/2003 11:41:00 AM--- 138 Updated to include bug fixes from the shared code. 139 140 ---Version: 4.0.5 Date: 1/31/2003 10:13:00 AM--- 141 Support for new hardware changes 142 Removed the extra ack sent at the end of the attach_req routine. This extra ack previously made IPv6 plumbing on Solaris 9 fail. 143 144 1454.0.4.1 146======= 147 This version is not an Intel drop but 4.0.4 merged with two 148 high priority fixes from 4.0.12. We will give back the 4.0.4.1 149 driver back to Intel, per their request, so they have the exact 150 code that we are releasing through Solaris. 151 152 The following are the two fixes selected for inclusion from 153 4.0.12 codebase: 154 155 1) Removing the first call to adapter_stop as discussed in 156 4.0.12 changelog. 157 158 2) Corrections to MTU size calculations first introduced 159 in our 4.0.4 putback to bring them into sync with 4.0.12 160 MTU size calculations. 161 162 We also added README file (current file you are reading) during 163 this putback. 164 1654.0.4.2 166======= 167 This version has the following fixes: 168 169 1) bug#4857098: e1000g driver assumes another intel card as its own. 170 The fix involved eliminating 1009, 1012, 1015, 1016, 1017 171 device-ids from e1000g nodelist so that they do not conflict 172 with iprb's subsystem-ids. 173 174 This fix has to be reverted later once we have a proper fix for 175 bug#4859426. 176 177 2) bug#4853683: e1000g lacks a large number of expected kstats 178 The fix involved three steps: a) Renaming some of the existing 179 kstats to comply with WDD documentation b) Computing some of 180 those which are not being tracked c) Supplying zero for the rest 181 the error stats which are not being tracked. 182 183 This fix has to be revisited to improvise the statistics in 184 future. 185 186 3) bug#4862529: System panics during configuring devices on a Dell 4-way 187 servers. The fix involved removing all the devic-ids from nodelist 188 except for 1010. This means that we support now only the grizzly 189 on-board gigabit chipset and "Intel Pro/1000 MT Dual Server Adapter". 190 191 This fix has to be reverted later once we have a proper fix for 192 bug#4859426. 193 1944.0.4.3 195======= 196 This version has the following fixes: 197 198 1) bug#4874857: ipv6 ping fails on bootup for e1000g. 199 The fix involved implementing multicast tables both at per stream 200 level and per device level. 201 202 2) bug#4875743: null pointer dereference in ddi_dma_addr_bind_handle. 203 The fix involved adding LastTxDescriptorBuf to struct e1000g and 204 handling consequent proper calculations for LastTxDescriptor. 205 206 3) bug#4882541: setting up ethernet address causes machine to panic. 207 The fix involved removing a spurious log message which was causing 208 the panic. 209 210 4) bug#4883302: Reinstate the removed device-ids - phase 2. 211 The fix involved some chip initializations to handle 1000 id. 212 213 5) bug#4919285: device id 8086,100e needs to be added 214 The fix needed for the Intel Precision 350 workstation 215 2164.2.11 217====== 218 219We need to sync up with the latest Intel code base for e1000g driver. 220 221Intel is currently at version 4.2.11 while we are on 4.0.4 branch. 222The exact version under 4.0.4 branch is 4.0.4.3. Since we are on 223the branch while Intel is working on the main trunk, we have had 224lot of friction in getting timely fixes from Intel. The current 225syncing up with their main trunk lets us a smooth migration path. 226 227The new code base also would provide us with support for additional 228cards including Quad port cards (See bugs: 4921433, 4914460). 229In our old 4.0.4 branch, we had to drop support for a lot of cards 230for various problems; with the current syncing up, we would be able 231to support so many various cards except for the cards clashing with 232iprb driver. 233 234The new code base also has support for additional new chipsets. The code 235base also benefits from any fixes to the shared code base with other 236operating system drivers. 237 238The new codebase also has lot of cleanups in terms of various #ifdefs 239and should be much simpler to maintain. 240 241So the list of actual ids take out are: 2421009 2431012 2441013 2451015 2461016 2471017 248 2494.2.15 250====== 251This intel code drop addresses the following bug: 252 253 4909863: Bad trap panic in e1000g_rtn_buf 254 2554.2.16 256====== 257 This version has the following fix: 258 4932422 interconnect remains faulted after adapter disconnected and then reconnected 259 260Notes on packaging: 261=================== 262 Intel names the package as INTCGigaE while we chose to rename 263 it as SUNWintgige as per Sun packaging conventions. 264 2654.2.17 266====== 267 This version has the following fixes: 268 4971416 e1000g seems to hang system when no network connected 269 4997067 e1000gattach panicks when the going gets tough 270 4990064 e1000g leaks memory when it runs out of transmit descriptors 271 2724.2.17.1 273====== 274 This version has the following fix: 275 5014625 e1000g driver panicked when snoop(1M) exited 276 2774.2.17.2 278====== 279 This version has the following fix: 280 4940870 e1000g: Dependence on instance initialization order disables .conf properties 281 5033616 e1000g panicked after rem_drv while some service still binds to the driver 282 5037062 strings have crept back in e1000g/adpu320 related mutex_init()s 283 5050268 Some e1000g flag operations are not correct. 284 2854.2.17.3 286====== 287 This version has the following fix: 288 5067162 e1000g cannot transmit heavy UDP 289 2904.2.17.4 291====== 292 This version has the following fix: 293 5010052 The stress load/unload test of Intel PWLA8494MT Quad Port NIC causes system hung 294 5050265 E1000g does not support IPV6 fast path. This will impact IPV6 performance. 295 5050369 E1000g locks the system if plumb/unplumb under heavy workload and snoop. 296 5050415 E1000g will accepts ethernet packets which are not addressed to it. 297 5055132 E1000g crashes when injected with Jumbo Frame packets. 298 2994.2.17.5 300====== 301 This version has the following fix: 302 6175307 system crash with memory size of 11GB 303 6176031 the sequence of releasing resource error in e1000gattach 304 6180180 PktAlloc - Could not bind rbuf packet as single frag. Count - 2 305 6185022 Port hang when unplumb interface under heavy traffic 306 3074.2.17.6 308====== 309 This version has the following fix: 310 6196426 e1000g should support NICs that use the internal serdes for external connectivity 311 3124.2.17.7 313====== 314 This version has the following fix: 315 4921433 e1000g: Should not probe by using VID/DID table to identify adapters 316 3174.2.17.8 318====== 319 This version has the following fix: 320 6213101 64bit DMA max address space should be supported by e1000g driver 321 6215261 e1000g driver 211% slower in AMD64 than 32 bit e1000g driver (S10_73, Single CPU V20z) 322 3234.2.17.9 324====== 325 This version has the following fix: 326 6256212 fix for 6213101 breaks e1000g for 32-bit kernels on machines with >4GB of physical memory 327 3284.2.17.10 329====== 330 This version has the following fix: 331 6203602 e1000g needs to support the Intel PCI-E card 332 6217046 we need to merge the Intel code (version 4.2.28) into e1000g 333 3345.0.0 335====== 336 This version has the following fix: 337 PSARC/2005/470 E1000g Nemo Migration 338 6221079 e1000g driver interface conversion from DLPI to GLD3.0(nemo) 339 6224901 e1000g fails to configure VLANs on a Sun v65x 340 6286414 snmp: ifOperStatus for e1000g driver doesn't change when cable is unplugged. 341 6238486 e1000g: poor performance in web server benchmark, high CPU utilization noted 342 6293265 e1000g_intr doesn't use mutex at all 343 6304657 e1000g_PktAlloc_buffers() causes a panic when ddi_dma_addr_bind_handle() fails. 344 4913292 e1000g: does not support PSARC 2003/264 Extended IP cksum_offload 345 5071610 e1000g can't send any packets after a jumbo-packet forwarding test. 346 5082975 in Jumbo enable mode, netperf indicates a lower throughput, compared to Jumbo of 347 5085394 e1000g driver hangs system during 64byte stress testing 348 6174349 netlb support needed for Solaris e1000g driver 349 6207682 e1000g needs link up/down support 350 6211068 e1000g has some input error packets during stress test 351 6212810 e1000g caught sending unsolicited M_PROTO/M_PCPROTO messages 352 6219298 warnings about "inconsistent getinfo(9E) implementation" 353 6226217 e1000g should support trunking 354 6239279 Network stess test fail on 82545GM chip on IBM Blade HS40 355 6242612 e1000g needs to support SPARC 356 6247936 In e1000g transmission, ddi_dma_addr_bind_handle() returns more cookies than speficied 357 6273730 e1000g causes memory leaks within Freelist_alloc and PktAlloc_buffers 358 5073739 find some memory leaks after load_unload test 359 6287250 e1000g may need to use new Intel-recommended semaphore mechanism 360 3615.0.1 362====== 363 This version has the following fix: 364 6313609 2-port Intel NIC (part# 370-6687) performs poorly compared to 1-port Intel NIC (part# 370-6685) 365 6315002 gcc and e1000g don't get along 366 3675.0.2 368====== 369 This version has the following fix: 370 6319100 Tier0 Ontario machine does not boot net with sparc e1000g driver substitution for sparc ipge driver 371 3725.0.3 373====== 374 This version has the following fix: 375 6327693 e1000g should use MSIs when possible 376 6333461 panic[cpu0]/thread=d63f4de0: assertion failed: !dma->dp_inuse, file: ../../i86pc/io/rootnex.c 377 3785.0.4 379====== 380 This version has the following fix: 381 6351378 e1000g panic seen after bfu'ing latest onnv nightly 382 3835.0.5 384====== 385 This version has the following fix: 386 6303973 System hard hangs when sharing interrupts (in PIC) mode 387 6323732 e1000g reports incorrect packet statistics 388 6333880 Customer is requesting driver for a newIntel 82573 NIC 389 6336163 netlb support needed for Solaris (sparc) e1000g driver 390 6339377 e1000g.conf needs to be simplified 391 6350407 e1000 card in Gateway E2300 does not actually send packets in S10U1 392 6364052 e1000g driver should provide interface to ndd utility 393 6367490 e1000g has problem in deliver UDP fragment with addin card 394 3955.0.6 396====== 397 This version has the following fix: 398 4967732 e1000g: high mutex contention in e1000g_start 399 6316907 e1000g: bcopy() brings better performance in transmitting and receiving small packet 400 6371753 aggregation of e1000g NICs fails to provide connectivity unless snoop is running 401 6397163 Jumbo frame statistics always counts zero with e1000g driver 402 6401903 Memory leak in e1000g driver 403 4045.0.7 405====== 406 This version has the following fix: 407 6337450 e1000g interfaces take much much longer to plumb than bge interfaces on the V40. 408 6392401 Intel Ophir (82571) e1000g driver fails to attach on sun4u Boston with snv_33 409 6401659 vlan header getting corrupted due to memmove in e1000g sendPacket 410 6407374 e1000g still uses some old ddi interrupt routines that need to be changed 411 6411339 BAD TRAP: e1000g_fill_tx_ring NULL pointer dereference 412 4135.0.8 414====== 415 This version has the following fix: 416 6399084 ipmp doesn't work with e1000g 417 6412153 ndd force speed is not consistent with e1000g.conf and e1000g(7D) 418 6415019 system panic when plumb e1000g interface up on SPARC 419 6415416 netlbtest does not run on Intel(R) PRO/1000 Network controller 420 4215.0.9 422====== 423 This version has the following fix: 424 6337987 Serial Over Lan issue when e1000g driver is used 425 4265.1.0 427====== 428 This version has the following fix: 429 PSARC/2006/248 Nemo MAC-Type Plugin Architecture 430 PSARC/2006/249 Nemo Changes for Binary Compatibility 431 6384371 GLDv3 only supports Ethernet 432 6242059 nemo drivers must not know the size of the mac_t structure 433 6226635 MAC stats interface could cause problems with binary compatibility 434 4355.1.1 436====== 437 This version has the following fix: 438 6384266 e1000g driver should provide external loopback support 439 6428883 NEM e1000g drive netlbtest intermittent failed when running Sunvts FUNC test with cputest,vmemtest.. 440 6430731 e1000g.conf file removed on upgrade 441 6431317 add support for intel Pro/1000 PT Adapter 442 6433236 Update the e1000g driver with the latest shared code from Intel 443 6439589 e1000g: whines about checksum capability, unclear what user should do 444 6441386 The default value of some e1000g parameters may impact rx performance 445 6445239 assertion failed: cookie_count == 1, file: ../../common/io/e1000g/e1000g_alloc.c, line: 422 446 6447914 e1000g should support setting of multiple unicast addresses 447 6449595 Ophir LAA driver workaround is not working for e1000g Driver 448 4495.1.2 450====== 451 This version has the following fix: 452 6450683 Boston panics with e1000g under stress 453 6463536 BAD TRAP panic for removing aggregation 454 6463756 e1000g - link_speed / kstat output 455 6464426 e1000g driver needs a workaround to solve an ESB2 hardware issue 456 4575.1.3 458====== 459 This version has the following fix: 460 6436387 e1000g panic while using cfgadm to unconfigure the pcie slot 461 6460403 disconnect of pcieX that has ophir with network if plumbed crashes the system 462 6466962 S10u2 e1000g 5.0.9 adv_autoneg_cap is not reflected on the kstat -p 463 6470233 e1000g_fill_tx_ring doesn't always update TDT properly 464 4655.1.4 466====== 467 This version has the following fix: 468 6462893 HCTS network test failed on thumper machine due to e1000g issue 469 6467860 e1000g configured/used as cluster interconnect goes up and down when connected back to back 470 4715.1.5 472====== 473 This version has the following fix: 474 6479912 Interrupt throttling tunable needed 475 6492025 northstar MMF e1000g external loopback fail. 476 4775.1.6 478====== 479 This version has the following fix: 480 6482530 Need Ethernet driver for Intel G965 chipset 481 6491179 link aggregation with e1000g does not work unless snoop is running 482 6494743 e1000g 5.1.4 driver does not work with s11_52 483 6502458 e1000g is open source, move the source from usr/closed to use/src 484 6505360 e1000g Makefile should not include "-N drv/dld" in the LDFLAGS 485 4865.1.7 487====== 488 This version has the following fix: 489 6454375 e1000g link flaps at initialization, triggering failovers 490 6472255 e1000g can't restore to 1000M with ndd setting 491 6496763 e1000g should free packets when link is down 492 6501294 "eeprom checksum failed" with pci8086,108c device 493 6504688 e1000g.conf settings are inconsistent with ndd output 494 6505445 e1000g : when all advertised capabilities are set to 0, ndd puts all of them 1 495 6519690 e1000g should not print the link up/down messages to console 496 6531474 Fatal PCIe Fabric Error panics on T2000 when using jumbo frames on e1000g interfaces 497 6535712 e1000g: the processing of the checksum flags should be protected by tx_lock 498 4995.1.8 500====== 501 This version has the following fix: 502 6548711 e1000g: recursive mutex_enter in e1000g_link_check() on ESB2 platforms 503 6550086 e1000g: detaching driver immediately after attach induces panic 504 5055.1.9 506====== 507 This version has the following fix: 508 6507422 Dynamic Reconfiguration detach fails for e1000g 509 5105.1.10 511====== 512 This version has the following fix: 513 6490623 Some networking problems with Solaris_b44_64 domU(using solaris_b44_64 dom0) 514 6510396 system panicked in e1000g_82547_timeout 515 6554976 e1000g driver does not support 10D5 device - Sun Pentwater PEM quad port 516 5175.1.11 518====== 519 This version has the following fix: 520 6552853 system panics in e1000g_alloc_dvma_buffer during hotplug testing 521 5225.2.0 523====== 524 This version has the following fix: 525 6535620 e1000g needs to support ICH9 devices 526 6572330 e1000g: integrate the latest Intel refactored shared code 527 6573381 e1000g receiving VLAN tagged frames does not do hardware checksumming 528 5295.2.1 530====== 531 This version has the following fix: 532 6594676 e1000g should free private dips while no rx buffers are held by upper layer 533 5345.2.2 535====== 536 This version has the following fix: 537 6480448 Sunvts netlbtest external loopback failed on 82546 chipset 538 6521984 Sunvts netlbtest failed on Northstar QGE cards 539 6531842 e1000g link goes down and up frequently on T2000 systems 540 6540535 Sunvts netlbtest internal loopback failed on ophir devices 541 6579605 Sunvts netlbtest internal loopback failed on Northstar fiber card 542 6595668 e1000g postinstall script missed 5 device ids which had been supported by shared code 543 5445.2.3 545====== 546 This version has the following fix: 547 6335851 e1000g needs to support FMA 548 6605171 WARNING: pciex8086,105e - e1000g[0] : Initialize hw failed 549 5505.2.4 551====== 552 This version has the following fix: 553 6619929 Sunvts test on Northstar QGC EM failed for "Not received any packets in loopback mode". 554 6541233 e1000g driver performs 33X Slower for Tibco RV when running Multiple RVDs 555 6572343 e1000g: needs to improve the ip forwarding performance 556 6637039 e1000g_recycle() missed a mutex_exit() 557 5585.2.5 559====== 560 This version has the following fix: 561 6648775 e1000g: pci8086,10be - e1000g[0]: Identify hardware failed 562 5635.2.6 564====== 565 This version has the following fix: 566 6633239 e1000g: link flaps observed on Galaxy(X4100) systems running 64-bit kernel 567 5685.2.7 569====== 570 This version has the following fix: 571 6673650 e1000g needs to support Brussels 572 5735.2.8 574====== 575 This version has the following fix: 576 6674179 SunFire X4150 panics at e1000g_receive 577 6679136 E1000g with patch 128028-03 will not allow pause frames to be set 578 6687947 e1000g needs to integrate the latest Intel shared code to support ICH9m 579 6699622 e1000g: add support for network device in new development machine 580 5815.2.9 582====== 583 6665738 e1000g issues with some Ethernet controllers 584 6713685 e1000g:one device id macro should be renamed 585 5865.2.10 587====== 588 This version has the following fixes: 589 6335837 e1000g needs to support LSO 590 6637659 e1000g has problem on transmit hardware checksum support 591 5925.2.11 593====== 594 This version has the following fixes: 595 6698039 e1000g tx doesn't work on the specific chipset since snv_88 596 6597545 e1000g ESB2 serdes device pciex8086,1098 hangs in network testing 597 6693205 running sunvts7.0 on Generic s10u5build10 causes unix:cmi_mca_panic on thumper 598 6694279 e1000g driver: internal loopback mode support needed for nic ESB-2 599 6721574 max number of segments in e1000g_tx_dma_attr need to be updated when LSO is supported 600 6015.2.12 602====== 603 This version has the following fix: 604 6634746 e1000g is missing lint target in Makefile 605 6705005 e1000g LINK/ACT LED behaviour is not consistent with the EEPROM default 606 6738552 e1000g rx_lock is not initialized and destroyed in the code 607 6085.2.13 609====== 610 This version has the following fix: 611 6666998 Add support for ICH10 in e1000g driver 612 6709230 Requesting driver support in e1000g for new Intel(R) single port MAC/PHY NIC 613 6727113 e1000g performance regression is observed with large connection and packet size if LSO is enabled 614 6756917 LSO is not enabled on some e1000g chips 615 6165.2.14 617====== 618 This version has the following fix: 619 6713032 e1000g port hang, no xmit, no recv 620 6767201 e1000g default_mtu does not coincide with max_frame_size on some chipsets when set via e1000g.conf 621 6225.3.1 623====== 624 This version has the following fix: 625 6779610 e1000g fails to attach post-6713032 due to memory allocation failures on some chipsets 626 6275.3.2 628====== 629 This version has the following fix: 630 6779494 e1000g need to sync with sol_anvik_patch shared code from Intel 631 6758857 fmadm reporting undiagnosable problems in snv_99 632 6698312 starcat panicked with "bad mutex" while running SUNWsgdr 633 6759330 PIT: panic during first reboot after successful pkgadd during osinstall 634 6776453 Monza(CP3260): loopback test fails on e1000g serdes ports 635 6365.3.3 637====== 638 This version has the following fix: 639 6791863 sync up flow control code with Intel latest shared code 640 6415.3.4 642====== 643 This version has the following fix: 644 6699662 global e1000g rwlock prevents scaling on multiple interfaces 645 6781905 super slow throughput on e1000g 82541 and 82547 chips 646 6786783 e1000g needs to have a new tx stall detection mechanism to cover 82546 errata No.18 647 6485.3.5 649====== 650 This version has the following fix: 651 6732858 panic in e1000g_free_dma_buffer 652 6535.3.6 654====== 655 This version has the following fixes: 656 6589577 Huron does not discard and does transmit frames greater than maxFrameSize 657 6809729 Panic in function 'e1000g_rxfree_func' on T2000 658 6809877 e1000g E1000G_IPALIGNROOM code can be rewritten 659 6605.3.7 661====== 662 This version has the following fix: 663 6812227 e1000g(intel 82571 adapter) must support MTU size of 9216 664 6655.3.8 666====== 667 This version has the following fixes: 668 6775380 the e1000g link hung at "up" state after down and unplumb the interface 669 6816786 e1000g panics on Lenovo X301 with snv_109 670 6715.3.9 672==== 673 This version has the following fix: 674 6680929 dladm should print POSSIBLE values for properties like mtu by contacting the driver. 675 6765.3.10 677==== 678 This version has the following fix: 679 6841089 Customer wants to be able to set MAX_NUM_MULTICAST_ADDRESSES above 256 on e1000g driver 680 6815.3.11 682==== 683 This version has the following fix: 684 6848586 rw_enter()/rw_exit() could be called on uninitialized rw lock 685 6865.3.12 687==== 688 This version has the following fixes: 689 6846262 T2000 fma shows fault.io.pciex.device-interr in snv_115 690 6870404 e1000g_reset can call e1000g_start after releasing dma resources 691 6925.3.13 693==== 694 This version has the following fixes: 695 6681751 e1000g minor_perm inconsistent between package postinstall script and default minor_perm file 696 6855964 e1000g driver corrupting LSO packets causes chipset hang and significant performance regression 697 6985.3.14 699==== 700 This version has the following fixes: 701 6820747 kstat output incorrect for MMF version of e1000g making it impossible to troubleshoot 702 6847888 HW initialization updates for 82541 and 82547 chips 703 7045.3.15 705====== 706 This version has the following fixes: 707 6797885 need to add support for network device (8086,10ea) in a new Intel system 708 6803799 need to add network device support (8086,10ef) for a new Intel system 709 6808388 e1000g inteface experience packet lost when switch between joining and leaving a multicast stream 710 7115.3.16 712====== 713 This version has the following fixes: 714 6881588 e1000g functions should return when e1000g_check_dma_handle() fails 715 6888320 e1000g emits scary mutex message on the console 716 7175.3.17 718====== 719 This version has the following fixes: 720 6893285 e1000g 'pciex8086,105e' with PHY type igp I/O devices have been retired 721 6895459 e1000g share code update v3-1-10-1 722 7235.3.18 724====== 725 This version has the following fix: 726 6894476 e1000g is not lint clean 727 7285.3.19 729====== 730 This version has the following fix: 731 6877343 e1000g's default tx/rx resource consumption too high for jumbograms 732 7335.3.20 734====== 735 This version has the following fixes: 736 6901523 e1000g does not return failure when setting external loopback fails 737 6903712 Cannot install on DQ45EK system due to e1000g driver alias 738 6909097 e1000g specifies incorrect flag when allocating tx DMA buffers 739 6909553 e1000g stall reset leaves GLDv3 link state as "unknown" 740 7415.3.21 742====== 743 This version has the following fix: 744 6909134 e1000g doesn't use ddi_get/ddi_put to access its IO space 745 7465.3.22 747====== 748 This version has the following fixes: 749 6903292 Running flag not set on IPMP underlying e1000g interfaces 750 6913835 e1000g driver passes bad messages up the stack when jumbograms received 751 6919873 panic: BAD TRAP: type=e (#pf Page fault) in module "e1000g" during ifconfig plumb group ipmp0 752 7535.3.23 754===== 755 This version has the following fixes: 756 6838180 tcp corruption seen with northstar cards 757 6925276 e1000g not consistent with link_lock usage 758 6933844 NULL ptr deref in e1000g_rx_setup() due to inconsistency between recv_list & rx_desc_num 759 7605.3.24 761===== 762 This version has the following fixes: 763 6861114 System Panics with FMA ereport.io.fire.epkt 764 6876953 Memory leaks found in e1000g_alloc_rx_sw_packet on snv_111b 765 6945160 netlbtest fails with Can't set loopback mode on device e1000g6 766 6960959 panic in e1000g_receive 767 6965855 e1000g(intel 82571 adapter) needs to support MTU size of 9000 768 6967530 Need version in e1000g driver 769 6967873 e1000g needs to clear the link-down status when being unplumbed 770
README.illumos
1# 2# This file and its contents are supplied under the terms of the 3# Common Development and Distribution License ("CDDL"), version 1.0. 4# You may only use this file in accordance with the terms of version 5# 1.0 of the CDDL. 6# 7# A full copy of the text of the CDDL should have accompanied this 8# source. A copy of the CDDL is also available via the Internet at 9# http://www.illumos.org/license/CDDL. 10# 11 12# 13# Copyright (c) 2013 Joyent, Inc. All rights reserved. 14# 15 16Historically e1000g and igb were maintained by two different teams at Sun and 17thus while they used identical common code from Intel, they each only ever used 18portions of it and were not kept in sync with one another. To help make 19maintenance and the adding of new devices easier in illumos, we have gone 20through and made it so that igb and e1000g rely on the same set of common code; 21however, this code is not in its own module, each has its own copy of the code 22compiled into it for various reasons which will be laid out below. 23 24As part of the interface with the common code, the driver is required to define 25an e1000_osdep.h. Currently each version of the driver defines its *own* version 26of this header file in their own driver specific directory. However, the code 27that implements this is different in each directory, specifically e1000g_osdep.c 28and igb_osdep.c. It's important that they have different names and not be called 29the same thing due to how the uts makefiles work. 30 31Deviations from the common FreeBSD code: 32 33We have a few differences from the common version of the FreeBSD code that exist 34so that we can both gather firmware information and that have workarounds for 35older chipsets. While, we would like to get that to be synced up and common, it 36is not currently. 37 38Energy Efficient Ethernet (EEE) is not enabled by default. This technology was 39introduced with the I350 family of parts in the igb driver. However, there have 40been issues seen with it in the wild and thus we opt to disable it by default 41until tests have proven that there are no longer problems. 42 43To help make that easier, we've documented here what these extra definitions 44are. DO NOT just blindly copy over new common code. There is more work that 45needs to be done in terms of changed interfaces and expectations for the 46drivers. 47 48# e1000_defines.h 49 50In e1000_defines.h we add the following three definitions which are not 51currently present. These definitions allow us to attach firware revisions and 52other information to the devinfo tree. 53 54#define NVM_VERSION 0x0005 55#define NVM_OEM_OFFSET_0 6 56#define NVM_OEM_OFFSET_1 7 57 58# Workarounds for the 82541 and 82547 59 60There are various workarounds in place for the 82541 and 82547 due to errata 61that exist for these devices. This has traditionally been a part of the common 62code. Until this can get merged into the common code completely, we've spearted 63out the changes that are the actual C functions into 64uts/common/io/e1000g/e1000g_workarounds.c. However, this alone is not 65sufficient. You must make sure that in e1000_hw.h that the struc 66e1000_dev_spec_82541 actually looks like the following: 67 68struct e1000_dev_spec_82541 { 69 enum e1000_dsp_config dsp_config; 70 enum e1000_ffe_config ffe_config; 71 u32 tx_fifo_head; 72 u32 tx_fifo_start; 73 u32 tx_fifo_size; 74 u16 dsp_reset_counter; 75 u16 spd_default; 76 bool phy_init_script; 77 bool ttl_workaround; 78}; 79 80Similarly in e1000_82541.h you must make sure the following macros and external 81function declarations are present: 82 83#define E1000_FIFO_MULTIPLIER 0x80 84#define E1000_FIFO_HDR_SIZE 0x10 85#define E1000_FIFO_GRANULARITY 0x10 86#define E1000_FIFO_PAD_82547 0x3E0 87#define E1000_ERR_FIFO_WRAP 8 88 89#define DSP_RESET_ENABLE 0x0 90#define DSP_RESET_DISABLE 0x2 91#define E1000_MAX_DSP_RESETS 10 92 93#define E1000_ROUNDUP(size, unit) (((size) + (unit) - 1) & ~((unit) - 1)) 94 95s32 e1000_fifo_workaround_82547(struct e1000_hw *hw, u16 length); 96void e1000_update_tx_fifo_head_82547(struct e1000_hw *hw, u32 length); 97void e1000_set_ttl_workaround_state_82541(struct e1000_hw *hw, bool state); 98bool e1000_ttl_workaround_enabled_82541(struct e1000_hw *hw); 99s32 e1000_igp_ttl_workaround_82547(struct e1000_hw *hw); 100 101# EEE 102 103By default we disable all support for EEE. To cause this to happen you must 104make the following change in e1000_82575.c's init_mac_params. 105 106From: 107 394 /* Enable EEE default settings for EEE supported devices */ 108 395 if (mac->type >= e1000_i350) 109 396 dev_spec->eee_disable = FALSE; 110To: 111 394 /* Enable EEE default settings for EEE supported devices */ 112 395 if (mac->type >= e1000_i350) 113 396 dev_spec->eee_disable = TRUE; 114 115Future work: 116 117The next step here is to take the osdep portions and merge them. That would 118allow us to build one common misc module e1000api that both igb and e1000g 119depend on rather than building separate copies of the common code into each 120driver. Another potential option which may prove to have less value is to take 121all of the gld and ddi logic and have one driver export that leaving e1000g and 122igb as small stubs which depend on that. Note however, that the latter is not 123how our upstream is currently structuring their igb and em (FreeBSD's e1000g) 124drivers. 125
README.new
1$FreeBSD$ 2FreeBSD* Driver for Intel Network Connection 3============================================= 4 5May 30, 2007 6 7 8Contents 9======== 10 11- Overview 12- Identifying Your Adapter 13- Building and Installation 14- Speed and Duplex Configuration 15- Additional Configurations 16- Known Limitations 17- Support 18- License 19 20 21Overview 22======== 23 24This file describes the FreeBSD* driver for Intel Network Connection. 25This driver has been developed for use with FreeBSD, Release 7.x. 26 27For questions related to hardware requirements, refer to the documentation 28supplied with your Gigabit adapter. All hardware requirements listed 29apply to use with FreeBSD. 30 31 32Identifying Your Adapter 33======================== 34 35For information on how to identify your adapter, go to the Adapter & 36Driver ID Guide at: 37 38http://support.intel.com/support/network/sb/cs-012904.htm 39 40 41For the latest Intel network drivers for FreeBSD, see: 42 43http://downloadfinder.intel.com/scripts-df-external/support_intel.aspx 44 45 46NOTE: Mobile adapters are not fully supported. 47NOTE: The Intel(R) 82562v 10/100 Network Connection only provides 10/100 48support. 49 50Building and Installation 51========================= 52 53NOTE: The driver can be installed as a dynamic loadable kernel module or 54 compiled into the kernel. You must have kernel sources installed in 55 order to compile the driver module. 56 57In the instructions below, x.x.x is the driver version as indicated in the 58name of the driver tar file. 59 601. Move the base driver tar file to the directory of your choice. For 61 example, use /home/username/em or /usr/local/src/em. 62 632. Untar/unzip the archive: 64 65 tar xzvf em-x.x.x.tar.gz 66 67 This will create an em-x.x.x directory. 68 693. To create a loadable module, perform the following steps. 70 NOTE: To compile the driver into the kernel, go directly to step 4. 71 72 a. To compile the module 73 74 cd em-x.x.x 75 make 76 77 b. To install the compiled module to the system directory: 78 79 make install 80 81 c. If you want the driver to load automatically when the system is booted: 82 83 1. Edit /boot/loader.conf, and add the following line: 84 85 if_em_load="YES" 86 874. To compile the driver into the kernel, enter: 88 89 cd em-x.x.x/src 90 cp *.[ch] /usr/src/sys/dev/em 91 92 Edit the kernel configuration file (i.e., GENERIC or MYKERNEL) in 93 /usr/src/sys/i386/conf, and ensure the following line is present: 94 95 device em 96 97 Compile and install the kernel. The system must be rebooted for the 98 kernel updates to take effect. For additional information on compiling 99 the kernel, consult the FreeBSD operating system documentation. 100 1015. To assign an IP address to the interface, enter the following: 102 103 ifconfig em<interface_num> <IP_address> 104 1056. Verify that the interface works. Enter the following, where <IP_address> 106 is the IP address for another machine on the same subnet as the interface 107 that is being tested: 108 109 ping <IP_address> 110 1117. To configure the IP address to remain after reboot, edit /etc/rc.conf, 112 and create the appropriate ifconfig_em<interface_num>entry: 113 114 ifconfig_em<interface_num>="<ifconfig_settings>" 115 116 Example usage: 117 118 ifconfig_em0="inet 192.168.10.1 netmask 255.255.255.0" 119 120 NOTE: For assistance, see the ifconfig man page. 121 122 123Speed and Duplex Configuration 124============================== 125 126By default, the adapter auto-negotiates the speed and duplex of the 127connection. If there is a specific need, the ifconfig utility can be used to 128configure the speed and duplex settings on the adapter. Example usage: 129 130 ifconfig em<interface_num> <IP_address> media 100baseTX mediaopt 131 full-duplex 132 133 NOTE: Only use mediaopt to set the driver to full-duplex. If mediaopt is 134 not specified and you are not running at gigabit speed, the driver 135 defaults to half-duplex. 136 137If the interface is currently forced to 100 full duplex, in order to change 138to half duplex you must use this command: 139 140 ifconfig em<interface_num> <IP_address> media 100baseTX -mediaopt 141 full-duplex 142 143 144This driver supports the following media type options: 145 146 autoselect - Enables auto-negotiation for speed and duplex. 147 148 10baseT/UTP - Sets speed to 10 Mbps. Use the ifconfig mediaopt 149 option to select full-duplex mode. 150 151 100baseTX - Sets speed to 100 Mbps. Use the ifconfig mediaopt 152 option to select full-duplex mode. 153 154 1000baseTX - Sets speed to 1000 Mbps. In this case, the driver 155 supports only full-duplex mode. 156 157 1000baseSX - Sets speed to 1000 Mbps. In this case, the driver 158 supports only full-duplex mode. 159 160For more information on the ifconfig utility, see the ifconfig man page. 161 162 163Additional Configurations 164========================= 165 166The driver supports Transmit/Receive Checksum Offload and Jumbo Frames on 167all but the 82542-based adapters. For specific adapters, refer to the 168Identifying Your Adapter section. 169 170 Jumbo Frames 171 ------------ 172 To enable Jumbo Frames, use the ifconfig utility to set the Maximum 173 Transport Unit (MTU) frame size above its default of 1500 bytes. 174 175 The Jumbo Frames MTU range for Intel Adapters is 1500 to 16110. To modify 176 the setting, enter the following: 177 178 ifconfig em<interface_num> <hostname or IP address> mtu 9000 179 180 To confirm the MTU used between two specific devices, use: 181 182 route get <destination_IP_address> 183 184 Notes: 185 186 - Only enable Jumbo Frames if your network infrastructure supports them. 187 188 - To enable Jumbo Frames, increase the MTU size on the interface beyond 189 1500. 190 191 - The Jumbo Frames setting on the switch must be set to at least 22 bytes 192 larger than that of the MTU. 193 194 - The maximum MTU setting for Jumbo Frames is 16110. This value coincides 195 with the maximum Jumbo Frames size of 16128. 196 197 - Some Intel gigabit adapters that support Jumbo Frames have a frame size 198 limit of 9238 bytes, with a corresponding MTU size limit of 9216 bytes. 199 The adapters with this limitation are based on the Intel(R) 82571EB, 200 82572EI, 82573L, 82566, 82562, and 80003ES2LAN controller. These 201 correspond to the following product names: 202 Intel(R) PRO/1000 PT Server Adapter 203 Intel(R) PRO/1000 PT Desktop Adapter 204 Intel(R) PRO/1000 PT Network Connection 205 Intel(R) PRO/1000 PT Dual Port Server Adapter 206 Intel(R) PRO/1000 PT Dual Port Network Connection 207 Intel(R) PRO/1000 PT Quad Port Server Adapter 208 Intel(R) PRO/1000 PF Quad Port Server Adapter 209 Intel(R) PRO/1000 PF Server Adapter 210 Intel(R) PRO/1000 PF Network Connection 211 Intel(R) PRO/1000 PF Dual Port Server Adapter 212 Intel(R) PRO/1000 PB Server Connection 213 Intel(R) PRO/1000 PL Network Connection 214 Intel(R) PRO/1000 EB Network Connection with I/O Acceleration 215 Intel(R) PRO/1000 EB Backplane Connection with I/O Acceleration 216 Intel(R) 82566DM-2 Gigabit Network Connection 217 218 - Adapters based on the Intel(R) 82542 and 82573V/E controller do not 219 support Jumbo Frames. These correspond to the following product names: 220 Intel(R) PRO/1000 Gigabit Server Adapter 221 Intel(R) PRO/1000 PM Network Connection 222 223 - Using Jumbo Frames at 10 or 100 Mbps may result in poor performance or 224 loss of link. 225 226 - The following adapters do not support Jumbo Frames: 227 Intel(R) 82562V 10/100 Network Connection 228 Intel(R) 82566DM Gigabit Network Connection 229 Intel(R) 82566DC Gigabit Network Connection 230 Intel(R) 82566MM Gigabit Network Connection 231 Intel(R) 82566MC Gigabit Network Connection 232 Intel(R) 82562GT 10/100 Network Connection 233 Intel(R) 82562G 10/100 Network Connection 234 Intel(R) 82566DC-2 Gigabit Network Connection 235 Intel(R) 82562V-2 10/100 Network Connection 236 Intel(R) 82562G-2 10/100 Network Connection 237 Intel(R) 82562GT-2 10/100 Network Connection 238 239 VLANs 240 ----- 241 To create a new VLAN interface: 242 243 ifconfig <vlan_name> create 244 245 To associate the VLAN interface with a physical interface and 246 assign a VLAN ID, IP address, and netmask: 247 248 ifconfig <vlan_name> <ip_address> netmask <subnet_mask> vlan 249 <vlan_id> vlandev <physical_interface> 250 251 Example: 252 253 ifconfig vlan10 10.0.0.1 netmask 255.255.255.0 vlan 10 vlandev em0 254 255 In this example, all packets will be marked on egress with 802.1Q VLAN 256 tags, specifying a VLAN ID of 10. 257 258 To remove a VLAN interface: 259 260 Intel Network Connection ifconfig <vlan_name> destroy 261 262 263 Polling 264 ------- 265 266 To enable polling in the driver, add the following options to the kernel 267 configuration, and then recompile the kernel: 268 269 options DEVICE_POLLING 270 options HZ=1000 271 272 At runtime use: 273 ifconfig emX polling (to turn polling on) 274 and: 275 ifconfig emX -polling (to turn it off) 276 277 278 Checksum Offload 279 ---------------- 280 Checksum offloading is not supported on 82542 Gigabit adapters. 281 282 Checksum offloading supports both TCP and UDP packets and is 283 supported for both transmit and receive. 284 285 Checksum offloading can be enabled or disabled using ifconfig. 286 Both transmit and receive offloading will be either enabled or 287 disabled together. You cannot enable/disable one without the other. 288 289 To enable checksum offloading: 290 291 ifconfig <interface_num> rxcsum 292 293 To disable checksum offloading: 294 295 ifconfig <interface_num> -rxcsum 296 297 To confirm the current setting: 298 299 ifconfig <interface_num> 300 301 Look for the presence or absence of the following line: 302 303 options=3 <RXCSUM,TXCSUM> 304 305 See the ifconfig man page for further information. 306 307 308 TSO 309 --- 310 The FreeBSD driver offers support for TSO (TCP Segmentation Offload). 311 312 You can enable/disable it in two ways/places: 313 314 - sysctl net.inet.tcp.tso=0 (or 1 to enable it) 315 316 Doing this disables TSO in the stack and will affect all adapters. 317 318 - ifconfig emX -tso 319 320 Doing this will disable TSO only for this adapter. 321 322 To enable: 323 324 - ifconfig emX tso 325 326 NOTES: By default only PCI-Express adapters are ENABLED to do TSO. Others 327 can be enabled by the user at their own risk 328 TSO is not supported on 82547 and 82544-based adapters, as well as older adapters. 329 330 331Known Limitations 332================= 333 334 Detected Tx Unit Hang in Quad Port Adapters 335 ------------------------------------------- 336 337 In some cases ports 3 and 4 wont pass traffic. Ports 1 and 2 don't show 338 any errors and will pass traffic. 339 340 This issue MAY be resolved by updating to the latest BIOS. You can 341 check your system's BIOS by downloading the Linux Firmware Developer Kit 342 that can be obtained at http://www.linuxfirmwarekit.org/ 343 344 345 There are known performance issues with this driver when running UDP traffic 346 with Jumbo Frames. 347 ---------------------------------------------------------------------------- 348 349 82541/82547 can't link or is slow to link with some link partners 350 ----------------------------------------------------------------- 351 352 There is a known compatibility issue where time to link is slow or link is not 353 established between 82541/82547 controllers and some switches. Known switches 354 include: 355 Planex FXG-08TE 356 I-O Data ETG-SH8 357 Netgear GS105v3 358 359 The driver can be compiled with the following changes: 360 361 Edit ./em.x.x.x/src/if_em.h to change the #define EM_MASTER_SLAVE 362 For example, change from: 363 364 #define EM_MASTER_SLAVE e1000_ms_hw_default 365 to: 366 #define EM_MASTER_SLAVE 2 367 368 Use one of the following options: 369 1 = Master mode 370 2 = Slave mode 371 3 = Auto master/slave 372 Setting 2 is recommended. 373 374 Recompile the module: 375 a. To compile the module 376 cd em-x.x.x 377 make clean 378 make 379 380 b. To install the compiled module in system directory: 381 make install 382 383 384Support 385======= 386 387For general information and support, go to the Intel support website at: 388 389 http://support.intel.com 390 391If an issue is identified, support is through email only at: 392freebsd@intel.com 393 394 395License 396======= 397 398This software program is released under the terms of a license agreement 399between you ('Licensee') and Intel. Do not use or load this software or any 400associated materials (collectively, the 'Software') until you have carefully 401read the full terms and conditions of the LICENSE located in this software 402package. By loading or using the Software, you agree to the terms of this 403Agreement. If you do not agree with the terms of this Agreement, do not 404install or use the Software. 405 406* Other names and brands may be claimed as the property of others. 407