Patch Name: PHNE_12755 Patch Description: s700 10.01 LAN products cumulative patch Creation Date: 97/09/30 Post Date: 97/10/23 Warning: 97/11/19 - This Non-Critical Warning has been issued by HP. - After PHNE_12755 is installed the kernel will fail to build. The kernel build failure will report the following errors: Loading the kernel... /usr/ccs/bin/ld: Unsatisfied symbols: putf (code) schednetisrsq (code) spu_kmemlock (data) kt_wchan (code) *** Error exit code 1 - The problem is due to incorrect object modules in the liblan.a library. - Patch PHNE_12755 should be removed from any system on which it has been installed. - Patch PHNE_10723 will be re-released until a replacement patch is available. Hardware Platforms - OS Releases: s700: 10.01 Products: N/A Filesets: Networking.LAN-KRN,B.10.01.00 Networking.LAN-RUN,B.10.01.00 Automatic Reboot?: Yes Status: General Release With Warnings Critical: Yes PHNE_12755: OTHER The first fix allow inbound FDDI packet with certain MAC address to be accepted by DLPI. The second fix allows DLPI applications to receive control responses correctly even though another DLPI application is closing its stream. PHNE_10723: PANIC Due to the incorrect setting of curr_state in hp_dlpi_data_t structure, a T2 connection was not closed properly and it caused system panic. PHNE_5579: HANG PANIC System shuts itself down (and hangs) if EISA LAN is not properly terminated on a 800 system. LLC type 2 panics the system. Path Name: /hp-ux_patches/s700/10.X/PHNE_12755 Symptoms: PHNE_12755: 1. Inbound data is dropped for certain FDDI, individual, MAC address. The msb of the MAC address is checked incorrectly when received by DLPI. 2. Application will hang due to two applications accessing the dlpi_wakeup_list at same time. Such as lanadmin will hang while waiting for reception of dlpi control response if other dlpi stream is closing. 3. Application will hang if ioctl uses DL_HP_GET_MCAST_LIST we need to copy the multicast array from ext_mcast_list instead of from lanift if DRV_IP_MULTICAST is set. 4. If the promiscous mode application does a close in the window between setting of lan_ift->promiscuous_filter and hp_dlpi_datap->promiscuous_flg, promiscous mode will not be disabled which causes a panic when processing the next inbound packet. 5. Wrong ifOper status from lanadmin for Core Lan Card. 6. lanadmin displays '%s' in its output instead of actual command 7. lanadmin fails after sufficient changing of nmid/display commands. PHNE_10723: 1. On MP systems, core LAN transmit shows momentary silence. 2. An inconsistency in reporting SNAP information for Ethernet and all other interfaces supported by DLPI. 3. System panics in streams_put() routine. 4. lanadmin- Once the MAC address is changed, NIO FDDI card needs to be reset. - Following a card reset, NIO FDDI firmware needs to be downloaded. PHNE_6527: 1. T2 over token ring breaks with source routing. 2. Lasi LAN underrun and overrun under heavy MUX traffic. PHNE_6336: 1. T2 DISC request does not set poll bit. 2. T2 inactivity timer not implemented. 3. Removed unnecessary lan2 informative message "lan2: Informative: SCB: ". PHNE_5885: The following symptoms correspond to the descriptions in the defect descriptions fields for PHNE_5885: 1. Fixed problem with DL_INFO_REQ returning the wrong mac type when running type 2 over Token Ring. 2. Changed 4096 mtu limit over token ring to it's correct value of 4170. 3. Added the following changes to the lan2 driver to help minimize problems found with GSC bus utilization. -Added retry code for outbound dma transmit commands. Whenever the driver recognizes an underrun condition it will retry the dma transmit command. -Modified the fifo threshold values to always be aggressive. PHNE_5579: 1. linkloop errors on FDDI links. 2. lanscan incorrectly displays short station addresses. 3. linkloop fails to operate over Fibre channel links. 4. LLA fails to support 0x1010 SAPs. 5. LLC Type 2 panics over Token Ring. 6. Errors with 3rd party X.25 software (BINTEC) over LLC type 2. Sending I packets as responses rather than responses. 7. Fixed source routing bug in LLC type2. This caused local saps to change when receiving packets with source routing info. 8. System shuts itself down if EISA LAN is not terminated. Defect Description: PHNE_12755: 1. The checking of inbound packet was in wire format and should be in canonical format in hp_dlpi_intr_put() function. 2. The hp_dlpi_delete_wakeup(), if called by hp_dlpi_close(), will remove every entry in dlpi_wakeup_list. For those applications that are waiting for the response of control requests will not receive the response. In this case, the application will appear to hang. 3. For multicast IP, the multicast list array is stored in ext_mcast_list. Here the wrong value was being returned from ioctl: DL_HP_MCAST_LIST because it was trying to access the list from lanift, which should be getting the list from ext_mcast_list. 4. If the promiscous mode application does a close in the window between setting of lan_ift->promiscous_filter and hp_dlpi_datap->promiscous_flg, promiscous mode will not be disabled which causes a panic when processing the next inbound packet. 5. The sequence of setting IFF_UP flag in lan2_ift_ptr->lancift.is_if.if_flag and sending NMV_LINKUP event is wrong in lan2 driver. Due to which dlpi does not update ifOper status properly. 6. Wrong syntax in calling printf was causing this problem. 7. dsname() function in lanadmin opens catlog file using catopen() but does not close the same on return. Hence if dsname() is called for sufficiently large number of times, number of open files will cross maxfiles limit (60) causing a failure in the next catopen(). PHNE_10723: 1. On MP systems, a window exists in core LAN ISR routine. A CPU can insert an outbound packet while ISR is running by another CPU. In that window, a newly inserted packet goes into the waited queue. It stays there until an other interrupt comes in. 2. Ethernet reports the SNAP information as part of the dst_addr_length and not the src_addr_length. All other interfaces report SNAP as part of the src_addr_length and not the dst_addr_length. 3. DLPI did not update curr_state correctly if user sent an ioctl or control request after DL_BIND had been done. Due to the incorrect curr_state, hp_dlpi_close won't send unbind request to T2 to remove protocol log from token2 before finishing close. Therefore, token2 still sent an incoming message to a closed streams and system panics. 4. lanadmin- did not call the device reset routine, to reset the card after MAC address is changed. - did not call the device specific function, following a card reset. PHNE_6527: 1. fixed t2_dlpi_fill_hdr so that the llc information is not overwritten when source routing is used. 2. The throttle timer limits Lasi LAN the access to the bus. Turn off the throttle timer on Hawk systems to allow more time for Lasi LAN to do its things. PHNE_6336: 1. Modified T2 DISC request to always set the poll bit. 2. Implemented workaround for T2 inactivity timer. PHNE_5885: The following defect descriptions are for PHNE_5885: 1. Fixed problem with DL_INFO_REQ returning wrong mac type when running over type 2. 2. Incorrectly limited token ring mtu to 4096, should be 4170. 3. Because the GSC bus does not guarantee any fairness the LASI LAN can be delayed access to GSC for long periods of time. This results in severe underrun and overrun conditions which cause LAN performance to drop tremendously. PHNE_5579: 1. Linkloop fails to initialize length values in FDDI test packets. 2. Lanscan assumes all station addresses to be 6 bytes in length. 3. Linkloop did not have options for Fibre Channel links. 4. LLA code used incorrect "<=" operator to check for 0x1010 boundary. 5. Race problem in LLC type 2 code with resources during disconnect. 6. Error in LLC type2 sending I packets responses rather than commands. 7. Fixed source routing bug in LLC type2. This caused local saps to change when receiving packets with source routing info. 8. EISA LAN hardware behaves inconsistently when it is not terminated, causing driver to reset the lan chip while the chip is executing a command. SR: 5003375949 5003254151 4701292672 5003251215 5003286641 5003296871 Patch Files: /usr/conf/lib/liblan.a /usr/sbin/lanadmin /usr/lib/lanadmin/libdslan2.1 /usr/lib/lanadmin/libdslan3.1 /usr/sbin/lanscan /usr/sbin/linkloop what(1) Output: /usr/conf/lib/liblan.a: lan_t2.c: $Revision: 1.2.101.3 $ PHNE_6527/PHNE_6528 $ lan_dlpi.c: $Revision: 1.2.101.12 $ $ FILESET LAN: lib lan: Version: A.10.00 lan2.c $Revision: 1.6.101.12 PHNE_10723(700)/PHNE_10 724(800) $Date: 97/04/15$ /usr/sbin/lanadmin: LAN: Version: A.10.00 $Date: 95/08/04 12:00:00 $ /usr/lib/lanadmin/libdslan2.1: dslan2.c: $Revision: 1.3.111.2 $ $Date: 97/10/01 05: 36:08 $ B.10.01 PHNE_12755(700)/PHNE_12756(8 00) /usr/lib/lanadmin/libdslan3.1: dslan2.c: $Revision: 1.3.111.2 $ $Date: 97/10/01 05: 36:21 $ B.10.01 PHNE_12755(700)/PHNE_12756(8 00) /usr/sbin/lanscan: LAN: Version: A.10.00 $Date: 95/08/04 12:00:00 $ libvmmap.a $Revision: 72.2 $ /usr/sbin/linkloop: LAN: Version: A.10.00 $Date: 95/08/04 12:00:00 $ cksum(1) Output: 2389340484 252076 /usr/conf/lib/liblan.a 2493328147 53248 /usr/sbin/lanadmin 390237132 16384 /usr/lib/lanadmin/libdslan2.1 2925641494 16384 /usr/lib/lanadmin/libdslan3.1 3130577836 40960 /usr/sbin/linkloop 1018075975 45056 /usr/sbin/lanscan Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_5579 PHNE_5885 PHNE_6336 PHNE_6527 PHNE_10723 Equivalent Patches: PHNE_12756: s800: 10.01 Patch Package Size: 480 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_12755 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHNE_12755.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_12755.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_12755. 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_12755.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_12755.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None