Patch Name: PHNE_20536 Patch Description: s700_800 11.00 HP-PB Token Ring Cumulative Patch Creation Date: 00/06/16 Post Date: 00/08/17 Hardware Platforms - OS Releases: s700: 11.00 s800: 11.00 Products: TOKEN-HPPB-KRN B.11.00.00 B.11.00.01 B.11.00.02 B.11.00.05 B.11.00.06 TOKEN-FORMAT-RUN B.11.00.00 B.11.00.01 B.11.00.02 B.11.00.05 B.11.00.06 TOKEN-INIT-COM B.11.00.00 B.11.00.01 B.11.00.02 B.11.00.05 B.11.00.06 Filesets: TOKEN-HPPB-KRN.TOKEN2-KRN64,fr=B.11.00.00,fa=HP-UX_B.11.00_64,v=HP TOKEN-HPPB-KRN.TOKEN2-KRN64,fr=B.11.00.01,fa=HP-UX_B.11.00_64,v=HP TOKEN-HPPB-KRN.TOKEN2-KRN64,fr=B.11.00.02,fa=HP-UX_B.11.00_64,v=HP TOKEN-HPPB-KRN.TOKEN2-KRN64,fr=B.11.00.05,fa=HP-UX_B.11.00_64,v=HP TOKEN-HPPB-KRN.TOKEN2-KRN64,fr=B.11.00.06,fa=HP-UX_B.11.00_64,v=HP TOKEN-HPPB-KRN.TOKEN2-KRN32,fr=B.11.00.00,fa=HP-UX_B.11.00_32,v=HP TOKEN-HPPB-KRN.TOKEN2-KRN32,fr=B.11.00.01,fa=HP-UX_B.11.00_32,v=HP TOKEN-HPPB-KRN.TOKEN2-KRN32,fr=B.11.00.02,fa=HP-UX_B.11.00_32,v=HP TOKEN-HPPB-KRN.TOKEN2-KRN32,fr=B.11.00.05,fa=HP-UX_B.11.00_32,v=HP TOKEN-HPPB-KRN.TOKEN2-KRN32,fr=B.11.00.06,fa=HP-UX_B.11.00_32,v=HP TOKEN-FORMAT-RUN.TOKEN-FORMAT,fr=B.11.00.00,fa=HP-UX_B.11.00_32/64,v=HP TOKEN-FORMAT-RUN.TOKEN-FORMAT,fr=B.11.00.01,fa=HP-UX_B.11.00_32/64,v=HP TOKEN-FORMAT-RUN.TOKEN-FORMAT,fr=B.11.00.02,fa=HP-UX_B.11.00_32/64,v=HP TOKEN-FORMAT-RUN.TOKEN-FORMAT,fr=B.11.00.05,fa=HP-UX_B.11.00_32/64,v=HP TOKEN-FORMAT-RUN.TOKEN-FORMAT,fr=B.11.00.06,fa=HP-UX_B.11.00_32/64,v=HP TOKEN-INIT-COM.TOKEN-INIT,fr=B.11.00.00,fa=HP-UX_B.11.00_32/64,v=HP TOKEN-INIT-COM.TOKEN-INIT,fr=B.11.00.01,fa=HP-UX_B.11.00_32/64,v=HP TOKEN-INIT-COM.TOKEN-INIT,fr=B.11.00.02,fa=HP-UX_B.11.00_32/64,v=HP TOKEN-INIT-COM.TOKEN-INIT,fr=B.11.00.05,fa=HP-UX_B.11.00_32/64,v=HP TOKEN-INIT-COM.TOKEN-INIT,fr=B.11.00.06,fa=HP-UX_B.11.00_32/64,v=HP Automatic Reboot?: Yes Status: General Release Critical: Yes PHNE_20536: PANIC HANG OTHER Symptom 1 may cause system hang or panic. As per symptom 2 the system may show too many outbound discards/ errors. PHNE_18922: PANIC PHNE_17355: PANIC HANG The Symptom 1 can cause the system hang. The Symptom 3 and 4 can cause system panics. PHNE_15000: OTHER The IP multicast functionality will not work. Category Tags: defect_repair enhancement general_release critical panic halts_system Path Name: /hp-ux_patches/s700_800/11.X/PHNE_20536 Symptoms: PHNE_20536: 1. CR JAGab71618,JAGab50694,JAGab82877 / SR 8606104232,8606101464,8606110174: I/O slowdown due to HPPB Token Ring driver absorbing a a large number of IOVRs. 2. CR JAGab81734,JAGab17172 / SR 8606109033: The HPPB Token Ring Driver may show too many outbound errors/ discards. 3. CR JAGad00656 / SR 8606131506: NIO token ring fails to rebind ip after cable reconnect. PHNE_18922: 1. Data page fault panic when HP-PB Token Ring is present in the system. PHNE_17355: 1. HP-PB Token Ring card can go to hang state. When this happens following message error will be logged in the /var/adm/syslog/syslog.log file: "vmunix: token2: error on dma input rs=5 ce_status= 0xa8140". 2. CISCO HSRP addresses cannot be reached. 3. User may experience a panic when the system is heavily loaded and having the low memory. 4. Data page fault panic in HP-PB Token Ring Driver. 5. HP-PB Token Ring driver shows the wrong value for "Operational Status" MIB object. 6. When HP-PB Token Ring card is used with the Token Ring cards supporting 4500 MTU size, the network may hang. 7. SAM gives following error when configuring HP-PB Token Ring card: mknod: illegal number usage: mknod name b|c major minor mknod name p PHNE_15000: 1. The IP multicast feature does not work. Defect Description: PHNE_20536: 1. CR JAGab71618,JAGab50694,JAGab82877 / SR 8606104232,8606101464,8606110174: HPPB Token Ring driver was exhausting available IOVRs resulting into unavailibility of IOVRs for use and thus causing slow I/O or hang. This happens as many small mblks are being transferred down from the TCP/ IP layers. Resolution: An additional check has been introduced to find if the number of mblks per frame coming to driver are more than 8 and compress them if greater than 8, hence eliminating the need for multiple mblks and IOVRs for mapping them. 2. CR JAGab81734,JAGab17172 / SR 8606109033: One of the internal driver data structure has insufficient no. of entries, causing the driver to drop outbound packets. Resolution: The fix is to increase the number of entries in this data structure. 3. CR JAGad00656 / SR 8606131506: The driver sends LINKUP and then goes through a reset cycle which can take as much as 35 seconds on cable reconnect. Since the application finds that the link is up it sends bind requests however they fail as the driver is still in reset state. Resolution: The fix is to send LINKUP only after reset completion. PHNE_18922: 1. HP-PB Token Ring driver does not validate memory range of a data structure before writing to it. This leads to memory corruption and the system may panic. Resolution: Memory corruption and subsequent panic are prevented by performing range check before accessing the data structure. PHNE_17355: 1. A bug in the firmware can expose a situation where in, the firmware sends the inbound frames with the size larger than the configured MTU. But the driver does not provide enough buffers for DMA. So, the DMA hardware gives an error which will cause the card and driver to go to fatal error state. Resolution: The driver now drops the packets which arrive with the larger size. This prevents the card and the driver to go into fatal error state. Indication about the drop is logged in the NetTL log file. 2. HP-PB Token Ring driver treats all the functional addresses as the multicast functional addresses. This causes a concern, if any system uses functional addresses as the primary source addresses. Resolution: The driver now checks for only IP multicast functional addresses and converts only those to general multicast functional addresses. Other functional addresses are used without any transformation. 3. HP-PB Token Ring driver re-uses a buffer chain even after it has been free'd. Due to this, initially the card will appear to hang (no outbound is performed) and when user tries to reset the hung interface card using "lanadmin" command, system will panic due to wrong memory access. Resolution: More robust checks have been put in and proper cleanup is done whenever memory freed. 4. Due to HP-PB Token Ring driver writing to a wrong memory address, the system may panic at times. Resolution: The driver now validates the address range before using the memory address. 5. HP-PB Token Ring driver does not set the "Operational Status" MIB object to "UP" after the successful initialization of the driver/interface card. This leaves the value of this object always to "DOWN" state even if the card is functional. Resolution: The driver now marks the "Operational Status" as UP when driver initialization is successfully completed. 6. Since the maximum MTU size for HP-PB Token Ring card is 4170, it will ignore incoming packets of size more than 4170. Some vendor cards support 4500 as maximum MTU. Hence the maximum MTU size for HP-PB Token ring card has to be increased. Resolution: The maximum MTU size for HP-PB Token Ring card has been increased to standard 4500. But the default MTU is set to 4170. User may increase this, using "lanadmin" command, up to 4500 if required. 7. Incorrect syntax usage for a shell command in the product initialization script, "/usr/sbin/hptoken_init", was causing this problem. Resolution: The initialization script has been modified to use the correct syntax for the shell command. PHNE_15000: 1. In the token2_hw_req(), the code to swap the mac address before setting the destination address to the functional address is not needed, since the driver gets the bits in the right format from the upper layer. SR: 8606104232 8606101464 8606110174 8606109033 8606131506 1653285932 5003427484 Patch Files: TOKEN-HPPB-KRN.TOKEN2-KRN64,fr=B.11.00.00, fa=HP-UX_B.11.00_64,v=HP: TOKEN-HPPB-KRN.TOKEN2-KRN64,fr=B.11.00.01, fa=HP-UX_B.11.00_64,v=HP: TOKEN-HPPB-KRN.TOKEN2-KRN64,fr=B.11.00.02, fa=HP-UX_B.11.00_64,v=HP: TOKEN-HPPB-KRN.TOKEN2-KRN64,fr=B.11.00.05, fa=HP-UX_B.11.00_64,v=HP: TOKEN-HPPB-KRN.TOKEN2-KRN64,fr=B.11.00.06, fa=HP-UX_B.11.00_64,v=HP: /usr/conf/lib/libtoken2.a TOKEN-HPPB-KRN.TOKEN2-KRN32,fr=B.11.00.00, fa=HP-UX_B.11.00_32,v=HP: TOKEN-HPPB-KRN.TOKEN2-KRN32,fr=B.11.00.01, fa=HP-UX_B.11.00_32,v=HP: TOKEN-HPPB-KRN.TOKEN2-KRN32,fr=B.11.00.02, fa=HP-UX_B.11.00_32,v=HP: TOKEN-HPPB-KRN.TOKEN2-KRN32,fr=B.11.00.05, fa=HP-UX_B.11.00_32,v=HP: TOKEN-HPPB-KRN.TOKEN2-KRN32,fr=B.11.00.06, fa=HP-UX_B.11.00_32,v=HP: /usr/conf/lib/libtoken2.a TOKEN-FORMAT-RUN.TOKEN-FORMAT,fr=B.11.00.00, fa=HP-UX_B.11.00_32/64,v=HP: TOKEN-FORMAT-RUN.TOKEN-FORMAT,fr=B.11.00.01, fa=HP-UX_B.11.00_32/64,v=HP: TOKEN-FORMAT-RUN.TOKEN-FORMAT,fr=B.11.00.02, fa=HP-UX_B.11.00_32/64,v=HP: TOKEN-FORMAT-RUN.TOKEN-FORMAT,fr=B.11.00.05, fa=HP-UX_B.11.00_32/64,v=HP: TOKEN-FORMAT-RUN.TOKEN-FORMAT,fr=B.11.00.06, fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/libfmtTOKEN.sl /usr/lib/nls/msg/C/fmtTOKEN.cat TOKEN-INIT-COM.TOKEN-INIT,fr=B.11.00.00, fa=HP-UX_B.11.00_32/64,v=HP: TOKEN-INIT-COM.TOKEN-INIT,fr=B.11.00.01, fa=HP-UX_B.11.00_32/64,v=HP: TOKEN-INIT-COM.TOKEN-INIT,fr=B.11.00.02, fa=HP-UX_B.11.00_32/64,v=HP: TOKEN-INIT-COM.TOKEN-INIT,fr=B.11.00.05, fa=HP-UX_B.11.00_32/64,v=HP: TOKEN-INIT-COM.TOKEN-INIT,fr=B.11.00.06, fa=HP-UX_B.11.00_32/64,v=HP: /usr/sbin/hptoken_init what(1) Output: TOKEN-HPPB-KRN.TOKEN2-KRN64,fr=B.11.00.00, fa=HP-UX_B.11.00_64,v=HP: /usr/conf/lib/libtoken2.a: token2.c: PHNE_20536 Jun 12 2000 15:47:30 FILESET TOKEN2: lib token2: Version: B.11.00.06 TOKEN-HPPB-KRN.TOKEN2-KRN32,fr=B.11.00.00, fa=HP-UX_B.11.00_32,v=HP: /usr/conf/lib/libtoken2.a: token2.c: PHNE_20536 Jun 12 2000 15:09:39 FILESET TOKEN2: lib token2: Version: B.11.00.06 TOKEN-FORMAT-RUN.TOKEN-FORMAT,fr=B.11.00.00, fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/libfmtTOKEN.sl: TOKEN: PHNE_17355 : Version: B.11.00.03 /usr/lib/nls/msg/C/fmtTOKEN.cat: None TOKEN-INIT-COM.TOKEN-INIT,fr=B.11.00.00, fa=HP-UX_B.11.00_32/64,v=HP: /usr/sbin/hptoken_init: hptoken_init PHNE_17355 $Revision: 1.1.10.2 $ $Date : 95/03/08 12:00:00 $ cksum(1) Output: TOKEN-HPPB-KRN.TOKEN2-KRN64,fr=B.11.00.00, fa=HP-UX_B.11.00_64,v=HP: 2187798606 322754 /usr/conf/lib/libtoken2.a TOKEN-HPPB-KRN.TOKEN2-KRN32,fr=B.11.00.00, fa=HP-UX_B.11.00_32,v=HP: 3594180102 244244 /usr/conf/lib/libtoken2.a TOKEN-FORMAT-RUN.TOKEN-FORMAT,fr=B.11.00.00, fa=HP-UX_B.11.00_32/64,v=HP: 485581798 12288 /usr/lib/libfmtTOKEN.sl 854883817 20885 /usr/lib/nls/msg/C/fmtTOKEN.cat TOKEN-INIT-COM.TOKEN-INIT,fr=B.11.00.00, fa=HP-UX_B.11.00_32/64,v=HP: 2464515223 11412 /usr/sbin/hptoken_init Patch Conflicts: None Patch Dependencies: s700: 11.00: PHNE_14370 s800: 11.00: PHNE_14370 Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_15000 PHNE_17355 PHNE_18922 Equivalent Patches: None Patch Package Size: 640 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_20536 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHNE_20536.depot By default swinstall will archive the original software in /var/adm/sw/save/PHNE_20536. If you do not wish to retain a copy of the original software, use the patch_save_files option: swinstall -x autoreboot=true -x patch_match_target=true \ -x patch_save_files=false -s /tmp/PHNE_20536.depot WARNING: If patch_save_files is false when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. For future reference, the contents of the PHNE_20536.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHNE_20536.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHNE_20536.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None