README revision 4d7379630d53d9992780329b674af8c85935e858
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe# This file is provided under a CDDLv1 license. When using or
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe# redistributing this file, you may do so under this license.
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe# In redistributing this file this license must be included
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe# and no other modification of this header file is permitted.
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe# CDDL LICENSE SUMMARY
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe# Copyright(c) 1999 - 2008 Intel Corporation. All rights reserved.
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe# The contents of this file are subject to the terms of Version
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov# 1.0 of the Common Development and Distribution License (the "License").
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov# You should have received a copy of the License with this software.
5886b388693aede815c0cf5262e123d4677cd72cGarrett D'Amore# You can obtain a copy of the License at
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe# See the License for the specific language governing permissions
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov# and limitations under the License.
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov# Use is subject to license terms of the CDDLv1.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov4.0.4 code drop from Intel on 1/30/2003
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov=======================================
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov This version is used as the base for putback into both s10 and
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov Following changes were done to this code base before putting
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov back into solaris trees (S10 & S9U4):
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov 1) Changes to e1000_hw.c to remove build warnings
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov + diff /home/naroori/grizzly/sources/e1000g/1_4.0.4/e1000_hw.c .
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov < phy_info->downshift = hw->speed_downgraded;
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov > phy_info->downshift = (int)hw->speed_downgraded;
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov < phy_info->downshift = hw->speed_downgraded;
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov > phy_info->downshift = (int)hw->speed_downgraded;
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov 2) Changes to e1000g_dlpi.c for ipv6 plumbing problem and
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov problem with default MTU size of 2024.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov + diff /home/naroori/grizzly/sources/e1000g/1_4.0.4/e1000g_dlpi.c .
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov > /* the following causes problem with ipv6 plumbing...
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov < if (Adapter->Shared.max_frame_size == FRAME_SIZE_UPTO_16K)
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov > if (Adapter->Shared.max_frame_size == ETHERMTU) {
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov > else if (Adapter->Shared.max_frame_size == FRAME_SIZE_UPTO_16K) {
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov 3) Changes to e1000g_main.c for version string modification,
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov removing console messages on bootup and problems with default
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov MTU size of 2024.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov + diff /home/naroori/grizzly/sources/e1000g/1_4.0.4/e1000g_main.c .
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov < static char e1000g_version[]="Driver Ver. 4.0.4-beta";
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov > static char e1000g_version[]="Driver Ver. 4.0.4";
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov < e1000g_log(Adapter,CE_CONT,"\n%s, %s\n",AdapterName,e1000g_version);
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov > cmn_err(CE_CONT,"!%s, %s\n",AdapterName,e1000g_version);
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov < Adapter->Shared.max_frame_size = FRAME_SIZE_UPTO_2K;
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov > Adapter->Shared.max_frame_size = ETHERMTU;
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov < Adapter->Shared.max_frame_size = FRAME_SIZE_UPTO_2K;
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov > Adapter->Shared.max_frame_size = ETHERMTU;
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri PankovBug fixes to 4.0.4:
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov===================
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov 1) bug#4829398 code cleanup for ethernet bootup messages
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov4.0.12 code drop from Intel on 3/18/2003
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov========================================
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov This drop had extensive changes from 4.0.4. Many changes after
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov 4.0.4 were realted to new hardware (a.k.a. BayCity chipset),
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov not relevant to Grizzly.After looking at the changelog from Intel,
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov we decided not to do a putback but rather take only high priority
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov fixes from this drop and generate a new version 4.0.4.1.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov Here is the changelog supplied by Intel for this drop:
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov ________________________________________________________________________
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov Component Name: Unix-Solaris_8254x_BayCity_Intel
86635a91ceb503bad0052c7a964ec3fd28d548dcGarrett D'Amore Description: Bay City software component for gigabit products
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov ________________________________________________________________________
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov ---Version: 4.0.13 Date: 3/14/2003 5:00:00 PM---
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov Added transmit mutex locking to the 82547 workaround code.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov ---Version: 4.0.12 Date: 3/10/2003 8:01:00 PM---
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov Added new shared code with LED link speed fix
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov ---Version: 4.0.11 Date: 3/7/2003 5:57:00 PM---
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov Updated the Tanacross FIFO hang workaround to reset FIFO pointers instead of sending autonomous packets.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov ---Version: 4.0.10 Date: 3/4/2003 2:39:00 PM---
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov Removed an extra sdu adjustment that was left in by accident
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov ---Version: 4.0.9 Date: 3/4/2003 11:13:00 AM---
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov Removed the first call to adapter_stop. This was called before the HW struct was properly initialized, and could cause hangs.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov Changed reported ethernet sdu from 2024 to 1500, as driver could be configured for invalid frame MTU sizes in Solaris 9.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov Added Tanacross workaround for FIFO hang.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov ---Version: 4.0.8 Date: 2/25/2003 2:27:00 PM---
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov Shared code update including Phy init script.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov Smartspeed workaround added. e1000g_smartspeed called from LocalTimer function every two seconds when link is down.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov ---Version: 4.0.7 Date: 2/18/2003 11:41:00 AM---
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov Updated to include bug fixes from the shared code.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov ---Version: 4.0.5 Date: 1/31/2003 10:13:00 AM---
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov Support for new hardware changes
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov Removed the extra ack sent at the end of the attach_req routine. This extra ack previously made IPv6 plumbing on Solaris 9 fail.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov This version is not an Intel drop but 4.0.4 merged with two
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov high priority fixes from 4.0.12. We will give back the 4.0.4.1
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov driver back to Intel, per their request, so they have the exact
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov code that we are releasing through Solaris.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov The following are the two fixes selected for inclusion from
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov 4.0.12 codebase:
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov 1) Removing the first call to adapter_stop as discussed in
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov 4.0.12 changelog.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov 2) Corrections to MTU size calculations first introduced
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov in our 4.0.4 putback to bring them into sync with 4.0.12
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov MTU size calculations.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov We also added README file (current file you are reading) during
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov this putback.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov This version has the following fixes:
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov 1) bug#4857098: e1000g driver assumes another intel card as its own.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov The fix involved eliminating 1009, 1012, 1015, 1016, 1017
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov device-ids from e1000g nodelist so that they do not conflict
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov with iprb's subsystem-ids.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov This fix has to be reverted later once we have a proper fix for
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov bug#4859426.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov 2) bug#4853683: e1000g lacks a large number of expected kstats
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov The fix involved three steps: a) Renaming some of the existing
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov kstats to comply with WDD documentation b) Computing some of
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov those which are not being tracked c) Supplying zero for the rest
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov the error stats which are not being tracked.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov This fix has to be revisited to improvise the statistics in
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov 3) bug#4862529: System panics during configuring devices on a Dell 4-way
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov servers. The fix involved removing all the devic-ids from nodelist
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe except for 1010. This means that we support now only the grizzly
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov on-board gigabit chipset and "Intel Pro/1000 MT Dual Server Adapter".
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe This fix has to be reverted later once we have a proper fix for
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe bug#4859426.
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe This version has the following fixes:
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe 1) bug#4874857: ipv6 ping fails on bootup for e1000g.
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe The fix involved implementing multicast tables both at per stream
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe level and per device level.
7ffba875a0c7cf118aef7a2c9bfd00c3935e230aGarrett D'Amore 2) bug#4875743: null pointer dereference in ddi_dma_addr_bind_handle.
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe The fix involved adding LastTxDescriptorBuf to struct e1000g and
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe handling consequent proper calculations for LastTxDescriptor.
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe 3) bug#4882541: setting up ethernet address causes machine to panic.
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe The fix involved removing a spurious log message which was causing
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe 4) bug#4883302: Reinstate the removed device-ids - phase 2.
8bf58058bb64c24ccf6da9141b2f10037725b137Richard Lowe The fix involved some chip initializations to handle 1000 id.
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe 5) bug#4919285: device id 8086,100e needs to be added
d43e36083971394ac9c1341783ff58802c2e73efIgor Kozhukhov The fix needed for the Intel Precision 350 workstation
c10c16dec587a0662068f6e2991c29ed3a9db943Richard LoweWe need to sync up with the latest Intel code base for e1000g driver.
c10c16dec587a0662068f6e2991c29ed3a9db943Richard LoweIntel is currently at version 4.2.11 while we are on 4.0.4 branch.
c10c16dec587a0662068f6e2991c29ed3a9db943Richard LoweThe exact version under 4.0.4 branch is 4.0.4.3. Since we are on
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowethe branch while Intel is working on the main trunk, we have had
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowelot of friction in getting timely fixes from Intel. The current
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowesyncing up with their main trunk lets us a smooth migration path.
c10c16dec587a0662068f6e2991c29ed3a9db943Richard LoweThe new code base also would provide us with support for additional
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowecards including Quad port cards (See bugs: 4921433, 4914460).
c10c16dec587a0662068f6e2991c29ed3a9db943Richard LoweIn our old 4.0.4 branch, we had to drop support for a lot of cards
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowefor various problems; with the current syncing up, we would be able
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Loweto support so many various cards except for the cards clashing with
c10c16dec587a0662068f6e2991c29ed3a9db943Richard LoweThe new code base also has support for additional new chipsets. The code
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowebase also benefits from any fixes to the shared code base with other
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Loweoperating system drivers.
c10c16dec587a0662068f6e2991c29ed3a9db943Richard LoweThe new codebase also has lot of cleanups in terms of various #ifdefs
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Loweand should be much simpler to maintain.
c10c16dec587a0662068f6e2991c29ed3a9db943Richard LoweSo the list of actual ids take out are:
c10c16dec587a0662068f6e2991c29ed3a9db943Richard LoweThis intel code drop addresses the following bug:
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe 4909863: Bad trap panic in e1000g_rtn_buf
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe This version has the following fix:
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov 4932422 interconnect remains faulted after adapter disconnected and then reconnected
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri PankovNotes on packaging:
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe===================
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov Intel names the package as INTCGigaE while we chose to rename
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov it as SUNWintgige as per Sun packaging conventions.
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe This version has the following fixes:
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov 4971416 e1000g seems to hang system when no network connected
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov 4997067 e1000gattach panicks when the going gets tough
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov 4990064 e1000g leaks memory when it runs out of transmit descriptors
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov This version has the following fix:
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov 5014625 e1000g driver panicked when snoop(1M) exited
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov This version has the following fix:
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov 4940870 e1000g: Dependence on instance initialization order disables .conf properties
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe 5033616 e1000g panicked after rem_drv while some service still binds to the driver
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov 5037062 strings have crept back in e1000g/adpu320 related mutex_init()s
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe 5050268 Some e1000g flag operations are not correct.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov This version has the following fix:
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe 5067162 e1000g cannot transmit heavy UDP
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe This version has the following fix:
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe 5010052 The stress load/unload test of Intel PWLA8494MT Quad Port NIC causes system hung
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe 5050265 E1000g does not support IPV6 fast path. This will impact IPV6 performance.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov 5050369 E1000g locks the system if plumb/unplumb under heavy workload and snoop.
c10c16dec587a0662068f6e2991c29ed3a9db943Richard Lowe 5050415 E1000g will accepts ethernet packets which are not addressed to it.
a9478106a12424322498e53cf7cd75bd8a4d6004Yuri Pankov 5055132 E1000g crashes when injected with Jumbo Frame packets.
4921433 e1000g: Should not probe by using VID/DID table to identify adapters
6207682 e1000g needs link up/down support
6212810 e1000g caught sending unsolicited M_PROTO/M_PCPROTO messages
6313609 2-port Intel NIC (part# 370-6687) performs poorly compared to 1-port Intel NIC (part# 370-6685)
6319100 Tier0 Ontario machine does not boot net with sparc e1000g driver substitution for sparc ipge driver
6333461 panic[cpu0]/thread=d63f4de0: assertion failed: !dma->dp_inuse, file: ../../i86pc/io/rootnex.c
6339377 e1000g.conf needs to be simplified
6412153 ndd force speed is not consistent with e1000g.conf and e1000g(7D)
6428883 NEM e1000g drive netlbtest intermittent failed when running Sunvts FUNC test with cputest,vmemtest..
6430731 e1000g.conf file removed on upgrade
6445239 assertion failed: cookie_count == 1, file: ../../common/io/e1000g/e1000g_alloc.c, line: 422
6467860 e1000g configured/used as cluster interconnect goes up and down when connected back to back
6505360 e1000g Makefile should not include "-N drv/dld" in the LDFLAGS
6504688 e1000g.conf settings are inconsistent with ndd output
6519690 e1000g should not print the link up/down messages to console
6705005 e1000g LINK/ACT LED behaviour is not consistent with the EEPROM default
6709230 Requesting driver support in e1000g for new Intel(R) single port MAC/PHY NIC