Patch-ID# 107743-14
Keywords: multicast links panics trap trunking mutex link_status UDP hang leaks
Synopsis: SunOS 5.7: Sun Quad FastEthernet 2.2
Date: Apr/25/2003

Install Requirements: Reboot after installation                      
                      
Solaris Release: 7

SunOS Release: 5.7

Unbundled Product: 

Unbundled Release: 

Xref: 

Topic: SunOS 5.7: Sun Quad FastEthernet 2.2

Relevant Architectures: sparc

BugId's fixed with this patch: 4181182 4186988 4213250 4218453 4241749 4244212 4244524 4252906 4264521 4264978 4280043 4285238 4292608 4301636 4327237 4348511 4367043 4369563 4372906 4382499 4392541 4401250 4411205 4411462 4412971 4424879 4437412 4451757 4467799 4469987 4473952 4486431 4493834 4502653 4517740 4531045 4655451 4664588 4681502 4704689 4717401 4719739 4727494 4738051 4760845 4772916 4790953 4807151

Changes incorporated in this version: 4807151 4790953

Patches accumulated and obsoleted by this patch: 

Patches which conflict with this patch: 

Patches required with this patch: 

Obsoleted by: 

Files included with this patch: 

/kernel/drv/qfe
/kernel/drv/sparcv9/qfe
/usr/include/sys/qfe.h

Problem Description:

4807151 Suspending and resuming qfe causes panic
4790953 dstop during copy-rename with qfe present
 
(from 107743-13)
4772916 Grover with qfe installed panics when attempting to install s9u3_b1
 
(from 107743-12)
4760845 potential memory leak in qfe driver
4681502 qfe driver reports many inits
4738051 memory leak in streams_dblk_2568 by qfe drivers when snoop running
4727494 ar_rput_dlpi: DL_ATTACH_REQ (11) failed
4704689 Mutex Panic during repeated  cfgadm detach/configure operations on QFEs
4717401 Solaris8; qfe with IPMP enabled, link up was not logged in messages file
4719739 BAD Trap in bcopy from mcopymsg in qfe driver
4451757 qfe: panic in qfeinit_rx (qfestruplock not acquired)
 
(from 107743-11)
4411205 Panic in str_ftflow due to corrupted dblk
4664588 Cherrystone/Daktari Panic's under heavy network load on qfe NIC using ttcp & net
4655451 Cannot change qfe settings with ndd when they are set in /etc/system
4292608 E10K generates interrupt level 6 not serviced messages, loses ttcp sessions
 
(from 107743-10)
4517740 alignment error on e10k
4502653 Systems panic with two QFE trunkings
4531045 System Panic in SunCluster with qfe driver.
4367043 QFE drivers does not load IPG1 values from qfe.conf
 
(from 107743-09)
4467799 Bad Trap in qfewput()
4469987 Using ttcp to transmit UDP traffic out a qfe device saturates the system
4486431 qfe driver error - ARP messages
4493834 qfe interface about 40% link up failed with CiscoCatalyst 6500
4369563 Starfire panics when running drstress on trunked/AP'd qfe networks
4473952 Problems with two qfe driver mutex
4437412 System hang on rwlock qfestruplock
4348511 network drivers should report link_status in kstat structure
4424879 recursive mutex panic in qfe:qfemctl
 
(from 107743-08)
4392541 panic due to qfe_intr ending on bus timeout
4412971 qfe driver and multicast packets issue on Solaris
4411462 qfe driver will bind with CLDLS service mode no matter request is not CLDLS
4401250 After QFE instance is set to invalid number, it stops working correctly
 
(from 107743-07)
4372906 Need MAC header when receiving packets on down interface
4382499 alignment trap in qfedodetach()
 
(from 107743-06)
4285238 switches within nafo-group if qfe-patch 106532 is installed
4241749 qfe driver does not respond with DL_OK_ACK to a DL_ENABMULTI_REQ primitive
 
(from 107743-05)
4327237 The system crashed in qfe driver because of a deadlock
 
(from 107743-04)
4301636 System panics when trying to unconfigure a PCI SunQFE NIC on Starcat Prototype
 
(from 107743-03)
4280043 4280043 qfe: latest qfe patches for 2.5.1, 2.6 and 7 need to be tested on E10K
4244212 Can not build SS20 through an SBus QFE on Solaris 8
4244524 BAD TRAP panic on memory address alignment
4252906 Panic bad rwlock when running dr testing on sunfire+
4264521 s7u4_5 QFE does not work on SS20 4m (jumpstart installing or at unix)
4264978 BAD TRAP on qfe while installing OS
 
(from 107743-02)
Assign permission ownership for /kernel/drv and /kernel/drv/sparcv9
directories instead of using question mark as default value.
 
(from 107743-01)
4186988 Add trunking 1.2 support.
4181182 QFE driver interrupts are not distributed by a MP system.
4213250 qfe driver doesn't utilize MIF capabilities properly.
4218453 The cheerio initialization code is too general

Patch Installation Instructions:
--------------------------------
For Solaris 2.0 - 2.6 releases, refer to the Install.info file and/or
the README within the patch for instructions on using the generic
'installpatch' and 'backoutpatch' scripts provided with each patch.
 
For Solaris 7 and 8 releases, refer to the man pages for instructions on
using 'patchadd' and 'patchrm' scripts provided with Solaris.
Any other special or non-generic installation instructions should be
described below as special instructions.  The following example
installs a patch to a standalone machine:
 
        example# patchadd /var/spool/patch/104945-02
 
The following example removes a patch from a standalone system:
 
        example# patchrm 104945-02
 
For additional examples please see the appropriate man pages.

Special Install Instructions:
-----------------------------
After installing this patch, you can choose to do the following
things to allow the new driver to take effect.
 
Option 1: Teardown all your network settings associated with the driver,
          unload the driver.  Finally restore all network settings.
 
        1.1. Find out all the network settings associated with the device
                driver. Use the following command:
                ifconfig -a
                You can redirect the output to a file to help recall
                how the interfaces were setup.
                ifconfig -a > interface.setup
 
        1.2. Begin tearing down all the interfaces use the ifconfig
                command to bring down all the device interfaces and unplumb
                them. Use the following command.
                ifconfig <device><instance> down unplumb.
                You can use the ''interface.setup'' file to help you
                identify the interfaces that need this step.
 
        1.3. Now kill any processes that may have opened the driver
                directly. In these case you can use the ''ps'' command
                to find these processes. The following command can help.
                ps -ef | grep <device>
                With this list of process using the device you can begin
                to stop all of them.
                You may want to record the processes in a file so they can be
                restarted afterwards.
 
        1.4. Once you have completely stopped everything using driver
                using step 1.2. and 1.3 you can now unload the driver.
                To do that you must first find the module id for the driver,
                this is done using the following command.
                modinfo | grep <device>
                This will typically give the following output.
                84 60ab4000 132da 143 1 device (device for doing stuff v1.18)
                The first number in the above line is the module id for the
                device driver. Now you can use that information to modunload
                the device driver. Using the following command.
                modunload -i 85
                Once the driver is unload the next time the driver is loaded
                it will pick up the latest driver.
 
        1.5. Now you can begin restoring all the connections, you can use
                the ''interface.setup'' file to help you restore the correct
                inet address, netmask and so on.
 
        1.6. If possible try and restore the applications which were stopped
                in step 1.3.
 
        This approach will provide the minimum disruption to the usage of the
        system. And is a preferred alternative to a complete reboot.
 
Option 2: Reboot the system to load newly installed driver.

README -- Last modified date:  Friday, April 25, 2003

