Patch Name: PHNE_26125 Patch Description: s700_800 11.00 ndd(1M) cumulative patch Creation Date: 02/01/27 Post Date: 02/02/11 Repost: 02/11/12 The patch documentation was modified to add information to the Other Dependencies field regarding identd(1M) functionality. Hardware Platforms - OS Releases: s700: 11.00 s800: 11.00 Products: N/A Filesets: Networking.NET-RUN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP Automatic Reboot?: No Status: General Release Critical: No Category Tags: defect_repair enhancement general_release Path Name: /hp-ux_patches/s700_800/11.X/PHNE_26125 Symptoms: PHNE_26125: ( SR: 8606234982; Defect: JAGae04166) The problem reported in SR 8606108687 (Defect: JAGab79131) is not effectively addressed by the Special Release patch PHNE_21572. In some cases, the command "ndd -get /dev/tcp tcp_status" still reports the error: "operation failed, Invalid argument" PHNE_25754: ( SR: 8606225148; Defect: JAGad94236) "ndd -c" does not work if the NDD_VALUE for a ndd tunable in the /etc/rc.config.d/nddconf file is a string of non-numeric characters. For example, "NDD_VALUE[0]=lan0 ON" will not be recognized. ( SR: 8606171754; Defect: JAGad41018) Many NDD parameters are not documented in the ndd help text. ( SR: 8606113716; Defect: JAGac07230) "ndd -c" fails when the /etc/rc.config.d/nddconf file contains more than 10 tunables. ( SR: 8606129381; Defect: JAGac86927) "ndd -c" does not support tunable parameters for "arp" device in the /etc/rc.config.d/nddconf file. ( SR: 8606216047; Defect: JAGad85218) "ndd -c" does not process long tunables correctly. ( SR: 8606221683; Defect: JAGad90817) "ndd -c" crashes in some abnormal cases. ( SR: 8606179394; Defect: JAGad48618) ndd does not support a function equivalent to that provided by nettune's "udp_newbcastenable" in 10.20. ( SR: 8606165144; Defect: JAGad34440) The TTL field in UDP Broadcast packets defaults to 1 which is different from the default of 64 in 10.20. ( SR: 8606208110; Defect: JAGad77288) Problem occurs when multiple instances of "ndd -get /dev/tcp tcp_status" are invoked when there are huge number of tcp connections on the system. PHNE_21572: ( SR: 8606129520; Defect: JAGac87855) When STRMSGSZ is set to a small value, ndd may return the error: "operation failed, Invalid argument". ( SR: 8606108687; Defect: JAGab79131) "ndd -get /dev/tcp tcp_status" returns the error: "operation failed, Invalid argument". PHNE_20125: See Defect Description Defect Description: PHNE_26125: ( SR: 8606234982; Defect: JAGae04166) Defect Description: The approach taken to address SR 8606108687 (Defect: JAGab79131) was to remove the timeout completely. However, the error is caused by the restrictions imposed by STRMSGSZ on the maximum buffer size that ndd can use and not because of timing out. Resolution: The changes introduced to address SR 8606108687 (Defect: JAGab79131) have been removed and the timeout value is restored to its initial value. NOTE: As mentioned before, the error "operation failed, Invalid argument" occurs if STRMSGSZ is less than the size of the buffer that ndd uses. To avoid this error, the kernel tunable parameter STRMSGSZ should be modified. Setting STRMSGSZ to 0 will remove the restriction imposed on the maximum buffer size completely. However, if this is not acceptable, the value of STRMSGSZ should be increased depending on the maximum amount of data that ndd is expected to display. The value of STRMSGSZ can be modified using SAM. PHNE_25754: ( SR: 8606225148; Defect: JAGad94236) Defect Description: NDD_VALUE was always treated as an integer. So "ndd -c" fails if NDD_VALUE is a string of non-numeric characters. Resolution: "ndd -c" now works properly even if NDD_VALUE is a string of non-numeric characters. ( SR: 8606171754; Defect: JAGad41018) Defect Description: Changes made to the ndd tunables are not reflected in the ndd help text. Resolution: Updated the ndd help text to include additional information. ( SR: 8606113716; Defect: JAGac07230) Defect Description: The logic used to convert an ascii number to an integer was incorrect. Hence, the index of the tunables in the /etc/rc.config.d/nddconf file was calculated erroneously. Resolution: ndd, now accurately converts ascii numbers to integers. ( SR: 8606129381; Defect: JAGac86927) Defect Description: "arp" was excluded from the list of valid tunable devices that are specified in the /etc/rc.config.d/nddconf file. Resolution: "ndd -c", now supports tunable parameters for "arp" device also. ( SR: 8606216047; Defect: JAGad85218) Defect Description: "ndd -c" does not process long tunables correctly Resolution: Code has been changed to process long tunables correctly. ( SR: 8606221683; Defect: JAGad90817) Defect Description: "ndd -c" crashes in some abnormal cases. Resolution: The code causing the failure has been changed to work properly. ( SR: 8606179394; Defect: JAGad48618) Defect Description: The tunable "ip_enable_udp_bcastrecv" that is equivalent to nettune's "udp_newbcastenable" in 10.20 was not present in the list of supported ndd tunables. The tunable "ip_enable_udp_bcastrecv" enables UDP sockets bound to specific IP addresses to receive broadcast packets. Resolution: The tunable "ip_enable_udp_bcastrecv" has been added to the list of supported ndd tunables. ( SR: 8606165144; Defect: JAGad34440) Defect Description: The default value of the TTL field of the UDP Broadcasts packets is different between 10.20 and 11.00. Resolution: Use the newly supported tunable "ip_max_bcast_ttl" to change the default value of the TTL field. The TTL for the broadcast packets is calculated to be minimum of either ip_max_bcast_ttl tunable or protocol specific TTL value. ( SR: 8606208110; Defect: JAGad77288) Defect Description: tcp_status is obtained internally by reporting the information in the tcp port array list. However contention occurs when multiple instances try to access the port array list. Resolution: Serialized the execution of ndd to get tcp_status/udp_status report through a semaphore. NOTE: Consequently, "ndd -get /dev/tcp tcp_status" may seem to hang when multiple instances of ndd are run trying to get tcp_status/udp_status. PHNE_21572: ( SR: 8606129520; Defect: JAGac87855) Defect Description: The maximum buffer size that ndd can use to communicate with the kernel is limited by STRMSGSZ. If STRMSGSZ is set to a value less than the buffer size, ndd cannot communicate with the kernel and hence returns the error: "operation failed, Invalid argument" Resolution: Code has been modified to compare STRMSGSZ with the buffer size before ndd communicates with the kernel. If STRMSGSZ is less than the buffer size, ndd takes STRMSGSZ as the maximum buffer size. NOTE: This will set a limitation on ndd that it can only retrieve data smaller than STRMSGSZ. If the retrieved data is larger than STRMSGSZ, the error: "operation failed, Invalid argument" will be returned. ( SR: 8606108687; Defect: JAGab79131) Defect Description: When the system is busy, tcp may not be able to get a lock for the tcp hash table within a time range. Hence, the command times out and returns the error: "operation failed, Invalid argument" Resolution: Code has been modified to remove the timeout value from ndd. Now, ndd waits till it gets a response from the kernel. PHNE_20125: ( SR: 1653279786 ; Defect: JAGaa67451) Symptom: ndd -get /dev/ip ip_ire_hash cannot display >100 entries Defect Description: ndd does not display more than 16KB of output. Resolution: ndd now uses a dynamically-allocated output buffer, so that output of any size can be displayed. ( SR not found ; Defect: JAGab16252 ) Symptom: STREAMS error appears when coming up from reboot Defect Description: The console may occasionally output the following STREAMS error message: "ip_rput: lan forced us to pullup pkt" (where is the PPA number of an interface) during bootup. Resolution: The resolution to this problem is to change the default for ip_rput_pullups in the kernel during bootup. This is done via ndd. SR: 1653279786 8606129520 8606108687 8606225148 8606171754 8606113716 8606129381 8606216047 8606221683 8606179394 8606165144 8606208110 8606234982 Patch Files: Networking.NET-RUN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/bin/ndd /usr/lib/nls/msg/C/ndd.cat what(1) Output: Networking.NET-RUN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/bin/ndd: PHNE_26125 ndd.c $Revision: @@/main/r11ros/cup_rar_r 11ros_xport_pib/2 $ $Date: 02/01/27 17:45:48 $ PHNE_26125 nddconfig.c $Revision: @@/main/r11ros/cup _rar_r11ros_xport_pib/2 $ $Date: 02/01/27 17 :45:48 $ /usr/lib/nls/msg/C/ndd.cat: PHNE_26125: ndd.msg $Date: 02/01/27 $ cksum(1) Output: Networking.NET-RUN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 1496809883 77824 /usr/bin/ndd 1482825750 39919 /usr/lib/nls/msg/C/ndd.cat Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: PHNE_26125: Retaining identd(1M) functionality with the installation of this patch, requires a minimum Transport patch level of PHNE_24715 and a minimum sendmail 8.9.3 patch level of PHNE_24419. PHNE_24715 is the first kernel transport patch which supports all the NDD parameters documented in the online NDD help facility provided with this patch ( SR: 8606171754; Defect: JAGad41018). For example, the tunable "ip_enable_udp_bcastrecv" ( SR: 8606179394; Defect: JAGad48618) needs the kernel transport patch PHNE_24715 or above to take effect. If PHNE_24715 or any superseding patch is not installed, trying to use it from the command line will return the error: "name is non-existent for this module for a list of valid names, use name '?'" Trying to set it using "ndd -c" will return the error: "invalid tunable names, ip_enable_udp_bcastrecv for this modules, for a list of valid names, use name '?'" However, the normal operation of the ndd command does not require any additional patches to be installed. Supersedes: PHNE_20125 PHNE_21572 PHNE_25754 Equivalent Patches: None Patch Package Size: 140 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_26125 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHNE_26125.depot By default swinstall will archive the original software in /var/adm/sw/save/PHNE_26125. 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_26125.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHNE_26125.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHNE_26125.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None