Patch Name: PHNE_20875 Patch Description: s700_800 10.20 PCI FDDI B.10.20.[01,03-05,09-11] cum. patch Creation Date: 00/07/07 Post Date: 00/07/12 Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: FDDI-PCI B.10.20.01 B.10.20.03 B.10.20.04 B.10.20.05 B.10.20.09 B.10.20.10 B.10.20.11 Filesets: FDDI-PCI.FDDI4-KRN,B.10.20.01 FDDI-PCI.FDDI4-KRN,B.10.20.03 FDDI-PCI.FDDI4-KRN,B.10.20.04 FDDI-PCI.FDDI4-KRN,B.10.20.05 FDDI-PCI.FDDI4-KRN,B.10.20.09 FDDI-PCI.FDDI4-KRN,B.10.20.10 FDDI-PCI.FDDI4-KRN,B.10.20.11 FDDI-PCI.FDAD-ENG-A-MAN,B.10.20.01 FDDI-PCI.FDAD-ENG-A-MAN,B.10.20.03 FDDI-PCI.FDAD-ENG-A-MAN,B.10.20.04 FDDI-PCI.FDAD-ENG-A-MAN,B.10.20.05 FDDI-PCI.FDAD-ENG-A-MAN,B.10.20.09 FDDI-PCI.FDAD-ENG-A-MAN,B.10.20.10 FDDI-PCI.FDAD-ENG-A-MAN,B.10.20.11 Automatic Reboot?: Yes Status: General Superseded Critical: Yes PHNE_20875: PANIC ABORT PHNE_19541: HANG PHNE_18735: MEMORY_LEAK HANG PANIC PHNE_16361: OTHER Process may hang while performing NFS data transfer. Path Name: /hp-ux_patches/s700_800/10.X/PHNE_20875 Symptoms: PHNE_20875: 1. A command to clear statistics on a functional PCI FDDI interface using the lanadmin(1M) command fails with the message : 'Unable to clear statistics registers.' 2. When 2 or more PCI FDDI cards on a single host are connected to the same physical network but are configured on different IP subnets, an IP broadcast storm may be seen on the network. 3. Applications using DLPI Type-2 connection oriented protocol over the PCI FDDI interface are unable to connect to a peer on another system. 4. Ring events (LINK UP and LINK DOWN) due to cable disconnects/reconnects and interface resets are not always communicated to upper network management layers. 5. ER: The PCI FDDI product fails to function with the Lan-Monitor product. 6. A system with the PCI FDDI product installed from the June 2000 application release may panic with a 'data memory protection fault' when an application running sustained heavy loopback traffic over a PCI FDDI interface is closed. The loopback packets have a non-SNAP destination SAP (Service Access Point). i.e. a destination SAP that is not equal to 0xAA. PHNE_19541: 1. System with PCI FDDI interface hangs. PHNE_18735: 1. The unbound promiscuous stream does not intercept outbound packets when in promiscuous mode. 2. "No entry for fddipciadmin" will be returned from the command: man fddipciadmin 3. System may hang when there is high inbound traffic over PCI FDDI interface. 4. System may panic with panic string "Spinlock timeout failure:" when there is high outbound traffic over PCI FDDI interface. PHNE_16361: 1. Data transfers over an NFS mount can hang and time out. Defect Description: PHNE_20875: 1. CR JAGab72054 / SR 8606104480 The PCI FDDI driver did not implement the command to clear statistics for the interface and returned an error value on receiving such a command, resulting in lanadmin(1M) printing the error message 'Unable to clear statistics registers.'. Resolution: The driver has been enhanced to handle the command to clear the statistics on the interface/driver and return a value of 0 to lanadmin(1M) if the command succeeds or a non-zero error value indicating the type of error encountered when the command fails. 2. CR JAGab69093 For broadcast frames received over the PCI FDDI interface, the PCI FDDI driver did not set a bit indicating that the frame was received as a broadcast frame and hence need not be forwarded by the IP module. As a result the IP module would forward the packet received from one interface onto the other interfaces besides passing the packet onto the upper layers for processing. This could repeat as the already forwarded packets comes back in again and again through the PCI FDDI interfaces, resulting in a storm of inbound packets and hence the corresponding responses by upper layers. Resolution: The driver has been modified to set a bit in packets passed up to the IP module indicating that the frame was a broadcast frame. Hence the packets are not forwarded and hence multiple packets are not received again and again on an interface. 3. CR JAGab24412 The PCI FDDI driver was dropping inbound DLPI Type-2 packets. Besides the above defect in the PCI FDDI driver, the lan-common module used to convert canonical MAC addresses to wire format for outbound DLPI Type-2 packets before passing on the packet to the PCI FDDI driver. The PCI FDDI card would also make the above conversion resulting in frames with incorrect MAC addresses being sent out on the wire. Either of the above defects would result in DLPI Type-2 packets being dropped and applications using DLPI Type-2 being unable to connect to their peers. Resolution: Inbound DLPI Type-2 packets are now processed by the PCI FDDI driver and passed up to the required stream. The PCI FDDI driver now register with the lan-common module to indicate that the PCI FDDI card is capable of converting canonical MAC addresses to wire format. Starting with lan-common patches PHNE_21215 (for s700) and PHNE_21216 (for s800) and superseding patches, the lan-common module does not convert MAC addresses if the driver registers with it indicating that the card is capable of doing the address conversion by itself. 4. CR JAGab69929 / SR 8606103307 The PCI FDDI driver did not always send a message up to the network management layers on availability of the FDDI ring (LINK UP) and the unavailability of the FDDI ring (LINK DOWN) during cable disconnects/reconnects and during card resets. Thus the network management entities would not get to know when there was a change in the status of the FDDI ring. Resolution: The PCI FDDI driver has been fixed to send the LINK UP and LINK DOWN events on cable disconnects/reconnects and card resets. 5. CR JAGad00071 / SR 8606130913 PCI FDDI driver did not have the enhancements required to direct packets destined for the SAPs (Service Access Points) used by the Lan Monitor product. Hence the Lan Monitor product would not function as expected. Resolution: The PCI FDDI driver has been enhanced to support SAPs used by the Lan Monitor product. 6. CR JAGad08463 / SR 8606139173 This defect could occur when the PCI FDDI product from the June 2000 application release was installed on a system which had a stream bound to a non-SNAP SAP (i.e. the SAP value is not 0xAA) sending packets destined to itself (loopback) in a sustained manner. When the stream/application was closed, there could be a time window during which there were packets destined for the now closed stream. In order to decide on a valid bound stream for the packet, the driver would attempt to parse unaligned fields in the packets resulting in a 'data memory protection fault' panic. Resolution: The PCI FDDI driver now performs additional validations for non-SNAP packets to avoid accessing unaligned fields in the packet and drops the packet if the stream it was destined for could not be found. PHNE_19541: 1. System hangs due to negative spinlock depth. PHNE_18735: 1. Driver does not loopback outbound packets when in promiscuous mode. Resolution: If the global flag, lanc_outbound_promisc_flag, is set, the driver will loopback outbound packets to an unbound promiscuous stream. 2. The man page for fddipciadmin was not in versions B.10.20.01 or B.10.20.03 of the driver. Resolution: The man page has been added to this patch. 3. Under heavy inbound traffic, the IP receive queue may get full and attempts by the driver to queue the messages onto the queue could fail. These messages were not getting freed, resulting in a system memory leak. Resolution: The driver has been changed to detect such conditions and free the message buffers. 4. Under heavy outbound traffic, the driver may hold a spinlock for a significant amount of time, while it processes all pending transmit completions. Resolution: The driver has been changed to process fewer transmit completions on receiving a transmit completion interrupt, thereby cutting down on time the spinlock is held. PHNE_16361: 1. The data which is sent to the driver from UDP can be in a format which requires additional transmit headers to be prepended. The headers were not properly prepended to the data. SR: 8606139173 8606130913 8606103307 8606104480 4701400804 Patch Files: /usr/conf/lib/libfddi4.a /usr/share/man/man1m.Z/fddipciadmin.1m what(1) Output: /usr/conf/lib/libfddi4.a: PCI FDDI B.10.20.12 PHNE_20875 $Date: 2000/05/25 15: 52:31 $ /usr/share/man/man1m.Z/fddipciadmin.1m: None cksum(1) Output: 2164289756 85448 /usr/conf/lib/libfddi4.a 241060808 4427 /usr/share/man/man1m.Z/fddipciadmin.1m Patch Conflicts: None Patch Dependencies: s700: 10.20: PHNE_21215 s800: 10.20: PHNE_21216 Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_16361 PHNE_18735 PHNE_19541 Equivalent Patches: None Patch Package Size: 150 KBytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHNE_20875 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHNE_20875.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHNE_20875. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. WARNING: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHNE_20875.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHNE_20875.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None