Patch Name: PHNE_23863 Patch Description: s700 10.20 LAN products cumulative Patch Creation Date: 01/07/01 Post Date: 01/08/16 Hardware Platforms - OS Releases: s700: 10.20 Products: N/A Filesets: Networking.LAN-KRN Networking.LAN-RUN Networking.NW-ENG-A-MAN Automatic Reboot?: Yes Status: General Superseded Critical: Yes PHNE_23863: HANG PANIC This patch fixes the spinlock deadlock panic and the bad trailer encapsulated ethernet packet hang problem. PHNE_22351: PANIC Without this patch, LASI based systems will panic after network activity as mentioned in Symptom 1. Without this patch, system panics when trying to run the promiscuous tests on Core Ethernet interface as mentioned in Symptom 8. PHNE_21903: PANIC Symptom 1 fixes a PANIC PHNE_20725: PANIC Symptom 9 fixes a PANIC PHNE_18173: PANIC OTHER Symptom 2 fixes a panic. Without this patch, packets which are sent out by an interface will not be seen by the promiscuous mode application. PHNE_16999: PANIC Without this patch, system may panic under heavy load and having low memory, as mentioned in Symptom 1. Without this patch, there is a likelihood of system crash when promiscuous mode is turned on and off repeatedly on Core 10BT lan card, as mentioned in Symptom 2. PHNE_14367: OTHER Without fix 1, DLPI type 2 applications (e.g. SNA) won't work over non-CKO FDDI. PHNE_14501: ABORT DLPI clone devices are not returned to free pool after close in PHNE_13585, hence after a certain number of operations utilities like lanadmin, linkloop etc. will fail as they will not be able to open /dev/dlpi. PHNE_13585: PANIC Fixes a panic in hp_dlpi_close. PHNE_12871: PANIC Fixes a panic in lan2_ru_restart and a panic with linkloop to ATM card. PHNE_12575: PANIC Fixes couple of panics in dlpi. PHNE_11703: 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_11125: PANIC Fixes a panic in NIO Ethernet, when operating in promiscuous mode. PHNE_11051: OTHER Required for T600, and supersedes other critical patch. PHNE_10511: OTHER Avoids, excessive reset of lan interface rendering system unusable on the network Path Name: /hp-ux_patches/s700/10.X/PHNE_23863 Symptoms: PHNE_23863: 1. Spinlock deadlock panic for lanc_lookup_lock. 2. When receiving a badly formatted Trailer protocol frame, HPUX 10.20 crashes. 3. lanscan man page missing part of a sentence. PHNE_22351: 1. When one or more data lines of the AUI port had been disconnected but the other lines are still connected, LASI based systems will panic after network activity. 2. Modifications for lanadmin were not reflected by landiag command. 3. lanscan usage string does not show option "q". 4. Switching ioctl fails for Core 10BT driver when cable is disconnected. 5. Non superuser can execute the privileged lanadmin options. 6. When a long Station address is given as an argument to lanadmin command, it returns without reporting any error. 7. lanscan -P fails on the system with ATM card. 8. The system panics when trying to run the promiscuous tests on Core 10BT interface. 9. FTAM transfer stop working after SG local switching. 10. Token Ring functional address are not working properly. PHNE_21903: 1. Under heavy inbound traffic a system may panic with the string "kalloc: out of virtual space.". 2. 'token2: Hard error on CTL_CCMD=0x1060' error logged when trying to log a protocol. 3. Removing patch PHNE_21215 gives an error. PHNE_21215: 1. T2 XID/TEST tests fail. 2. DLPI does not check for invalid multicast address for FDDI. 3. lanconfig resets MTU size for gigabit interfaces. 4. lanc fails to prevent setting Station Address to a multicast MAC address. 5. manpage changes needed for lanscan to reflect '-q' option. 6. ER: lanc support for filtering IEEESAP_HP packets on 10.20. 7. Promiscuous level 2 behaves differently on 10.20. 8. LLA fails to support 0x1010 SAPs. PHNE_20725: 1. ER: Support for APA in DLPI. 2. Problem with DL_SUBS_BIND_REQ. 3. ER:Lan Monitor support in DLPI. 4. Wrong address format for FDDI packets. 5. Ethernet cards setup incomplete after reboot. 6. /usr/sbin/lanscan does not have proper ownership/permissions. 7. Data loss over serial line with unterminated Core 10BT card. 8. ER: To have lan2 clear netstat statistics with 'lanadmin' clear. 9. dlpi panic in t2_dlpi_finish_connect_res with vmtrace active. 10. ER: Add '-q' option for lanscan. PHNE_18173: 1. HP-PB 10BT and Core 10BT drivers do not receive packets they transmit, when in promiscuous mode. 2. System configured with Core 10BT lan interface, sometimes panics (data page fault) with the target address showing 0xa00?????. System could panic with the message "panic: mclfree". 3. swverify(1M) on the Networking product fails on the newer workstations without Core 10BT lan interface. 4. Sequence of packets as seen by promiscuous mode application may be not be in the same sequence as they are on the physical media. 5. When an interface is in promiscuous mode, dlpi/ lanc loops back packets to IP stream even if MF_NOLOOPBACK flag is set. 6. Promiscuous mode application may not see outbound packets if it is operating in 'SAP level promiscuous'. PHNE_16999: 1. System panic under heavy load and having low memory. 2. System panic when Core Ethernet lan card is put into promiscuous mode. 3. Change Core Ethernet and HP-PB Ethernet drivers to use schednetisrmq(). 4. Request to allow the MTU size on ethernet lan to be adjustable. 5. Request for removal of "rx_bad_addr" from "Inbound Discards" counter. 6. ER - A Tool to determine promiscuous mode is needed. 7. ATM interface named "el1000" is not displayed properly by lanscan. 8. lanscan -v report shared library error against ATM NICs. PHNE_14633: 1. No DELETE multicast requests were sent down to the driver when application issued a DELETE on a previously added multicast address. 2. Inconsistent behaviour by network drivers when promiscuous mode was enabled. 3. Enabling and disabling of multicast addresses failed on Token Ring drivers. 4. lanadmin needs easier way to reset MAC address to default. PHNE_14367: 1. DLPI type 2 won't work over FDDI devices that do not support the Checksum Offload feature (e.g. HSC and EISA FDDI) 2. linkloop returns ERANGE if MTU of link changed. PHNE_14501: 1. Defect in PHNE_13585, DLPI clone devices not returned to free pool after close. 2. DLPI command after DL_HP_HW_RESET may get ENXIO error. PHNE_13585: 1. Panic in hp_dlpi_close/detach. 2. lanadmin does not support mode and speed changes for 100BT cards. PHNE_12871: 1. System panic with data page fault in lan2_ru_restart. 2. IP multicast packets are received twice with lan3 driver 3. Linkloop on a ATM device panics when PHNE_12575 is installed. PHNE_12575: 1. Panic in hp_dlpi_delete_wakeup routine under stress. 2. Panic while operating in promiscuous mode. 3. DL_HP_MULTICAST_REQ/ACK support for drivers supporting IP level multicasting. 4. Wrong ifOper status displayed for Built-In lan card. 5. lanadmin command displays "%s" in the output, instead of the error string. 6. lanadmin command fails after sufficient changing of nmid/display commands. PHNE_11703: 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. PHNE_11125: 1. Changing MTU to more than 4096 bytes on token ring fails. 2. NIO Ethernet operating in promiscuous mode panics. PHNE_11051: 1. Without this patch, NIO Ethernet will not work on T600. PHNE_10511: 1. Systems using builtin lan through External MAU see excessive resets. Applications trying to transmit a packet could see ENOLINK. 2. 'mrouted' tunneling fails on HP-PB 10BaseT driver. 3. Some LAN interfaces need reset, when the H/W address is changed.(Eg. HP-PB FDDI) 4. Some LAN interfaces require other operation to be performed with reset to bring back the interface UP. (Eg. HP-PB FDDI requires download operation during reset) PHNE_9277: Running netperf snap_script, the ipintr queue was filled and stayed filled. Ping then start to fail. The linkloop still ran fine over the link. However, the system did not seem to recover from the queue full condition. Defect Description: PHNE_23863: Fix Summary: FOR ETHER:2 Common for all products:1 1. JAGad54952: Spinlock deadlock panic for lanc_lookup_lock. panic+0x10 too_much_time+0x238 wait_for_lock_spinner+0x2f4 wait_for_lock_4way+0x2c sl_retry+0x18 lanc_remove_protocol+0xb8 lanc_lla_close+0x2d0 closef+0x68 exit+0x214 rexit+0x20 syscall+0x75c $syscallrtn+0x0 Resolution: Locking across sleep causes problem. The lock that is held by one processor before sleep is released by another processor, there by creating a spinlock-deadlock. Fixed by redesigning the locking mechanism. 2. JAGad55423: On receiving a trailer encapsulated ethernet frame that is badly formatted the system crashes. m_free+0x70 m_cat+0x94 lanc_ether_trail_intr+0xf8 lanc_ether_ics+0x330 lanc_ether_trail_intr+0x6c lanc_ether_ics+0x330 lanc_ether_trail_intr+0x6c lanc_ether_ics+0x330 lanc_ether_trail_intr+0x6c Resolution: The badly formatted frame is detected and dropped by DLPI. 3. JAGab76532: lanscan man page missing part of a sentence Resolution: lanscan man page is updated with complete sentence. PHNE_22351: Fix Summary: For TOKEN RING: 10 For ETHER:1,4 and 8 Common for all products:2,3,5,6,7 and 9 1.JAGad35507: When transmit line being severed and the receive lines being intact, the card will still receive packets from the wire. So when the driver sends out a loopback packet in the reset path, it assumes any response to be the loopback response. So, it assumes success of loopback even though the packet it received was not a loopback packet. This causes the driver to come online. The next transmit will again timeout causing another reset. These continuous resets lead to the bus timeout and hence the panic. Resolution: Ensure that the packet received in lan2_process_looper is really a loopback packet. 2.JAGad21159: The patches on 10.20 were missing the link between lanadmin and landiag. Due to this, the modifications released in patch for lanadmin were not reflected by landiag command. Resolution: The fix is to create a hard link between lanadmin and landiag. 3.JAGac46780: Though the support for "q" option was already added to lanscan, the usage string was not reflecting the same. Resolution: Modified the usage string of lanscan to show "q" option. 4.JAGad25042: Core 10BT driver rejects control requests when cable is disconnected. So SIOCSWITCHIFADDR ioctl issued on it fails to switch IP address. Resolution: The driver is modified to accept and process SIOCSWITCHIFADDR ioctl, even when the cable has been disconnected. 5.JAGac88753: The non superuser has the permission to execute lanadmin with privileged options which should be possible only by super user. Resolution: The permissons of lanadmin have been changed from 4555 to 555 to prevent non super user accessing privileged information. 6.JAGab75792: When the station Address argument passed to lanadmin is too long, lanadmin does not display any error message and does not return the value indicating the failure of the command. This was causing problem for the driver specific configuration scripts as they were not able to detect the failure and the card also was not getting configured. Resolusion. lanadmin will now print an error message for the long MAC address and will exit with -1. 7.JAGab64391: lanscan -P command does not work correctly on the system where there is an ATM card. Resolution: lanscan is modified to take care of this situation. 8.JAGad38176: The system was panicing while running the promiscuous mode tests. The panic was because of a window, where the promisc stream can be freed but still hp_dlpi_intr tries to access it. Resolution: The Core 10BT driver code is modified to take care of the problem by checking the content of the variable before it was being used. 9.JAGac29671: When local switching is done from primary to standby interface, FTAM is not able to transfer files. During the local switchover, the new encapsulation flags and also the MTU is not reflected to the upper layers and the upper layers continue to send out packets with old MTU size that causes packets to be dropped. Resolution: During the switchover, the MTU size and encapsulation flags are changed in the 'ifnet' strucutre so that the applications that uses the interface will know about the change in MTU size and encapsulation. 10.JAGad21664: Enabling/Disabling the functional address are not working as expected. When checking whether a functional address is enabled during disabling that functional address, DLPI compares the fuctional address given by the user with a wrong address there by failing the disable-functional address request. This causes future enabling/disabling of that functional addresses to fail. Resolution: Proper addresses are compared during enablement/disablement of the fuctional addresses. PHNE_21903: Fix Summary: Common for all products: 1,2,3. 1.JAGad03223: When a system is under heavy inbound network load the incoming packets may hog the memory completely resulting in a "kalloc: out of virtual address" panic. Resolution: An upper limit has been placed on the number of packets on the DLPI linked list. Additionally, a global variable ics_cnt_max can be used to change the default value of 512. 2. JAGad23566: When DLPI receives a BIND_REQ, it check whether the protocol is already logged. If the protocol is not logged, then it calls the driver to log the protocol. But this complete operation is not done as a single unit, and by the time the hardware request is sent to driver, another BIND_REQ may come in and see that the protocol is not logged and that too will create a duplicate hardware request, and the driver hits a hardware error. Resolution: The lock which currently used is only during the lookup process, and does not cover the logging. Introduced a lock which can protect the lookup and the logging, their by making sure that no duplicate requests are sent to the driver. 3. JAGad11998: The preremove script of the patch PHNE_21215, was missing _PATCHID variable, which resulted in error during removal of the patch. Resolution: This patch fixes this problem. PHNE_21215: Fix Summary: For FDDI: 2. For ETHER: 3, 4. Common for all products: 1, 5, 6, 7, 8. 1. JAGab69560: T2 XID/TEST scaffold tests fail, because the T2 code in DLPI, assumes that the XID/TEST data is present in first mbuf, but there is a possibility that the first mbuf only contains the LLC header and the XID data is present in second mbuf. This assumption was wrong, which created unexpected response from DLPI to an application. Resolution: The T2 code has been changed to take care of this situation, where the XID data can be present in the second mbuf. 2. JAGac88801: When Enable/Disable multicast address request was sent, DLPI does not check for invalid multicast addresses for FDDI driver, so, if an application tries to enable a invalid multicast address, on a FDDI link, it succeeds. Resolution: The code change done to resolve this defect, checks for the device type of FDDI when it tries to enable a valid multicast address. 3. JAGac88848: "lanconfig" command when used to change the MTU size, fails to do so, because the DLPI code always takes the MTU size from the pre-defined macros, this causes problems in a gigabit link where jumbo frames are used and they don't fall under the predefined set of MTU sizes. Resolution: The MTU size is taken from the hwift structure of the link instead of the pre-defined values. 4. JAGac95565: lanc fails to prevent setting Station Address to a multicast MAC address. The check done to prevent this from happening, checks for the device type of DEV_8023, but some ethernet drivers set the device type to DEV_ETHER, so this checking fails to prevent setting multicast address as the station address when the drivers set the device type to DEV_ETHER. Resolution: The checking done when trying to change the station address now includes the check for device type of DEV_ETHER. 5. JAGad01129: Manpage of lanscan does not reflect the addition of '-q' option. Resolution: The manpage changes have been done to include the usage of '-q' option in lanscan. 6. JAGad00107: ER: Support for filtering IEEESAP_HP packets in lanc. Resolution: This enhancement has been done in lanc to support filtering for IEEESAP_HP packets. 7. JAGac42727: SAP promiscuous application doesn't see multicast packets, as the 'hp_dlpi_intr_put' routine filters out the multicast packet when its in SAP promiscuous mode. Resolution: The filtering of multicast packets when the stream is in SAP promiscuous mode is not correct, the changes were done to remove this wrong filtering. 8. 5003254151: LLA code used incorrect "<=" operator to check for 0x1010 boundary. Resolution: While checking for the protocol value in lanc_ether_control, the code used "<=" operator, instead of "<" operator which allows the value to exceed the boundary of allowed values. PHNE_20725: 1. JAGac56887 ER: Changes needed in DLPI to support APA features. Resolution: Changes are made to DLPI to support some functionalities of APA. The changes done were addition of new IOCTL's APA_SET_DEFAULT_CONFIG_MODE, APA_GET_DLPI_VERSION & APA_EVENT_SET_DEFAULT_CONFIG_MODE. 2. JAGac56915: Problem with DL_SUBS_BIND_REQ. Resolution: Update the DLPI internal data structure only after the protocol logging is successful. 3. JAGac79105: Lan Monitor Support in DLPI: Resolution: The following changes were made to DLPI for Lan Monitor support: 1. Block the primitives DL_BIND_REQ, DL_UNBIND_REQ, DL_ENABMULTI_REQ, DL_DISABMUL TI_REQ, DL_PROMISCON_REQ, DL_PROMISCOFF_REQ, DL_SET_PHYS_ADDR_REQ from being processed when the link is already part of an aggregate. 2. Handle events DL_EVENT_INTERFACE_DOWN, DL_EVENT_INTERFACE_UP from drivers and APA_EVENT_PROTOCOL_LOGGED from Lan Monitor. 3. New protocol bind flavor DL_HP_BIND_EXT, that lets callers specify bind flags different from defaults. This facilitates inbound packet processing suitable for Lan Monitor. 4. Lock a port using hwift features bit DRV_PORT_IN_USE to avoid a race condition between LM and DLPI grabbing the port. 5. Support for binding protocol kind LAN_CANON that will enable receiving poll packets by Lan Monitor aggregated ports. 6. lanc_mib_event to pass Interface down/up events to DLPI. 7. Block ioctls from transports to links that are part of a fail-over group. 4. JAGac79079: DLPI converts the source and destination addressess from canonical to wire format unconditionally for all the FDDI packets, but some of the new FDDI cards do the conversion themselves, so the conversion done by DLPI should not be unconditional. Resolution: The DLPI source has been changed to do the conversion on condition that DRV_NO_MAC_CONVERT bit is not set in the hwift features bit. 5. JAGab70839: Ethernet card does not get initialized as per the settings specified in configuration file upon reboot. The problem is seen for the cards whose information in the configuration file is at index greater than the number of cards in the system. Resolution: Fix includes reading complete configuration information by correct manipulation of index counter in the init script. 6. JAGab84763: '/usr/sbin/lanscan' currently has owner and group id set as bin/ bin, with setuid to bin. Even though this does not create any particular problem, this needs to be changed as in 11.0 release, i.e. owner root group sys with setgid to sys. Resolution: Changes made to '/usr/sbin/lanscan' to have uniformity across 11.0 and 10.20. 7. JAGaa22138: An unterminated/ disconnected Core 10BT card causes data loss over the serial port. This is because, when the card is disconnected, the driver periodically tries to reset the card. The reset of the card involves many calls to busywait(), which leads to poor serial I/O performance. Resolution: The resolution is to eliminate some of the busywait() calls in the reset path. 8. JAGab46779: The Core 10BT driver was not clearing some of the variables when 'lanadmin' clear command is run, which 'netstat' command reads. This leads to inconsistency between 'lanadmin' displayed statistics and 'netstat -i' displayed statistics. Resolution: The 'netstat' related variables are cleared now when 'lanadmin' clear command is run. 9. JAGac20293: Panic in t2_dlpi_finish_connect_res() with Data Page Fault. The function where it panics has incorrect ordering of statements, where the freed mbuf is accessed. Resolution: The freeing of mbuf is done after the accessing of data present in it is done. 10. JAGac79094: Add '-q' option for lanscan to display the PPA numbers along with the aggregate information. Resolution: lanscan is modified to support the new option '-q' to display the PPA numbers of the links along with the aggregate information. PHNE_18173: 1. HP-PB 10BT and Core 10BT drivers did not loopback outbound packets while in promiscuous mode. So, the stream which turned on the promiscuous mode didn't receive the outbound packets. Resolution: Drivers now will loopback the outbound packets to DLPI and DLPI will send the packets upstream. 2. Core 10BT lan interface used to do an extra DMA to a receive frame descriptor under some conditions. This caused corruption of the 256 byte bucket. The system panic'd on the next 256 byte allocation request. Resolution: When the Core 10BT lan interface has used up the last available receive frame descriptor, it generates a "Frame Received" interrupt and also a "Receiver Not Ready" interrupt. After processing each of these interrupts, the driver attempted to start the receive engine with a new pool of receive frame descriptors if the receive engine status showed "Not Ready". Sometimes this could result in the same pool of buffers being set up twice for DMA. It has been corrected to start the receive engine only on Receive unit "Not Ready interrupt". 3. Verify scripts for the Networking product assumed the presence of Core 10BT lan interface on the machine. This is no longer true on newer workstations. Resolution: SD Control scripts for the Networking product have been modified to correct the problem. 4. Currently the kernel loops back the packets to promiscuous mode application before they are put on the DMA queue. Hence these packets will be seen by the promiscuous mode application before the packets on the physical media are seen. Resolution: The kernel is modified to loop back the outbound packets to promiscuous mode application only after it is sent on the physical media. 5. lanc/ dlpi currently ignores MF_NOLOOPBACK flag, before looping back the packets to IP stream. In fact these packets are to be sent only to promiscuous mode application (if any) and not to IP stream. Resolution: lanc/ dlpi is modified to check for MF_NOLOOPBACK flag and loop back the packets to appropriate streams only. 6. Due to a defect in lanc/ dlpi packets were not being looped back properly when the promiscous mode application is operating in 'SAP level promiscuous'. Resolution: Modified a comparison statement for sap level promiscuous in lanc/ dlpi to loopback applicable packets to promiscuous mode application. PHNE_16999: 1. Not checking for the return value of m_copy() can cause the system panic when system is heavily loaded and having the low memory. 2. System may panic when promiscuous mode for core-ethernet hardware is repeatedly turned on and off. This can happen due to a small window between turning off the promiscuous mode and accessing the promiscuous list array. 3. Core-Ethernet and HP-PB Ethernet drivers use "shednetisr()" and "schednetisrsq()" which can cause the imbalance between the traffic on the "netisr" processes. This can sometimes cause a severe performance impact. 4. Core Ethernet and HP-PB Ethernet does not allow the user to change the MTU of the link. With this limitation in the operating system, the customers will not be able to use the software/applications which require to the change MTU of the link. 5. The filter implementation in the HP-PB 10BT lan card firmware to filter the inbound packets was not working as expected. Due to which, the "rx_bad_addr" counter was getting incremented wrongly. This has been corrected in the driver. 6. A tool is required to determine if a lan interface is currently in the promiscuous mode. 7. The ATM interfaces numbered up to el999 are well displayed by lanscan command, but not el1000 or more. This is because, in lanscan command, the number of digits to use for display from the PPA/NMID is hardcoded as 3. 8. When ATM card is installed on a system, lanscan -v command reports that it can not open the shared library /usr/lib/lanscan/libpeatm.sl. This is because, HP DLPI does not support ATM drivers and they have their own DLPI layer and hence ATM drivers do not supply the shared library used by lanscan command. The lanscan command needs to check whether the corresponding driver supports HP DLPI or not. PHNE_14633: 1. Multicast DELETE requests were not sent down to the hardware level by LANC. This resulted in stale multicast addresses enabled in the hardware. This has been corrected. 2. There was no support for handling promiscuous data and the associated filtering at the LANC level. This was being implemented at the driver level which was not consistent across drivers. LANC has been enhanced to support this feature so that drivers need not implement handling of promiscuous data. All promiscuous data will be processed by LANC. 3. LANC expects the multicast addresses in the wire format. However, IP multicast addresses were passed on in the canonical format which was rejected by LANC. The fix now converts all multicast addresses into wire format before calling lanc routines to enable/disable multicast addresses. 4. lanadmin -A is enhanced to reset the MAC address to default. When the address string is DEFAULT, lanadmin restores the default address for the card. PHNE_14367: 1. The type 2 code has always assumed that the FDDI drivers support CKO feature. So when it builds the LLC header for FDDI, the CKO info is always prepended to it. This is incorrect for some recently introduced FDDI's that do not support CKO. 2. "linkloop" does not check the MTU on the PPA prior to sending out the test frame. If the customer has changed the MTU of the link, linkloop will fail unless the MTU size (or less) is specified via the -s parameter. This causes the MC/ServiceGuard cmlogconfig to fail when it shouldn't. The fix would be to check the mtu size via DL_HP_PPA_REQ (dl_mtu) or DL_INFO_REQ (dl_max_sdu) rather than using the default size for the mac type. PHNE_14501: 1. Due to a defect in close path of dlpi of PHNE_13585 dlpi clone devices will not be returned to free pool after close. Due to this reason after a certain number of operations, utilities like lanadmin, linkloop etc. will fail as they will not be able to open /dev/dlpi. 2. Process issuing DL_HP_HW_RESET was getting woken up after PORT_RESET phase of reset process. If a DLPI request is issued immediately after DL_HP_HW_RESET, ENXIO may be returned if the driver has not finished the whole reset process. PORT_RESET phase is now modified to wake up all entries in cmd_q other than the one corresponding to RESET process. The RESET process will be woken up by the process_looper after the loopback test. PHNE_13585: 1. hp_dlpi_close was reusing a variable after it is freed, also it was using a lock after freeing it. Access to the freed memory was causing the system panic. 2. An enhancement has been made in lanadmin to get and set driver specific options. This will support speed and mode changes for 100BT cards. PHNE_12871: 1. A typo in lan2_int_fr_rnr caused the driver to miss a call to lan2_rbd_supply. As a result, the rbd_act_ptr remained to be null. This led to a panic in lan2_ru_restart later on. 2. For broadcast and multicast packets IP normally sets a flag indicating driver should not loopback the packet. HP-PB Ethernet driver does not check to see whether loopback is required or not. This causes multiple packets to get delivered to IP. 3. Linkloop on ATM device panics when PHNE_12575 is installed due to the dlpi detach code assuming that Driver dependent data structure field in the hardware specific dlpi data structure points always to the ift structure of the lan. This is not true for some devices including ATM. This causes a panic due to an illegal pointer access. PHNE_12575: 1. Race condition between deletion of an entry in dlpi_wakeup_list and processing the entry causes panic in hp_dlpi_delete_wakeup. 2. If the promiscuous mode application does a close in the window between setting of lan_ift->promiscuous_filter and hp_dlpi_datap->promiscuous_flg, promiscuous mode will not be disabled during close, which causes a panic when processing the next inbound packet. 3. For drivers supporting IP level multicasting, the multicast address list is stored in a separate list. Hence dlpi should check if the driver supports IP level multicasting. If so it should return the multicast address list from this list while processing DL_HP_MULTICAST_REQ. 4. Sequence of setting IFF_UP flag and sending NMV_LINKUP event from Built-In lan driver causes the ifOPer status to be incorrect. 5. Due to a wrong call to 'printf' lanadmin command displays '%s' in output string instead of the error string. 6. dsname() function in lanadmin opens catalog 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, causing a failure in the next catopen(). PHNE_11703: 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. PHNE_11125: 1. DLPI uses hard coded value of 4096 bytes in the code, thereby limiting the maximum value of MTU to 4096. 2. The NIO Ethernet was trying to acquire a lock already held by it when operating in promiscuous mode, resulting in a panic. PHNE_11051: 1. 64-byte alignment changes to NIO Ethernet for T600 cache-line on 10.20 TFC. PHNE_10511: 1. When built-in lan interface returns No carrier + Late collision status in response to a transmit packet request, builtin lan driver treats the situation as carrier loss and resets the interface. The fix treats the situation as late collision, instead. 2. HP-PB Ethernet driver should be modified to support IP Multicasting. It is supported only on 10.10 release. It should support IPM on 10.20 release too. Without the IPM support, certain software (eg:gated, mrouted) functionality is limited. 3. Lanadmin calls the device specific reset function, if any, to do the reset operation after changing the H/W address. 4. Lanadmin calls the device specific reset function, if one is found, otherwise does the reset by itself. PHNE_9277: There was a window to enable netisr when ip input queue was filled. This work around to solve the reported problem by enabling netisr whenever receiving an incoming message. SR: 8606185750 8606186218 8606106979 8606166220 8606151820 8606126024 8606155729 8606129849 1653288886 8606168898 8606114898 8606152325 8606142643 8606134083 8606154248 5003254151 8606125784 8606130949 8606131979 8606130675 8606129933 8606129886 8606128305 8606126322 8606126350 8606128279 8606103762 8606112422 8606114023 8606128294 1653258665 1653257766 5003442897 5000699934 5003419895 5003315291 5003387050 5003388603 5003408674 1653251025 5003394551 1653232157 5003391888 1653230078 5003386516 5003375949 5003372565 5003362418 4701341230 5003353771 1653158527 Patch Files: /usr/sbin/lanadmin /usr/sbin/landiag /usr/sbin/linkloop /usr/lib/lanadmin/libdslan2.1 /usr/lib/lanadmin/libdslan3.1 /usr/conf/lib/liblan.a /usr/lib/nls/msg/C/lanadmin.cat /usr/share/man/man1m.Z/lanadmin.1m /usr/sbin/lanscan /usr/share/man/man1m.Z/lanscan.1m /usr/lib/nls/msg/C/lanscan.cat /sbin/init.d/hpether what(1) Output: /usr/sbin/lanadmin: lanadmin.c: $Revision: 1.3.116.11 $ B.10.20 PHNE_22 351(700)/PHNE_22352(800) LAN: Version: B.10.10 $Date: 96/05/09 11:26:21 $ /usr/sbin/landiag: lanadmin.c: $Revision: 1.3.116.11 $ B.10.20 PHNE_22 351(700)/PHNE_22352(800) LAN: Version: B.10.10 $Date: 96/05/09 11:26:21 $ /usr/sbin/linkloop: linkloop.c: PHNE_14367/PHNE_14368 $Revision: 1.7.116 .4 $ $Date: 98/04/17 16:11:11 $ LAN: Version: B.10.10 $Date: 96/05/09 11:26:21 $ /usr/lib/lanadmin/libdslan2.1: dslan2.c: $Revision: 1.3.116.2 $ $Date: 97/10/01 01: 50:18 $ B.10.20 PHNE_12575(700)/PHNE_12576(8 00) /usr/lib/lanadmin/libdslan3.1: dslan3.c: $Revision: 1.3.116.2 $ $Date: 97/10/01 01: 50:40 $ B.10.20 PHNE_12575(700)/PHNE_12576(8 00) /usr/conf/lib/liblan.a: lan_t2.c: PHNE_21215(700)/PHNE_21216(800) $Revision: 1.4.112.19 $ $Date: 2000/03/30 18:11:30 $ lan_dlpi.c for PHNE_21903(700)/PHNE_21904(800) $Revi sion: 1.5.112.38 $ $Date: 2001/01/18 15:40:3 8 $ lanc_input.c: PHNE_23863(700)/PHNE_23862(800) : $Rev ision: 1.9.112.15 $ $Date: 2000/03/30 18:11: 58$ lanc.c: PHNE_23863(700)/PHNE_23862(800) $Revision: 1 .10.112.15 $ $Date: 2001/01/18 15:40:10 $ FILESET LAN: lib lan: Version: A.10.00 lan2.c: PHNE_22351(700)/PHNE_22352(800) $Revision: 1 .9.112.32 $ $Date: 2000/11/23 03:04:58 $ /usr/lib/nls/msg/C/lanadmin.cat: None /usr/share/man/man1m.Z/lanadmin.1m: None /usr/sbin/lanscan: lanscan.c: PHNE_22351(700)/PHNE_22352(800): $Revisio n: 1.10.116.10 $ $Date: 2000/11/13 01:49:01 $ LAN: Version: B.10.10 $Date: 96/05/09 11:26:21 $ libvmmap.a $Revision: 78.1 $ /usr/share/man/man1m.Z/lanscan.1m: None /usr/lib/nls/msg/C/lanscan.cat: None /sbin/init.d/hpether: hpether $Revision: 1.3.116.2 $ $Date: 99/12/31 11:27 :35 $ cksum(1) Output: 3895660213 57344 /usr/sbin/lanadmin 424568029 57344 /usr/sbin/landiag 3213716827 40960 /usr/sbin/linkloop 1820856890 16384 /usr/lib/lanadmin/libdslan2.1 3249649442 16384 /usr/lib/lanadmin/libdslan3.1 2255743584 266924 /usr/conf/lib/liblan.a 2104969713 5483 /usr/lib/nls/msg/C/lanadmin.cat 2645198770 5102 /usr/share/man/man1m.Z/lanadmin.1m 3161824572 53248 /usr/sbin/lanscan 2256967076 1718 /usr/share/man/man1m.Z/lanscan.1m 1489511935 2172 /usr/lib/nls/msg/C/lanscan.cat 1908115670 5577 /sbin/init.d/hpether Patch Conflicts: None Patch Dependencies: s700: 10.20: PHCO_10947 Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_9277 PHNE_10511 PHNE_11051 PHNE_11125 PHNE_11703 PHNE_12575 PHNE_12871 PHNE_13585 PHNE_14501 PHNE_14367 PHNE_14633 PHNE_16999 PHNE_18173 PHNE_20725 PHNE_21215 PHNE_21903 PHNE_22351 Equivalent Patches: PHNE_23862: s800: 10.20 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_23863 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHNE_23863.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHNE_23863. 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_23863.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_23863.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None