Patch Name: PHNE_29947 Patch Description: s700_800 11.11 IETHER 1000Base-SX/T B.11.11.0[4-5] patch Creation Date: 04/04/05 Post Date: 04/04/26 Hardware Platforms - OS Releases: s700: 11.11 s800: 11.11 Products: HP PCI Gigabit Ethernet Driver IETHER B.11.11.04 B.11.11.05 Filesets: IETHER-DRV.IETHER-KRN,fr=B.11.11.04,fa=HP-UX_B.11.11_64,v=HP IETHER-DRV.IETHER-KRN,fr=B.11.11.05,fa=HP-UX_B.11.11_64,v=HP IETHER-DRV.IETHER-RUN,fr=B.11.11.04,fa=HP-UX_B.11.11_64,v=HP IETHER-DRV.IETHER-RUN,fr=B.11.11.05,fa=HP-UX_B.11.11_64,v=HP Automatic Reboot?: Yes Status: General Release Critical: Yes PHNE_29947: HANG PANIC Category Tags: defect_repair general_release critical panic halts_system Path Name: /hp-ux_patches/s700_800/11.X/PHNE_29947 Symptoms: PHNE_29947: 1. ( SR: 8606342571 CR: JAGaf03465 ) When a large number of multicast addresses are enabled on an interface, an application retrieving the multicast list from that interface may see an incomplete list or incorrect addresses. 2. ( SR: 8606338266 CR: JAGae99228 ) An iether interface may incorrectly drop padded TCP/UDP packets that are <= 60 bytes long. The checksum failures (reported by 'netstat') may cause some applications to hang. 3. ( SR: 8606356446 CR: JAGaf17154 ) An iether interface may incorrectly drop padded TCP/UDP packets that are > 60 bytes long. The checksum failures (reported by 'netstat') may cause some applications to hang. 4. ( SR: 8606333258 CR: JAGae94353 ) Link may hang during Jumbo Frame Traffic. 5. ( SR: 8606340381 CR: JAGaf01300 ) Receive checksum failures may result with Jumbo MTU. 6. ( SR: 8606344393 CR: JAGaf05243 ) iether interfaces show low TCP/UDP request/response rate. 7. ( SR: 8606346136 CR: JAGaf06963 ) The system might panic(Data TLB Fault) during iether interface card initialization. Stack Trace: IP Function Name 0xe0000000004f5520 post_hndlr+0xc20 0xe0000000004f9240 vm_hndlr+0x220 0xe000000001085780 bubbledown 0xe0000000004fe550 kfree+0x130 0xe000000000baa2a0 iether_ilan_initialize+0x1770 0xe000000000ba82d0 iether_ilan_init+0x840 0xe000000000778c30 wsio_claim+0x730 0xe0000000007e6460 pci_cdio_init+0x11f0 0xe00000000094bd30 io_scan+0x1270 0xe00000000094c0c0 gio_scan_subtree_real+0x1f0 0xe00000000094ba80 io_scan+0xfc0 0xe00000000094c0c0 gio_scan_subtree_real+0x1f0 0xe00000000094ba80 io_scan+0xfc0 0xe00000000094c0c0 gio_scan_subtree_real+0x1f0 0xe00000000094ba80 io_scan+0xfc0 0xe00000000094adc0 io_scan+0x300 0xe000000000961e60 dev_config_install+0x1740 0xe0000000003696b0 prop_get+0xf70 0xe0000000006fdb70 spec_ioctl+0x1d0 8. ( SR: 8606349728 CR: JAGaf10547 ) Hooks to support TCP Segmentation Offload(TSO) Enhancement product are not present. 9. ( SR: 8606274100 CR: JAGae38178 ) The ioscan description string does not display the part number and interface type (e.g., "Adapter", "Core" etc). 10. ( SR: 8606354363 CR: JAGaf15157 ) The system might panic (Data TLB fault) after resetting the iether interface card. Stack Trace: panic+0xa0 lwp_sa_procinit_stub32+0x33db4 interrupt+0x208 $ihndlr_rtn+0x0 iether_recv+0x13c iether_isr+0x120 sapic_interrupt+0x2c mp_ext_interrupt+0x3c0 ivti_patch_to_nop3+0x0 idle+0x9f0 swidle_exit+0x0 Defect Description: PHNE_29947: 1. ( SR: 8606342571 CR: JAGaf03465 ) When an application tries to retrieve the list of multicast addresses enabled on an interface, the driver may return a truncated list if the number of addresses enabled is huge, resulting in potential application data corruption. Resolution: The driver has been modified to return correct and complete multicast addresses list. 2. ( SR: 8606338266 CR: JAGae99228 ) The iether driver incorrectly included Ethernet pad bytes during checksum computation of received TCP/UDP packets. If a TCP/UDP packet received from the network has non-zero padding, the computed checksum is incorrect and the packet is dropped. Resolution: The iether driver has been modified to not include Ethernet pad bytes, if any, during checksum computation of TCP/UDP frames received from the network. 3. ( SR: 8606356446 CR: JAGaf17154 ) The driver was assuming that frames > 60 bytes are not padded. Resolution: The driver has been modified to read the total length field in the IP header to determine if a frame is padded or not. 4. ( SR: 8606333258 CR: JAGae94353 ) Under certain conditions, the send and receive engines on the controller may hang. Resolution: The driver has been modified to avoid the condition leading to the controller hang. 5. ( SR: 8606340381 CR: JAGaf01300 ) The driver was violating the controller specification on where to read a Jumbo frame's receive checksum. Resolution: Checksum for received Jumbo Frames will now be read from the correct location. 6. (SR: 8606344393 CR: JAGaf05243 ) During certain request/response type traffic conditions, the iether driver was missing receive interrupts that resulted in packets being handled after a long delay. Resolution: iether has been modified to prevent delayed handling of received packets. 7. (SR: 8606346136 CR: JAGaf06963 ) The driver was attempting to free a non-existent buffer in an initialization error path. Resolution: The driver has been modified to avoid freeing an unallocated buffer. 8. (SR: 8606349728 CR: JAGaf10547 ) The driver did not have hooks to support the TCP Segmentation Offload (TSO) feature. Resolution: Hooks to support TSO have been added. 9. ( SR: 8606274100 CR: JAGae38178 ) The driver did not implement the enhanced ioscan string. Resolution: Part number and additional information about an iether interface have been added to the ioscan string. 10. ( SR: 8606354363 CR: JAGaf15157 ) The driver was accessing the buffer from a stale receive descriptor. Resolution: The driver has been modified to avoid accessing the stale buffers. Enhancement: No SR: 8606342571 8606338266 8606356446 8606333258 8606340381 8606344393 8606346136 8606349728 8606274100 8606354363 Patch Files: IETHER-DRV.IETHER-KRN,fr=B.11.11.04,fa=HP-UX_B.11.11_64, v=HP: IETHER-DRV.IETHER-KRN,fr=B.11.11.05,fa=HP-UX_B.11.11_64, v=HP: /usr/conf/lib/libiether.a IETHER-DRV.IETHER-RUN,fr=B.11.11.04,fa=HP-UX_B.11.11_64, v=HP: IETHER-DRV.IETHER-RUN,fr=B.11.11.05,fa=HP-UX_B.11.11_64, v=HP: /usr/lib/lanadmin/libdsiether.1 /usr/lib/nls/msg/C/dsiether.cat what(1) Output: IETHER-DRV.IETHER-KRN,fr=B.11.11.04,fa=HP-UX_B.11.11_64, v=HP: /usr/conf/lib/libiether.a: iether_ilan Version: 1 Apr 2 2004 iether Revision: PHNE_29947 B.11.11.06 Apr 2 2004 IETHER-DRV.IETHER-RUN,fr=B.11.11.04,fa=HP-UX_B.11.11_64, v=HP: /usr/lib/lanadmin/libdsiether.1: None /usr/lib/nls/msg/C/dsiether.cat: None cksum(1) Output: IETHER-DRV.IETHER-KRN,fr=B.11.11.04,fa=HP-UX_B.11.11_64, v=HP: 3287030402 582320 /usr/conf/lib/libiether.a IETHER-DRV.IETHER-RUN,fr=B.11.11.04,fa=HP-UX_B.11.11_64, v=HP: 2146943838 143360 /usr/lib/lanadmin/libdsiether.1 3482373210 9722 /usr/lib/nls/msg/C/dsiether.cat Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: None Equivalent Patches: None Patch Package Size: 240 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_29947 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHNE_29947.depot By default swinstall will archive the original software in /var/adm/sw/save/PHNE_29947. If you do not wish to retain a copy of the original software, include the patch_save_files option in the swinstall command above: -x patch_save_files=false 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_29947.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHNE_29947.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHNE_29947.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None