Patch Name: PHNE_15665 Patch Description: s700_800 10.20 EISA FDDI B.10.20.0[1-4] Cumulative patch Creation Date: 98/07/16 Post Date: 98/08/10 Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: EISA FDDI B.10.20.01 B.10.20.02 B.10.20.03 B.10.20.04 Filesets: FDDI-EISA.FDDI0-KRN,B.10.20.01 FDDI-EISA.FDDI0-KRN,B.10.20.02 FDDI-EISA.FDDI0-KRN,B.10.20.03 FDDI-EISA.FDDI0-KRN,B.10.20.04 FDDI-EISA.FDDI0-RUN,B.10.20.01 FDDI-EISA.FDDI0-RUN,B.10.20.02 FDDI-EISA.FDDI0-RUN,B.10.20.03 FDDI-EISA.FDDI0-RUN,B.10.20.04 FDDI-CMD-COM.FDDI-CMD,B.10.20.01 FDDI-CMD-COM.FDDI-CMD,B.10.20.02 FDDI-CMD-COM.FDDI-CMD,B.10.20.03 FDDI-CMD-COM.FDDI-CMD,B.10.20.04 Automatic Reboot?: Yes Status: General Superseded Critical: Yes PHNE_15665: OTHER Card hang. PHNE_14791: PANIC PHNE_14077: MEMORY_LEAK OTHER Card hang. PHNE_12974: CORRUPTION PHNE_12973: CORRUPTION PHNE_11708: CORRUPTION It has a fix for data corruption, a reset panic, a bootup panic, a hang and transmit underruns. PHNE_11707: CORRUPTION It has a fix for data corruption, a reset panic, a bootup panic, a hang and transmit underruns. PHNE_10818: PANIC If there is FDDI traffic destined for a host while it is booting up, the host may panic. Path Name: /hp-ux_patches/s700_800/10.X/PHNE_15665 Symptoms: PHNE_15665: 1. The EISA FDDI interface may hang after logging the message "Waited for stat2_ine4 but it never came" to syslog. 2. When an attempt is made to change the MAC address of the card using lanadmin(1M), the link becomes unusable for up to 10 seconds and the MAC address remains unchanged. 3. DLPI applications that use hierarchical sub-binding to SNAP SAPs other than IP or ARP may sometimes receive packets not meant for them from the EISA FDDI link. PHNE_14791: 1. linkloop(1M) over EISA FDDI may panic the system it is run on. PHNE_14077: 1. Under heavy load, the EISA FDDI card may hang (will not receive or send data). 2. When multicast packets are received on the EISA FDDI link, memory leaks occur in the driver. The system eventually runs out of free memory. 3. Applications cannot send or receive multicast packets over EISA FDDI. 4. Under certain conditions, too many informative driver messages are logged to syslog, causing it to overflow. 5. The fddiif utility sometimes reports negative numbers in the statistics. 6. When the locale is set and lanadmin(1M) is used in the interactive mode, after a certain number of commands, the following error message is displayed: Cannot open shared library ... PHNE_12974: 1. Inbound data corruption is seen on non-cache-coherent systems when UDP checksum is turned off. This problem is observed readily on D200/D210 systems with EISA FDDI. 2. Inability to bind SNAP SAPs through DLPI. 3. Underrun on transmission of every frame larger than 3000 bytes when EISA SCSI is present. PHNE_12973: 1. Inbound data corruption is seen on non-cache-coherent systems when UDP checksum is turned off. This problem is observed readily on D200/D210 systems with EISA FDDI. 2. Inability to bind SNAP SAPs through DLPI. 3. Underrun on transmission of every frame larger than 3000 bytes when EISA SCSI is present. PHNE_11708: 1. Data written from non-coherent NFS clients gets badly corrupted when UDP checksumming is turned off. With UDP checksumming turned on, data transfer rate is very slow. 2. EISA FDDI interface hangs when EISA bus is stressed. 3. lanadmin(1M) reset panics sometimes; hangs at times. 4. Transmit underruns occur when the EISA bus is loaded. PHNE_11707: 1. Data written from non-coherent NFS clients gets badly corrupted when UDP checksumming is turned off. With UDP checksumming turned on, data transfer rate is very slow. 2. EISA FDDI interface hangs when EISA bus is stressed. 3. lanadmin(1M) reset panics sometimes; hangs at times. 4. Transmit underruns occur when the EISA bus is loaded. PHNE_10818: 1. ServiceGuard fails to startup with EISA FDDI Application Release of March 1997. 2. If there is EISA FDDI traffic destined for a host while it is booting up, the host may panic. 3. EISA FDDI card reset using lanadmin hangs at times. Defect Description: PHNE_15665: 1. A software reset mechanism was introduced in the EISA FDDI driver to work around hardware defects in the Motorola FDDI System Interface (FSI) chip. This mechanism did not detect all the circumstances under which the card had to be reset. 2. The MAC address of the card cannot be changed. Users were not prevented from attempting to do this. 3. The driver forwarded SNAP packets that were neither IP nor ARP to all applications registered with SNAP SAPs other than IP or ARP. PHNE_14791: 1. The EISA FDDI driver assumed that MAC addresses were 16-bit aligned. This assumption is incorrect for linkloop packets. PHNE_14077: 1. A defect in the Motorola FSI chip causes the card to hang under heavy load. 2. The driver relies on upper layers of the networking stack to free the memory allocated for the packets that are received. When multicast packets are received, they are not sent to the upper layers and consequently the memory allocated is not freed. 3. When checking for multicast packets (while sending or receiving data) the driver erroneously assumes that the link-level multicast address is in canonical format, while, in reality, the address is in wire format. 4. SMT and other informative messages are incorrectly sent to syslog instead of the NetTL log by the EISA FDDI driver. 5. Though the statistics are maintained as unsigned integers by the driver, fddiif displays them as signed values. 6. The EISA FDDI lanadmin(1M) shared library does not close the catalog file after using it. PHNE_12974: 1. A missing cache purge at the time the receive buffer is set up causes stale data to appear in the received packet. The stale data starts at cache line boundaries and can run to multiples of the cache line size. 2. Incorrect coding of the protocol binding functionality makes the driver think the protocol has been bound already. 3. When EISA SCSI is present, system firmware automatically disables BCLK stretching resulting in a slight slowdown of the EISA bus. This, coupled with the limited bandwidth of the EISA bus, restricts the ability of the EISA FDDI card to DMA the packet at the rate needed by the FDDI network. The EISA FDDI card, by default, sets its transmit FIFO watermark to 2 KB, which means that it starts transmission on the FDDI network after it has got 2 KB of data in its FIFO. This patch increases the watermark to the FDDI MTU (4352 bytes). PHNE_12973: 1. A missing cache purge at the time the receive buffer is set up causes stale data to appear in the received packet. The stale data starts at cache line boundaries and can run to multiples of the cache line size. 2. Incorrect coding of the protocol binding functionality makes the driver think the protocol has been bound already. 3. When EISA SCSI is present, system firmware automatically disables BCLK stretching resulting in a slight slowdown of the EISA bus. This, coupled with the limited bandwidth of the EISA bus, restricts the ability of the EISA FDDI card to DMA the packet at the rate needed by the FDDI network. The EISA FDDI card, by default, sets its transmit FIFO watermark to 2 KB, which means that it starts transmission on the FDDI network after it has got 2 KB of data in its FIFO. This patch increases the watermark to the FDDI MTU (4352 bytes). PHNE_11708: 1. Open GL requires that drivers do not assume that the data buffers they handle will be in Space ID 0. As NFS passes down buffers with non-zero space ID to the driver, cache flushes performed assuming space ID 0, result in the intended data not being flushed. 2. FDDI interface goes into CB running state under stress testing. 3. In reset sequence, freeing an already freed mbuf panics the system. 4. Under heavy load, the EISA bus is not able to supply outbound data at the rate expected by the FDDI link, thus requiring packets to be cached in on-board memory before sending on the wire. PHNE_11707: 1. Open GL requires that drivers do not assume that the data buffers they handle will be in space ID 0. As NFS passes down buffers with non-zero space ID to the driver, cache flushes performed assuming space ID 0 result in the intended data not being flushed. 2. FDDI interface goes into CB running state under stress testing. 3. In the reset sequence, freeing an already freed mbuf panics the system. Also, driver support for the card reset operation was not adequate. 4. Under heavy load, the EISA bus is not able to supply outbound data at the rate expected by the FDDI link, thus requiring packets to be cached in on-board memory before sending on the wire. 5. ServiceGuard requires the first word in the mib.ifDescr field to be the interface name and unit number, e.g., lan0. Unfortunately, EISA FDDI in the Application Release of March 1997 replaced the word with fddi0. ServiceGuard attempted to find an interface named fddi0 and failed. 6. Interrupts are enabled and the inbound path is initialized in the driver before IP initializes the ipintrq. If there is traffic destined for the host on the EISA FDDI interface before IP gets a chance to initialize ipintrq, the interrupt service routine in the driver attempts to lock the ipintrq and enqueue the packet and this results in a panic. The solution is to discard IP/ARP packets unless the interface is configured up (IFF_UP is set). PHNE_10818: 1. ServiceGuard requires the first word in the mib.ifDescr field to be the interface name and unit number, e.g., lan0. Unfortunately, EISA FDDI in the Application Release of March 1997 replaced the word with fddi0. ServiceGuard attempted to find an interface named fddi0 and failed. 2. Interrupts are enabled and the inbound path is initialized in the driver before IP initializes the ipintrq. If there is traffic destined for the host on the EISA FDDI interface before IP gets a chance to initialize ipintrq, the interrupt service routine in the driver attempts to lock the ipintrq and enqueue the packet and this results in a panic. The solution is to discard IP/ARP packets unless the interface is configured up (IFF_UP is set). 3. Driver support for card reset operation was not adequate. SR: 5003418723 1653266965 1653266973 1653243592 1653248484 5003394668 5003413955 5003375485 1653233015 1653228262 1653223008 4701349886 4701343954 Patch Files: /usr/conf/lib/libfddi0.a /usr/conf/lib/fddi0_header.o /usr/conf/master.d/fddi0 /usr/lib/lanadmin/libdsfddi0.1 /usr/lib/lanscan/libpefddi0.1 /usr/lib/libfddifmt0.1 /usr/lib/nls/msg/C/fddi0.cat /usr/bin/fddiif /usr/bin/fddilink /usr/bin/fddidump /sbin/init.d/eisafddi what(1) Output: /usr/conf/lib/libfddi0.a: EISA FDDI fddi0 libfddi0 B.10.20.05 PHNE_15665 $Date : 98/07/29 16:04:05 $ /usr/conf/lib/fddi0_header.o: None /usr/conf/master.d/fddi0: None /usr/lib/lanadmin/libdsfddi0.1: libdsfddi0.1 EISA FDDI B.10.20.04 $Date: 98/04/21 02 :07:03 $ /usr/lib/lanscan/libpefddi0.1: libpefddi0.1 EISA FDDI B.10.20.04 $Date: 98/04/21 02 :09:45 $ /usr/lib/libfddifmt0.1: libfddifmt0.1 EISA FDDI B.10.20.05 PHNE_15665 $Date: 98/07/16 16:48:57 $ /usr/lib/nls/msg/C/fddi0.cat: None /usr/bin/fddiif: fddiif EISA/HSC FDDI B.10.20.05 PHNE_15665/6 $Date: 98/07/08 16:11:07 $ /usr/bin/fddilink: fddilink EISA/HSC FDDI B.10.20.05 PHNE_15665/6 $Date : 98/07/25 04:23:26 $ /usr/bin/fddidump: fddidump EISA/HSC FDDI B.10.20.05 PHNE_15665/6 $Date : 98/07/25 04:25:37 $ /sbin/init.d/eisafddi: None cksum(1) Output: 1719332232 78712 /usr/conf/lib/libfddi0.a 1660192802 223912 /usr/conf/lib/fddi0_header.o 3782332780 3765 /usr/conf/master.d/fddi0 432418274 16384 /usr/lib/lanadmin/libdsfddi0.1 1928944525 12288 /usr/lib/lanscan/libpefddi0.1 65124855 20480 /usr/lib/libfddifmt0.1 3034189258 6740 /usr/lib/nls/msg/C/fddi0.cat 3724767773 20480 /usr/bin/fddiif 1537338235 65536 /usr/bin/fddilink 3140097786 20480 /usr/bin/fddidump 1618315512 808 /sbin/init.d/eisafddi Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_10818 PHNE_11707 PHNE_11708 PHNE_12973 PHNE_12974 PHNE_14077 PHNE_14791 Equivalent Patches: None Patch Package Size: 530 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_15665 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHNE_15665.depot 5b. For a homogeneous NFS Diskless cluster run swcluster on the server to install the patch on the server and the clients: swcluster -i -b This will invoke swcluster in the interactive mode and force all clients to be shut down. WARNING: All cluster clients must be shut down prior to the patch installation. Installing the patch while the clients are booted is unsupported and can lead to serious problems. The swcluster command will invoke an swinstall session in which you must specify: alternate root path - default is /export/shared_root/OS_700 source depot path - /tmp/PHNE_15665.depot To complete the installation, select the patch by choosing "Actions -> Match What Target Has" and then "Actions -> Install" from the Menubar. 5c. For a heterogeneous NFS Diskless cluster: - run swinstall on the server as in step 5a to install the patch on the cluster server. - run swcluster on the server as in step 5b to install the patch on the cluster clients. By default swinstall will archive the original software in /var/adm/sw/patch/PHNE_15665. 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_15665.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_15665.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: If any of the versions B.10.20.01 through B.10.20.04 of the HSC FDDI product is installed on the system, PHNE_15666 should also be installed for the common utilities fddiif, fddidump and fddilink to work over both the links.