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 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 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 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