Patch Name: PHNE_7048 Patch Description: s700 9.X LAN and DLPI drivers cumulative patch Creation Date: 96/07/18 Post Date: 96/12/23 Hardware Platforms - OS Releases: s700: 9.01 9.03 9.05 9.07 Products: N/A Filesets: LAN Automatic Reboot?: Yes Status: General Release Critical: No (superseded patches were critical) PHNE_4648: PANIC PHNE_4180: OTHER No longer requires that the ethertwist transceiver SQE switch be enabled. PHNE_3953: PANIC PHNE_3752: PANIC Path Name: /hp-ux_patches/s700/9.X/PHNE_7048 Symptoms: PHNE_7048: Modified hp_dlpi_unitdata_out() for setting b_cont to NULL after device driver returned an error for LAN_REQ_WRITE request. Modified hp_dlpi_untdata_out() to do a retransmit only for ENOBUFS error. Modified promiscuous code to use old definitions. Previous patches: PHNE_6855: Modified DLPI to return SNAP information in both the src and dst part of the DL_UNITDATA_IND primitive. PHNE_6730: Fixed the DUX and NFSD hang caused by PHNE_6052. PHNE_6308: Added support for IP Multicasting. Fixed t2/Token Ring bug which caused previously used SAP's to be unusable. PHNE_6052: H9000/715s and 725 running faster then 50MHz can experience DMA underruns on the built-in and EISA 10BaseT LANs. These will appear on the network as runt or truncated frames. This patch works around some instances of this behavior. PHNE_5644: This patch includes the complete fix for users attempting to bind to sap zero. The previous fix was only for connectionless mode. This patch fixes both connectionless and connection mode. PHNE_5572: This patch fixes a problem with the dl_next_offset field in the DL_HP_PPA_ACK information field. This value was being calculated incorrectly in the dlpi driver. In addition, the LLC type 2 module was modified to send all normal I PDU packets as commands as opposed to responses. Also, modified dlpi to return an error when attempting to bind to sap zero. PHNE_5403: This patch fixes a problem discovered with portable Netware. The loopback processing in the driver allows upper layer protocols to modify a shared data area. This can lead to incorrect data being transmitted on the wire. This patch also fixes a bug which prevented users from logging the protocol value 0x1010. PHNE_5183: This patch fixes the following problems: 1. Memory leak in mbuftomblk.c 2. T2 bug which prevented frames larger than 4096 from being sent over token ring. 3. RAW mode bug which prevented users from sending MTU bytes of real data. 4. DL_DISCONNECT_REQ bug which caused disc packets to be sent without the poll bit set. 5. EISA LAN problem which caused the selftest to fail when using the BNC port. 6. Fixed timing problem in lan2 driver which caused the driver to report an inconsistant status in the SCB status word. This is the imfamous 2012 CU-CNA warning message. This fix will significantly reduce the occurrence of this warning message. PHNE_4921: ifconfig reports "device not found" on built-in lan card. Check the Defect Description field for information on the other superseded patches. Defect Description: PHNE_7048: Modified hp_dlpi_unitdata_out() for setting b_cont to NULL after device driver returned an error for LAN_REQ_WRITE request. Modified hp_dlpi_untdata_out() to do a retransmit only for ENOBUFS error. Modified promiscuous code to use old definitions. Previous patches: PHNE_6855: Modified DLPI to return SNAP information in both the src and dst part of the DL_UNITDATA_IND primitive. PHNE_6730: Fixed the DUX and NFSD hang caused by PHNE_6052. PHNE_6308: Added support for IP Multicasting. Fixed t2/Token Ring bug which caused previously used SAP's to be unusable. PHNE_6052: H9000/715s and 725 running faster then 50MHz can experience DMA underruns on the built-in and EISA 10BaseT LANs. These will appear on the network as runt or truncated frames. This patch works around some instances of this behavior. PHNE_5644: This patch includes the complete fix for users attempting to bind to sap zero. The previous fix was only for connectionless mode. This patch fixes both connectionless and connection mode. PHNE_5572: This patch fixes a problem with the dl_next_offset field in the DL_HP_PPA_ACK information field. This value was being calculated incorrectly in the dlpi driver. In addition, the LLC type 2 module was modified to send all normal I PDU packets as commands as opposed to responses. Also, modified dlpi to return an error when attempting to bind to sap zero. PHNE_5403: This patch fixes a problem discovered with portable Netware. The loopback processing in the driver allows upper layer protocols to modify a shared data area. This can lead to incorrect data being transmitted on the wire. This patch also fixes a bug which prevented users from logging the protocol value 0x1010. PHNE_5183: This patch fixes the following problems: 1. Memory leak in mbuftomblk.c 2. T2 bug which prevented frames larger than 4096 from being sent over token ring. 3. RAW mode bug which prevented users from sending MTU bytes of real data. 4. DL_DISCONNECT_REQ bug which caused disc packets to be sent without the poll bit set. PHNE_4921: (DTS INDaa19709) This patch fixes a problem introduced in PHNE_4648 which prevents the built-in lan card from operating correctly after boot up. Resetting the card usually corrects the problem. DLPI fixes: This patch fixes several known problems with the DART 9 version of the DLPI driver. Included are the following fixes: Functional addressing, source routing, promiscuous mode, and unbind. Fixes IP panics caused by netware packets, Raw mode problems, and locally administered addresses for TPR. Fixes write() system call behavior and promiscuous mode panics. Checks to determine if the device is DEAD before transmitting data. This will provide immediate notification to the application if the driver is offline. Fix Memory allocation error so that it retries until we get memory (type 2 only). Fixed RAW mode. Fixed bug which caused DLPI to drop 802.3 outbound requests if the first protocol logged was an ethertype. Fixed MTU bug. Fixed bug in hp_dlpi_uderror_ind which caused a system panic. Fixed performance problem discovered by Insignia SoftWindows product. This version of DLPI does not use the streams scheduler to forward inbound packets, instead it passes the packet directly upstream via putnext. Fixed routing bug in connection-oriented DLPI. Fixed a trap 15 panic in the connection-oriented DLPI function t2_dlpi_connect_con(). If a SABME was received while an unacknowledged CONNECT_REQ was outstanding, the system would panic. Added support for SAP and MULTICAST level promiscuous mode services. Added code to t2 to respond to UA with an RR. This is not required by LLC type 2, but is a requirement to maintain IBM compatability. Added code to t2 to make it compatable with IBM t2. The IBM Architecture manual states that a secondary system cannot assume it has been contacted until it receives an RR or RNR command LPDU (IBM Token Ring Architecture Manual, pg 11-6). The t2 code was updated to not allow any data transfer until a response (this means any response I, S, or U valid or invalid packets) is received from the remote system. This allows for compatability with IBM systems while not being overly restricting to systems which don't comply with the IBM architecture. lan2 driver fixes: Fixed the misplaced paremthesis in lan2_isr where LAN2_CMD_SW_UR was checked for start a waited command. Also fixed the start the retry command in lan2_uflo_retry. Includes patch PHNE_3397. Added code to check return value from m_pullup on loopback requests. This fixes a problem with RAW mode requests via DLPI. Changed Error 2007 to a warning. Fixed bug in lan2_int_init which caused EISA LAN resets to fail (added wait between issuing new commands to the 82596). Fixed Interrupt routine to save and return orignal spl. This fixes a panic with OTS/X.25. Fixed Interrupt routine to reenable arbitration before returning when a known 82596 chip bug is encountered. Added code to update mib information when the station address is changed (lan2 only). Fixed bug in PERMANENT_ADDRESS request. The lan_station_address function was being passed the isc_table_ptr instead of the base_addr_ptr. Fixed bug in lan2 reset paths. Back-to-back resets could cause driver to hang. Added support for SAP and MULTICAST level promiscuous mode services. Added code to separate known 82596 chip bugs. Removed code to dump card revisions. This was causing driver startup failures at some customer sites. lanc fixes: Fixed panic in lanc_lla_open() under low memory conditions. Set MF_BROADCAST flag in inbound packets to allow IP to detect broadcast packets. Fixed problem in lanc_802_2_ics() stripping too much off SNAP encapsulated ARP packets. Added support for SAP and MULTICAST level promiscuous mode services. SR: 4701316380 Patch Files: /usr/include/sys/dlpi_ext.h /etc/conf/libdlpi.a /etc/conf/liblan.a.901 /etc/conf/liblan.a.903 what(1) Output: /usr/include/sys/dlpi_ext.h: None /etc/conf/libdlpi.a: FILESET STREAMS-DLPI: lib dlpi: Version: A.09.00 PHN E_7048/PHNE_7049 lib dlpi: t2.c Version: A.09.00 PHNE_6658/PHNE_6659 /etc/conf/liblan.a.901: lan2.c PATCH#: PHNE_5403 FILESET LAN: lib lan: Version: A.09.00 PHNE_3619 lanc_dda.c $Revision: 1.3.109.26 PATCH: PHNE_2826 lanc_input.c -PROMISC- PATCH#: PHNE_6308/PHNE_6309 /etc/conf/liblan.a.903: lan2.c Patch #: PHNE_6730 - 9.03/9.05/9.07 FILESET LAN: lib lan: Version: A.09.00 PHNE_3619 lanc_dda.c $Revision: 1.3.109.26 PATCH: PHNE_2826 lanc_input.c -PROMISC- PATCH#: PHNE_6308/PHNE_6309 sum(1) Output: 49129 21 /usr/include/sys/dlpi_ext.h 30464 231 /etc/conf/libdlpi.a 53830 187 /etc/conf/liblan.a.901 33663 190 /etc/conf/liblan.a.903 Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_2053 PHNE_2336 PHNE_2493 PHNE_2665 PHNE_2700 PHNE_2760 PHNE_2789 PHNE_2822 PHNE_2982 PHNE_3204 PHNE_3307 PHNE_3319 PHNE_3397 PHNE_3618 PHNE_3752 PHNE_3953 PHNE_4180 PHNE_4648 PHNE_4781 PHNE_4921 PHNE_5183 PHNE_5403 PHNE_5572 PHNE_5644 PHNE_6052 PHNE_6308 PHNE_6730 PHNE_6855 Equivalent Patches: PHNE_7049: s800: 9.00 9.04 Patch Package Size: 380 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. Copy the patch to your /tmp directory and unshar it: cd /tmp cp patch_source/PHNE_7048 . sh PHNE_7048 3. Become root and run update: /etc/update [-r [kernel_gen_file]] -s \ /tmp/PHNE_7048.updt PHNE_7048 Update moves the original software to /system/PHNE_7048/orig. Keep this file to recover from any potential problems. You should move the .text file to /system/PHNE_7048 for future reference. To put this patch on a magnetic tape and update from the tape drive, use dd: dd if=PHNE_7048.updt of=/dev/rmt/0m bs=2048 Special Installation Instructions: None