PSARC/2012/347 Amendment to IPMItool from PSARC/2011/104
authorJudy Chen <Judy.Chen@oracle.com>
Thu, 31 Jan 2013 15:47:26 -0800
changeset 1137 5f35de46aa92
parent 1136 226e8d9d2ff0
child 1138 6e1f85fa0151
PSARC/2012/347 Amendment to IPMItool from PSARC/2011/104 15919183 Remove ipmitool from Userland consolidation
components/ipmitool/Makefile
components/ipmitool/README
components/ipmitool/ipmievd.8
components/ipmitool/ipmievd.xml
components/ipmitool/ipmitool.1m
components/ipmitool/ipmitool.license
components/ipmitool/ipmitool.p5m
components/ipmitool/patches/7052161.patch
components/ipmitool/patches/7126312.patch
components/ipmitool/patches/7183093.patch
components/ipmitool/patches/enable.sparc.patch
components/ipmitool/patches/ipmievd.local4.patch
components/ipmitool/patches/ipmitool.scanning.patch
components/ipmitool/patches/openipmi.patch
components/ipmitool/svc-ipmievd
components/ipmitool/test_ipmievd
components/ipmitool/test_ipmitool
components/meta-packages/history/SUNWipmi.p5m
components/meta-packages/history/system%2Fipmi%2Fipmitool.p5m
--- a/components/ipmitool/Makefile	Wed Jan 30 10:16:26 2013 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
-#
-
-include ../../make-rules/shared-macros.mk
-
-COMPONENT_NAME=		ipmitool
-COMPONENT_VERSION=	1.8.11
-COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
-COMPONENT_PROJECT_URL=	http://ipmitool.sourceforge.net/
-COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
-COMPONENT_ARCHIVE_HASH=	\
-    sha256:5612f4835d89a6f2cede588eef978a05d63435cf2646256300d9785d8020a13e
-COMPONENT_ARCHIVE_URL=	http://sourceforge.net/projects/ipmitool/files/ipmitool/1.8.11/$(COMPONENT_ARCHIVE)
-COMPONENT_BUGDB=	utility/ipmitool
-
-include ../../make-rules/prep.mk
-include ../../make-rules/configure.mk
-include ../../make-rules/ips.mk
-
-COMPONENT_PREP_ACTION=  (cd $(@D); $(TOUCH) NEWS; $(AUTORECONF) -f -i)
-
-COMPILER=gcc
-
-CONFIGURE_OPTIONS  +=		--prefix=/usr/sfw
-CONFIGURE_OPTIONS  +=		--enable-intf-free=no
-CONFIGURE_OPTIONS  +=		--enable-solaris-opt
-CONFIGURE_OPTIONS  +=		CFLAGS="$(CFLAGS)"
-
-
-# common targets
-build:		$(BUILD_32)
-
-install:	$(INSTALL_32)
-
-# run test_ipmitool && test_ipmievd as root vs self
-# on test vs build machine in tmp vs workspace dir
-test:		$(NO_TESTS)
-
-BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
-
-include ../../make-rules/depend.mk
--- a/components/ipmitool/README	Wed Jan 30 10:16:26 2013 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-
-IMPORTANT:   LSARC 2007/542 Contract Notification Requirements
-
-When any change, modification, version update, bug fix, or other edit occurs
-to the ipmi package(s) or related modules in Solaris, it is mandatory that
-notification describing the change(s) be provided to [email protected] 
-
----
-
-Patches:
-
-1. ipmitool.scanning.patch - fix ipmitool SEGV core dump seen on some
-   Sun Fire X4500s. This fix is expected to be delivered back to Sourceforge
-   before 1.8.11 or 1.8.12 by GNHSoft (or by Sun NSG RE). Sun CR 6739869.
-
-   		gpatch -p0 < ipmitool.scanning.patch
-
-2. ipmievd.local4.patch - fix to allow ipmievd to automatically start
-   logging events to syslog "out of the box" instead of having to edit
-   /etc/syslog.conf with the following line to allow logging of events:
-
-	       	local4.info                      /var/adm/messages
-
--- a/components/ipmitool/ipmievd.8	Wed Jan 30 10:16:26 2013 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,275 +0,0 @@
-'\" t
-.\"
-.\" CDDL HEADER START
-.\"
-.\" The contents of this file are subject to the terms of the
-.\" Common Development and Distribution License (the "License").
-.\" You may not use this file except in compliance with the License.
-.\"
-.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-.\" or http://www.opensolaris.org/os/licensing.
-.\" See the License for the specific language governing permissions
-.\" and limitations under the License.
-.\"
-.\" When distributing Covered Code, include this CDDL HEADER in each
-.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-.\" If applicable, add the following below this CDDL HEADER, with the
-.\" fields enclosed by brackets "[]" replaced with your own identifying
-.\" information: Portions Copyright [yyyy] [name of copyright owner]
-.\"
-.\" CDDL HEADER END
-.\"
-.\"
-.\" Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
-.\"
-.\" ipmievd man page
-.\"
-.TH "ipmievd" "8" "07 November 2011"
-.SH "NAME"
-ipmievd \- IPMI event daemon for sending events to syslog
-.SH "SYNOPSIS"
-ipmievd [\fB\-c\fR|\fB\-h\fR|\fB\-d \fIN\fP\fR|\fB\-v\fR|\fB\-V\fR]
-\fB\-I\fR \fIbmc\fP \fIsel\fP [<\fIoption\fP>]
-
-ipmievd [\fB\-c\fR|\fB\-h\fR|\fB\-v\fR|\fB\-V\fR]
-\fB\-I\fR \fIlan\fP \fB\-H\fR <\fIhostname\fP>
-        [\fB\-p\fR <\fIport\fP>]
-        [\fB\-U\fR <\fIusername\fP>]
-        [\fB\-A\fR <\fIauthtype\fP>]
-        [\fB\-L\fR <\fIprivlvl\fP>]
-        [\fB\-a\fR|\fB\-E\fR|\fB\-P\fR|\fB\-f\fR <\fIpassword\fP>]
-        [\fB\-o\fR <\fIoemtype\fP>]
-        [\fB\-O\fR <\fIsel oem\fP>]
-        \fIsel\fP [<\fIoption\fP>]
-
-ipmievd [\fB\-c\fR|\fB\-h\fR|\fB\-v\fR|\fB\-V\fR]
-\fB\-I\fR \fIlanplus\fP \fB\-H\fR <\fIhostname\fP>
-        [\fB\-p\fR <\fIport\fP>]
-        [\fB\-U\fR <\fIusername\fP>]
-        [\fB\-L\fR <\fIprivlvl\fP>]
-        [\fB\-a\fR|\fB\-E\fR|\fB\-P\fR|\fB\-f\fR <\fIpassword\fP>]
-        [\fB\-o\fR <\fIoemtype\fP>]
-        [\fB\-O\fR <\fIsel oem\fP>]
-        [\fB\-C\fR <\fIciphersuite\fP>]
-        \fIsel\fR [<\fIoption\fP>]
-.SH "DESCRIPTION"
-\fBipmievd\fP is a daemon that listens for events from the
-Baseboard Management Controller (BMC) which are being sent to the 
-System Event Log (SEL), and logs those messages to
-syslog. The daemon actively polls the contents of the SEL for 
-new events.
-When an event is received, it is logged to
-syslog using the
-\fILOG_LOCAL4\fP facility.  On Solaris, it has been made to use
-\fILOG_DAEMON\fP instead, so that no changes to /etc/syslog.conf are necessary.
-.LP
-\fBipmievd\fP is based on the \fBipmitool\fR utility and it shares the same 
-Intelligent Platform Management Interface (IPMI)
-support and session setup options.  The
-\fBipmitool\fR man page provides more information on supported IPMI
-interfaces.
-.SH "OPTIONS"
-.TP 
-\fB\-a\fR
-Prompt for the remote server password.
-.TP
-\fB\-A\fR <\fIauthtype\fP>
-Specify an authentication type to use during IPMIv1.5 \fIlan\fP
-session activation.  Supported types are NONE, PASSWORD, MD2, MD5, or OEM.
-.TP 
-.B \-c
-Present output in comma separated variable (CSV) format.
-.TP
-\fB\-C\fR <\fIciphersuite\fP>
-The remote server authentication, integrity, and encryption algorithms
-to use for IPMIv2 \fIlanplus\fP connections.  See table 22\-19 in the
-IPMIv2 specification.  The default is 3 which specifies RAKP\-HMAC\-SHA1
-authentication, HMAC\-SHA1\-96 integrity, and AES\-CBC\-128 encryption algorightms.
-.TP
-\fB\-E\fR
-The remote server password is specified by the environment
-variable \fIIPMI_PASSWORD\fP.
-.TP
-.BI \-f " password_file"
-Specify a file containing the remote server password. If this
-option is absent, or if password_file is empty, the password
-will default to NULL.
-.IP
-If the 
-.B \-f 
-option is not present, ipmitool will prompt the
-user for a password. If no password is entered at the prompt,
-the remote server password will default to NULL.
-.IP
-For IPMI v1.5, the maximum password length is 16 characters.
-Passwords longer than 16 characters will be truncated.
-.IP
-For IPMI v2.0, the maximum password length is 20 characters.
-Passwords longer than 20 characters will be truncated.
-The longer password length is supported by the 
-.B lanplus 
-interface.
-.TP 
-.B \-h
-Get basic usage help from the command line.
-.TP 
-.BI \-H " hostname"
-Remote server address, which can be an IP address or hostname.  This 
-option is required for the LAN interface connection.
-.TP 
-.BI \-I " interface"
-Selects IPMI interface to use. Possible interfaces are:
-
-.TS
-tab(+);
-l l .
-bmc+IPMI v2.0 BMC interface [default]
-lan+IPMI v1.5 LAN Interface
-lanplus+IPMI v2.0 RMCP+ LAN Interface
-.TE
-.TP 
-\fB\-L\fR <\fIprivlvl\fP>
-Force session privilege level.  Can be CALLBACK, USER,
-OPERATOR, ADMIN. Default is ADMIN.
-.TP
-\fB\-m\fR <\fIlocal_address\fP>
-Set the local IPMB address.  The default is 0x20 and there
-should be no need to change it for normal operation.
-.TP
-\fB\-o\fR <\fIoemtype\fP>
-Select OEM type to support.  This usually involves minor hacks
-in place in the code to work around quirks in various BMCs from
-various manufacturers.  Use \fI\-o list\fP to see a list of
-current supported OEM types.
-.TP
-\fB\-O\fR <\fIsel oem\fP>
-Open selected file and read OEM SEL event descriptions to be used
-during SEL listings.  See examples in contrib dir for file format.
-.TP
-.BI \-p " port"
-Remote server UDP port to connect to (default is 623).
-.TP 
-\fB\-P\fR <\fIpassword\fP>
-Remote server password is specified on the command line.
-If supported it will be obscured in the process list.
-\fBNote!\fR Specifying the password as a command line
-option is not recommended.
-.TP
-.BI \-S " sdrcache"
-Use local file for remote Sensor Data Repository (SDR) cache. 
-Using a local SDR cache can drastically increase performance
-for commands that require knowledge of the entire SDR to perform
-their function.
-.TP 
-\fB\-t\fR <\fItarget_address\fP>
-Bridge IPMI requests to the remote target address.
-.TP
-\.BI \-U " username"
-Remote server username; default is NULL user.
-.TP 
-\fB\-d \fIN\fP\fR
-Use device number N to specify the /dev/ipmiN (or
-/dev/ipmi/N or /dev/ipmidev/N) device to use for in-band
-BMC communication.  Used to target a specific BMC on a
-multi-node, multi-BMC system through the ipmi device
-driver interface.  Default is 0.
-.TP
-.B \-v
-Increase verbose output level.  This option can be specified
-multiple times to increase the level of debug output.  If given
-three times, you will get hexdumps of all incoming and
-outgoing packets.
-.TP 
-.B \-V
-Display version information.
-.SH "COMMANDS"
-.TP 
-\fIhelp\fP
-This can be used to get command\-line help.  It can also be
-placed at the end of commands to get option usage help.
-
-> ipmievd help
-.br 
-Commands:
-    sel      Poll SEL for notification of events
-.TP 
-\fIsel\fP
-This command starts 
-.B ipmievd 
-with the SEL Polling event watching
-mechanism.  This will poll the SEL periodically to determine if
-new events have been logged.  This command should work with all
-BMCs and is capable of using the LAN interface as well to monitor
-a remote system and log its events to a local syslog.
-.RS
-.TP 
-\fBdaemon\fP
-Launch process as a daemon and reparent to init process.
-All messages will be sent to syslog.  This is the default action.
-.TP 
-\fBnodaemon\fP
-Do \fInot\fP become a daemon; instead, log all messages to stderr.
-.TP
-\fBpidfile\fR=\fIfilename\fR
-Save process ID to this file when in daemon mode.  Defaults to
-/var/run/ipmievd.pid.
-.TP 
-\fBtimeout\fR=\fIseconds\fR
-Time between checks for SEL polling method.  Default is 10 seconds.
-.SH "EXIT STATUS"
-Upon successful completion, 
-.B ipmievd 
-returns 0.  On failure, 1 is returned.
-.SH "EXAMPLE"
-Local non\-daemon process checking remote SEL every 30
-seconds:
-
-> ipmievd \-I lan \-H 1.2.3.4 \-f passfile sel nodaemon timeout=30
-.br 
-Reading Sensors...
-.br 
-Waiting for Events...
-.SH "FILES"
-\fB/kernel/drv/amd64//bmc\fR
-.in +30n
-.sp
-x86 \fBELF\fR kernel module for the bmc driver.
-.sp
-.in -30n
-\fB/platform/sun4v/kernel/drv/sparcv9/bmc\fR
-.in +30n
-.sp
-sparc \fBELF\fR kernel module for the bmc driver.
-.in -30n
-\fB/dev/bmc\fR
-.in +30n
-.sp
-Character device node used to communicate with the bmc driver.
-.in -30n
-.SH "SEE ALSO"
-attributes(5),
-ipmitool(1M), 
-smf(5), 
-svcadm(1M), 
-svccfg(1M), 
-svcs(1)
-.TP 
-IPMItool Homepage
-http://ipmitool.sourceforge.net
-.TP 
-Intelligent Platform Management Interface Specification
-http://www.intel.com/design/servers/ipmi/spec.htm
-.TP 
-OpenIPMI Homepage
-http://openipmi.sourceforge.net
-.SH "NOTES"
-The
-.B ipmievd 
-daemon is managed by the service management
-facility, smf(5), under the service identifier:
-svc:/network/ipmievd:default.
-.LP
-Administrative actions on this service, such as enabling
-or disabling, can be performed using svcadm(1M). Use 
-svccfg(1M) to make configuration changes and
-svcs(1) to view configuration information and service status.
--- a/components/ipmitool/ipmievd.xml	Wed Jan 30 10:16:26 2013 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-<?xml version="1.0"?>
-<!--
-CDDL HEADER START
-
-The contents of this file are subject to the terms of the
-Common Development and Distribution License (the "License").
-You may not use this file except in compliance with the License.
-
-You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-or http://www.opensolaris.org/os/licensing.
-See the License for the specific language governing permissions
-and limitations under the License.
-
-When distributing Covered Code, include this CDDL HEADER in each
-file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-If applicable, add the following below this CDDL HEADER, with the
-fields enclosed by brackets "[]" replaced with your own identifying
-information: Portions Copyright [yyyy] [name of copyright owner]
-
-CDDL HEADER END
--->
-
-<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
-<!--
-    Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
--->
-
-<service_bundle type='manifest' name='SUNWipmi:ipmievd'>
-
-<service name='network/ipmievd' type='service' version='1'>
-
-	<!--
-	  Configure a default instance for the service since it doesn't
-	  require additional configuration intervention before it starts.
-	-->
-	<create_default_instance enabled='false' />
-
-	<!--
-	  Wait for all usr filesystem to be mounted. ipmievd is
-	  located in /usr/lib.
-	-->
-	<dependency
-	    name='filesystem-usr'
-	    grouping='require_all'
-	    restart_on='none'
-	    type='service'>
-	    <service_fmri
-		value='svc:/system/filesystem/usr:default'/>
-	</dependency>
-
-	<!--
-	  Wait for syslog to be started in order to write system
-	  messages from the kernel.
-	-->
-	<dependency
-	    name='syslog'
-	    grouping='require_all'
-	    restart_on='none'
-	    type='service'>
-	    <service_fmri
-		value='svc:/system/system-log'/>
-	</dependency>
-
-	<!--
-	  The ipmievd start/stop methods.
-	-->
-
-	<exec_method
-		type='method'
-		name='start'
-		exec='/lib/svc/method/svc-ipmievd %m'
-		timeout_seconds='60'/>
-
-	<exec_method
-		type='method'
-		name='stop'
-		exec=':kill'
-		timeout_seconds='60' />
-
-	<property_group name='startd' type='framework'>
-		<!--
-		  Sub-process core dumps and external kill signals are not
-		  considered errors, so the service should be restarted.
-	        -->
-		<propval name='ignore_error' type='astring'
-			 value='core,signal' />
-	</property_group>
-
-	<stability value='Unstable' />
-
-	<template>
-		<common_name>
-			<loctext xml:lang='C'>
-				IPMI event daemon
-			</loctext>
-		</common_name>
-		<documentation>
-			<manpage title='ipmievd' section='8'
-				manpath='/usr/share/man' />
-			<doc_link name='sourceforge.net'
-				uri='http://sourceforge.net/projects/ipmitool' />
-		</documentation>
-	</template>
-</service>
-
-</service_bundle>
--- a/components/ipmitool/ipmitool.1m	Wed Jan 30 10:16:26 2013 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2239 +0,0 @@
-'\" 
-.\"
-.\" CDDL HEADER START
-.\"
-.\" The contents of this file are subject to the terms of the
-.\" Common Development and Distribution License (the "License").
-.\" You may not use this file except in compliance with the License.
-.\"
-.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-.\" or http://www.opensolaris.org/os/licensing.
-.\" See the License for the specific language governing permissions
-.\" and limitations under the License.
-.\"
-.\" When distributing Covered Code, include this CDDL HEADER in each
-.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-.\" If applicable, add the following below this CDDL HEADER, with the
-.\" fields enclosed by brackets "[]" replaced with your own identifying
-.\" information: Portions Copyright [yyyy] [name of copyright owner]
-.\"
-.\" CDDL HEADER END
-.\"
-.\" Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
-.\"
-.TH ipmitool 1m "07 November 2011"
-.SH NAME
-ipmitool \- utility for controlling IPMI\-enabled devices
-.SH "SYNOPSIS"
-ipmitool [\-c|\-h|\-d N|\-v|\-V] \-I bmc [-S <sdrcache>] <command>
-
-ipmitool [\-c|\-h|\-v|\-V]
-\-I lan \-H <hostname>
-         [\-p <port>]
-         [\-U <username>]
-         [\-A <authtype>]
-         [\-L <privlvl>]
-         [\-a|\-E|\-P|\-f <password>]
-         [\-o <oemtype>]
-         [\-O <sel oem>]
-         [\-e <esc_char>]
-         <command>
-
-ipmitool [\-c|\-h|\-v|\-V]
-\-I lanplus \-H <hostname>
-         [\-p <port>]
-         [\-U <username>]
-         [\-L <privlvl>]
-         [\-a|\-E|\-P|\-f <password>]
-         [\-o <oemtype>]
-         [\-O <sel oem>]
-         [\-C <ciphersuite>]
-         [\-K|\-k <kg_key>]
-         [\-y <hex_kg_key>]
-         [\-e <esc_char>]
-         <command>
-.SH DESCRIPTION
-This program lets you manage Intelligent Platform Management Interface 
-(IPMI) functions of either the local system, via a kernel device driver,
-or a remote system, using IPMI v1.5 and IPMI v2.0. These functions include printing 
-FRU information, LAN configuration, sensor readings, and remote chassis 
-power control.
-     
-IPMI management by a remote station is disabled on platforms as they 
-are shipped. It can be enabled only by the root user on the local system.
-
-.SH SECURITY WARNING
-There are several security issues to be considered before enabling the
-IPMI LAN interface. A remote station has the ability to control a system's power 
-state as well as being able to gather certain platform information. To reduce 
-vulnerability it is strongly advised that the IPMI LAN interface only be 
-enabled in 'trusted' environments where system security is not an issue or 
-where there is a dedicated secure 'management network'. 
-
-Further it is strongly advised that you should not enable IPMI for
-remote access without setting a password, and that that password should
-not be the same as any other password on that system.  
-        
-When an IPMI password is changed on a remote machine the new password is 
-sent across the network as clear text. This could be observed and then 
-used to attack the remote system. It is thus recommended that IPMI
-password management only be done using a tool, such as 'ipmitool', running
-on the local station.
-        	  
-.SH OPTIONS
-.TP 
-\-a
-Prompt for the remote server password.
-.TP 
-\-A <authtype>
-Specify an authentication type to use during IPMIv1.5 lan
-session activation.  Supported types are NONE, PASSWORD, MD2, MD5, or OEM.
-.TP 
-\-c
-Present output in CSV (comma separated variable) format.  
-This is not available with all commands.
-.TP
-\-e <sol_escape_char>
-Use supplied character for SOL session escape character.  The default
-is to use ~ but this can conflict with ssh sessions.
-.TP
-\-k <key>
-Use supplied Kg key for IPMIv2 authentication.  The default is not to
-use any Kg key.
-.TP
-\-y <hex key>
-Use supplied Kg key for IPMIv2 authentication. The key is expected in
-hexadecimal format and can be used to specify keys with non-printable
-characters. E.g. '-k PASSWORD' and '-y 50415353574F5244' are
-equivalent.
-The default is not to use any Kg key.
-.TP 
-\-C <ciphersuite>
-The remote server authentication, integrity, and encryption algorithms
-to use for IPMIv2 lanplus connections.  See table 22\-19 in the
-IPMIv2 specification.  The default is 3 which specifies RAKP\-HMAC\-SHA1 
-authentication, HMAC\-SHA1\-96 integrity, and AES\-CBC\-128 encryption algorightms.
-.TP 
-\-E
-The remote server password is specified by the environment
-variable IPMI_PASSWORD.
-.TP 
-\-f <password_file>
-Specifies a file containing the remote server password. If this
-option is absent, or if password_file is empty, the password
-will default to NULL.
-
-If the \-f option is not present, ipmitool will prompt the
-user for a password. If no password is entered at the prompt,
-the remote server password will default to NULL.
-
-For IPMI v1.5, the maximum password length is 16 characters.
-Passwords longer than 16 characters will be truncated.
-
-For IPMI v2.0, the maximum password length is 20 characters;
-longer passwords are truncated.
-The longer password length is supported by the lanplus interface.
-.TP 
-\-h
-Get basic usage help from the command line.
-.TP 
-\-H <address>
-Remote server address, can be IP address or hostname.  This 
-option is required for lan and lanplus interfaces.
-.TP 
-\-I <interface>
-Selects IPMI interface to use.  Supported interfaces that are
-compiled in are visible in the usage help output.
-.TP 
-\-L <privlvl>
-Force session privilege level.  Can be CALLBACK, USER,
-OPERATOR, ADMINISTRATOR. Default is ADMINISTRATOR.
-.TP 
-\-m <local_address>
-Set the local IPMB address.  The default is 0x20 and there
-should be no need to change it for normal operation.
-.TP 
-\-o <oemtype>
-Select OEM type to support.  This usually involves minor hacks
-in place in the code to work around quirks in various BMCs from
-various manufacturers.  Use \-o list to see a list of
-current supported OEM types.
-.TP 
-\-O <sel oem>
-Open selected file and read OEM SEL event descriptions to be used
-during SEL listings.  See examples in contrib dir for file format.
-.TP
-\-p <port>
-Remote server UDP port to connect to.  Default is 623.
-.TP 
-\-P <password>
-Remote server password is specified on the command line.
-If supported it will be obscured in the process list. 
-Note! Specifying the password as a command line
-option is not recommended.
-.TP 
-\-S <sdr_cache_file>
-Use Sensor Data Repository information from local file 
-<sdr_cache_file> for remote SDR cache.  Using a local SDR cache
-can drastically increase performance for commands that require
-knowledge of the entire SDR to perform their function.  Local
-SDR cache from a remote system can be created with the
-`sdr dump <sdr_cache_file>` command.
-.TP 
-\-t <target_address>
-Bridge IPMI requests to the remote target address.
-.TP 
-\-U <username>
-Remote server username, default is NULL user.
-.TP
-\-d N
-Use device number N to specify the /dev/ipmiN (or 
-/dev/ipmi/N or /dev/ipmidev/N) device to use for in-band 
-BMC communication.  Used to target a specific BMC on a 
-multi-node, multi-BMC system through the ipmi device 
-driver interface.  Default is 0.
-.TP 
-\-v
-Increase verbose output level.  This option may be specified
-multiple times to increase the level of debug output.  If given
-three times you will get hexdumps of all incoming and
-outgoing packets.
-.TP 
-\-V
-Display version information.
-
-.LP 
-If no password method is specified then ipmitool will prompt the
-user for a password. If no password is entered at the prompt,
-the remote server password will default to NULL.
-.SH COMMANDS
-.TP
-help This can be used to get command\-line help  on  ipmitool
-commands.  It may also be placed at the end of commands
-to get option usage help.
-
-ipmitool help
-.br
-Commands:
-        raw          Send a RAW IPMI request and print
-                     response
-        i2c          Send an I2C Master Write-Read
-                     command and print response
-        spd          Print SPD information from remote
-                     I2C device
-        lan          Configure LAN Channels
-        chassis      Get chassis status and set power
-                     state
-        power        Alias for chassis power commands
-        event        Send pre-defined events to MC
-        mc           Management Controller status and
-                     global enables
-        sdr          Print Sensor Data Repository
-                     entries and readings
-        sensor       Print detailed sensor information
-        fru          Print built-in FRU and scan SDR
-                     for FRU locators
-        sel          Print System Event Log (SEL)
-        pef          Configure Platform Event Filtering
-                     (PEF)
-        sol          Configure IPMIv2.0 Serial\-over\-LAN
-        tsol         Configure and connect Tyan
-                     IPMIv1.5 Serial\-over\-LAN
-        isol         Configure and connect Intel
-                     IPMIv1.5 Serial\-over\-LAN
-        user         Configure Management Controller
-                     users
-        channel      Configure Management Controller
-                     channels
-        sunoem       OEM Commands for Sun servers
-        kontronoem   OEM Commands for Kontron
-        picmg        Run a PICMG/ATA extended command
-        firewall     Configure firmware firewall
-        session      Print session information
-        exec         Run list of commands from file
-        set          Set runtime variable for shell and
-                     exec
-        echo         Echo lines to stdout in scripts
-        ekanalyzer   Run FRU-Ekeying analyzer using FRU
-                     files
-
-ipmitool chassis help
-.br
-Chassis Commands:  status, power, identify, policy, restart_cause, poh, bootdev, bootparam, selftest
-
-ipmitool chassis power help
-.br
-chassis power Commands: status, on, off, cycle, reset, diag, soft
-.TP
-bmc|mc
-.RS
-.TP
-reset <warm|cold>
-.br
-
-Instructs the BMC to perform a warm or cold reset.
-.TP
-info
-.br
-
-Displays information about the BMC hardware, including device revision,
-firmware revision, IPMI version supported, manufacturer ID,
-and information on additional device support.
-.TP 
-watchdog
-.br 
-
-These commands allow a user to view and change the current 
-state of the watchdog timer.
-.RS
-.TP 
-get
-.br
-
-Show current Watchdog Timer settings and countdown state.
-.TP 
-reset
-.br
-
-Reset the Watchdog Timer to its most recent state and restart the 
-countdown timer.
-.TP 
-off
-.br
-
-Turn off a currently running Watchdog countdown timer.
-.RE
-.TP 
-selftest
-.br 
-
-Check on the basic health of the BMC by executing the Get Self Test
-results command and reporting the results.
-.TP
-getenables
-.br
-
-Displays a list of the currently enabled options for the BMC.
-.br
-.TP
-setenables <option>=[on|off]
-.br
-
-Enables or disables the given \fIoption\fR.  Currently supported
-values for \fIoption\fR include:
-.RS
-.TP
-recv_msg_intr
-.br
-
-Receive Message Queue Interrupt
-.TP
-event_msg_intr
-.br
-
-Event Message Buffer Full Interrupt
-.TP
-event_msg
-.br
-
-Event Message Buffer
-.TP
-system_event_log
-.br
-
-System Event Logging
-.TP
-oem0
-.br
-
-OEM-Defined option #0
-.TP
-oem1
-.br
-
-OEM-Defined option #1
-.TP
-oem2
-.br
-
-OEM-Defined option #2
-.RE
-.RE
-.TP
-channel
-.RS
-.TP
-authcap <channel number> <max priv>
-
-Displays  information  about  the
-authentication capabilities of the selected channel
-at the specified privilege level.
-.RS
-.TP
-Possible privilege levels are:
-.br
-1   Callback level
-.br
-2   User level
-.br
-3   Operator level
-.br
-4   Administrator level
-.br
-5   OEM Proprietary level
-.RE
-.TP
-info [channel number]
-
-Displays  information  about  the
-selected  channel.  If no channel is given it will
-display information about the currently used channel:
-.RS
-.PP
-ipmitool \-I bmc channel info
-.br
-Channel 0xf info:
-.br
-  Channel Medium Type   : System Interface
-.br
-  Channel Protocol Type : KCS
-.br
-  Session Support       : session\-less
-.br
-  Active Session Count  : 0
-.br
-  Protocol Vendor ID    : 7154
-.RE
-.TP
-getaccess <channel number> [userid]
-.br
-
-Configure the given userid as the default on the given channel number.
-When the given channel is subsequently used, the user is identified
-implicitly by the given userid.
-.TP
-setaccess <channel number> <userid> [callin=on|off]
- [ipmi=on|off] [link=on|off] [privilege=level]
-.br
-
-Configure user access information on the given channel for the given userid.
-.TP
-getciphers <all | supported> <ipmi | sol> [channel]
-.br
-
-Displays the list of cipher suites supported for the given
-application (ipmi or sol) on the given channel.
-.RE
-.TP
-chassis
-.RS
-.TP
-status
-.br
-
-Displays information regarding the high-level
-status of the system chassis and main power
-subsystem.
-.TP
-poh
-.br
-
-This  command  will  return  the  Power\-On Hours counter.
-.TP
-identify <interval>
-
-Control the front panel identify  light.   Default interval
-is 15 seconds.  Use 0 to turn off.  Use "force" to turn on 
-indefinitely.
-.TP
-restart_cause
-.br
-
-Query the chassis for the cause of the last system restart.
-.TP 
-selftest
-.br 
-
-Check on the basic health of the BMC by executing the Get Self Test
-results command and reporting the results.
-.TP
-policy
-.br
-
-Set the chassis power policy in  the  event  power failure.
-.RS
-.TP
-list
-.br
-
-Return supported policies.
-.TP
-always\-on
-.br
-
-Turn on when power is restored.
-.TP
-previous
-.br
-
-Returned to  previous  state  when  power  is restored.
-.TP
-always\-off
-.br
-
-Stay off after power is restored.
-.RE
-.TP
-power
-.br
-
-Performs a chassis control  command  to  view  and
-change the power state.
-.RS
-.TP
-status
-.br
-
-Show current chassis power status.
-.TP
-on
-.br
-
-Power up chassis.
-.TP
-off
-.br
-
-Power  down  chassis  into  soft  off  (S4/S5
-state).   WARNING: This command does not initiate a clean 
-shutdown of the operating  system prior to powering down the system.
-.TP
-cycle
-.br
-
-Provides a power off interval of
-at least 1 second.  No action should occur if
-chassis power is in S4/S5 state,  but  it  is
-recommended  to  check  power state first and
-only issue a power cycle command if the  system  power is 
-on or in lower sleep state than S4/S5.
-.TP
-reset
-.br
-
-This command will perform a hard reset.
-.TP
-diag
-.br
-
-Pulse a  diagnostic  interrupt (NMI) directly to the processor(s).
-.TP
-soft
-.br 
-
-Initiate a soft\-shutdown of OS  via  ACPI  by
-emulating a fatal overtemperature.
-.RE
-.TP
-bootdev <device> [clear-cmos=yes|no] [options=help,...]
-.br
-
-Request the system to boot from an alternate boot device on next reboot.  If the optional
-`clear-cmos` argument is present, the parameter given will be used to determine if the
-values stored in persistent CMOS memory are cleared the next time the system is rebooted.
-Note that this command is not supported on many platforms.
-Various options may be used to modify the boot device settings.
-Run "bootdev none options=help" for a list of available boot device
-modifiers/options.
-
-.RS
-.TP
-Currently supported values for <device> are:
-.TP
-pxe
-.br
-
-Force PXE boot
-.TP
-disk
-.br
-
-Force boot from BIOS default boot device
-.TP
-safe
-.br
-
-Force boot from BIOS default boot device, request Safe Mode
-.TP
-diag
-.br
-
-Force boot from diagnostic partition
-.TP
-cdrom
-.br
-
-Force boot from CD/DVD
-.TP
-bios
-.br
-
-Force boot into BIOS setup
-.TP 
-floppy
-.br 
-
-Force boot from Floppy/primary removable media
-.RE
-.TP 
-bootparam
-.br 
-
-Get or set various system boot option parameters.
-.RS
-.TP 
-get <param #>
-.br 
-
-Get boot parameter. Currently supported values for <param #> are:
-
-0 - Set In Progress
-
-1 - Service Partition Selector
-
-2 - Service Partition Scan
-
-3 - BMC Boot Flag Valid Bit Clearing
-
-4 - Boot Info Acknowledge 
-
-5 - Boot Flags
-
-6 - Boot Initiator Info
-
-7 - Boot Initiator Mailbox
-.br 
-
-.TP 
-set <option> [value ...]
-.br 
-
-Set boot parameter.
-
-.RS
-.TP 
-Currently supported values for <option> are:
-.TP 
-force_pxe
-.br 
-
-Force PXE boot
-.TP 
-force_disk
-.br 
-
-Force boot from default hard-drive
-.TP 
-force_safe
-.br 
-
-Force boot from default hard-drive, request Safe Mode
-.TP 
-force_diag
-.br 
-
-Force boot from diagnostic partition
-.TP 
-force_cdrom
-.br 
-
-Force boot from CD/DVD 
-.TP 
-force_bios
-.br 
-
-Force boot into BIOS setup
-
-.RE
-.RE
-.RE
-.TP
-ekanalyzer <command> <xx=file1> <xx=file2> [<rc=file3>] ...
-.RS
-
-.br
-NOTE : This command can support a maximum of 8 files per command line
-.TP
-file1
-.br
-binary file that stores FRU data of a Carrier or an AMC module
-.TP
-file2
-.br
-binary file that stores FRU data of an AMC module.
-These binary files can be generated from command:
-ipmitool fru read <id> <file>
-.TP
-file3
-.br
-configuration file used for configuring On-Carrier Device ID
-or OEM GUID. This file is optional.
-.TP
-.br
-xx : indicates the type of the file.
-.br
-It can take the following value:
-.RS
-.TP
-.br
-oc : On-Carrier device
-.TP
-.br
-a1 : AMC slot A1
-.TP
-.br
-a2 : AMC slot A2
-.TP
-.br
-a3 : AMC slot A3
-.TP
-.br
-a4 : AMC slot A4
-.TP
-.br
-b1 : AMC slot B1
-.TP
-.br
-b2 : AMC slot B2
-.TP
-.br
-b3 : AMC slot B3
-.TP
-.br
-b4 : AMC slot B4
-.TP
-.br
-sm : Shelf Manager
-
-.RE
-.TP
-.br
-The available commands for ekanalyzer are:
-
-.TP
-print [<carrier | power | all>]
-.RS
-.TP
-carrier (default) <oc=file1> <oc=file2> ...
-.br
-
-Display point-to-point physical connectivity between carriers and AMC modules.
- Example:
-   ipmitool ekanalyzer print carrier oc=fru oc=carrierfru
-   From Carrier file: fru
-      Number of AMC bays supported by Carrier: 2 
-      AMC slot B1 topology:
-         Port 0 =====> On Carrier Device ID 0, Port 16
-         Port 1 =====> On Carrier Device ID 0, Port 12
-         Port 2 =====> AMC slot B2, Port 2
-      AMC slot B2 topology:
-         Port 0 =====> On Carrier Device ID 0, Port 3
-         Port 2 =====> AMC slot B1, Port 2
-   *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
-   From Carrier file: carrierfru
-      On Carrier Device ID 0 topology:
-         Port 0 =====> AMC slot B1, Port 4
-         Port 1 =====> AMC slot B1, Port 5
-         Port 2 =====> AMC slot B2, Port 6
-         Port 3 =====> AMC slot B2, Port 7
-      AMC slot B1 topology:
-         Port 0 =====> AMC slot B2, Port 0
-      AMC slot B1 topology:
-         Port 1 =====> AMC slot B2, Port 1
-      Number of AMC bays supported by Carrier: 2
-
-.TP
-power <xx=file1> <xx=file2> ...
-.br
-
-Display power supply information between carrier and AMC modules.
-.TP
-all <xx=file> <xx=file> ...
-.br
-
-Display both physical connectivity and power supply of each carrier and AMC
-modules.
-
-.RE
-.TP
-frushow <xx=file>
-.br
-
-Convert a binary FRU file into human readable text format. Use -v option to get
-more display information.
-
-.RE
-.RS
-.TP
-summary [<match | unmatch | all>]
-.RS
-.TP
-match (default) <xx=file> <xx=file> ...
-.br
-
-Display only matched results of Ekeying match between an On-Carrier device
-and an AMC module or between 2 AMC modules. Example:
- ipmitool ekanalyzer summary match oc=fru b1=amcB1 a2=amcA2
- On-Carrier Device vs AMC slot B1
-  AMC slot B1 port 0 ==> On-Carrier Device 0 port 16
-   Matching Result
-   - From On-Carrier Device ID 0
-    -Channel ID 11 || Lane 0: enable
-    -Link Type: AMC.2 Ethernet
-    -Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet link
-    -Link Group ID: 0 || Link Asym. Match: exact match
-   - To AMC slot B1
-    -Channel ID 0 || Lane 0: enable
-    -Link Type: AMC.2 Ethernet
-    -Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet link
-    -Link Group ID: 0 || Link Asym. Match: exact match
-   *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
-  AMC slot B1 port 1 ==> On-Carrier Device 0 port 12
-   Matching Result
-   - From On-Carrier Device ID 0
-    -Channel ID 6 || Lane 0: enable
-    -Link Type: AMC.2 Ethernet
-    -Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet link
-    -Link Group ID: 0 || Link Asym. Match: exact match
-   - To AMC slot B1
-    -Channel ID 1 || Lane 0: enable
-    -Link Type: AMC.2 Ethernet
-    -Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet link
-    -Link Group ID: 0 || Link Asym. Match: exact match
-   *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
- On-Carrier Device vs AMC slot A2
-  AMC slot A2 port 0 ==> On-Carrier Device 0 port 3
-   Matching Result
-   - From On-Carrier Device ID 0
-    -Channel ID 9 || Lane 0: enable
-    -Link Type: AMC.2 Ethernet
-    -Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet link
-    -Link Group ID: 0 || Link Asym. Match: exact match
-   - To AMC slot A2
-    -Channel ID 0 || Lane 0: enable
-    -Link Type: AMC.2 Ethernet
-    -Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet link
-    -Link Group ID: 0 || Link Asym. Match: exact match
-   *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
- AMC slot B1 vs AMC slot A2
-  AMC slot A2 port 2 ==> AMC slot B1 port 2
-   Matching Result
-   - From AMC slot B1
-    -Channel ID 2 || Lane 0: enable
-    -Link Type: AMC.3 Storage
-    -Link Type extension: Serial Attached SCSI (SAS/SATA)
-    -Link Group ID: 0 || Link Asym. Match: FC or SAS interface {exact match}
-   - To AMC slot A2
-    -Channel ID 2 || Lane 0: enable
-    -Link Type: AMC.3 Storage
-    -Link Type extension: Serial Attached SCSI (SAS/SATA)
-    -Link Group ID: 0 || Link Asym. Match: FC or SAS interface {exact match}
- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
-.TP
-unmatch <xx=file> <xx=file> ...
-.br
-
-Display the unmatched results of Ekeying match between an On-Carrier device
-and an AMC module or between 2 AMC modules
-.TP
-all <xx=file> <xx=file> ...
-.br
-
-Display both matched result and unmatched results of Ekeying match between two
-cards or two modules.
-.RE
-.RE
-.TP
-event
-.RS
-.TP
-<predefined event number n>
-.br
-
-Send a pre-defined test event to the System Event Log.  The following events are
-included as a means to test the functionality of the System Event Log component
-of the BMC (an entry will be added each time the event \fIn\fR command is
-executed).
-
-Currently supported values for \fIn\fR are:
-.br
-1	Temperature: Upper Critical: Going High
-.br
-2	Voltage Threshold: Lower Critical: Going Low
-.br
-3	Memory: Correctable ECC
-.br
-
-\fINOTE\fR: These pre-defined events will likely not
-produce "accurate" SEL records for a particular system because they will
-not be correctly tied to a valid sensor number, but they are sufficient
-to verify correct operation of the SEL.
-
-.TP
-file <filename>
-.br
-
-Event log records specified in \fIfilename\fR will be added to the System Event Log.
-
-The format of each line in the file is as follows:
-
-<{EvM Revision} {Sensor Type} {Sensor Num} {Event Dir/Type} {Event Data 0} {Event Data 1} {Event Data 2}>[# COMMENT]
-
-e.g.:
-.br
-0x4 0x2 0x60 0x1 0x52 0x0 0x0 # Voltage threshold: Lower Critical: Going Low
-.br 
-
-EvM Revision - 
-The "Event Message Revision" is 0x04 for messages that comply with the IPMI 2.0 
-Specification and 0x03 for messages that comply with the IPMI 1.0 Specification.
-
-Sensor Type - 
-Indicates the Event Type or Class.
-
-Sensor Num - 
-Represents the 'sensor' within the management controller that generated 
-the Event Message.
-
-Event Dir/Type - 
-This field is encoded with the event direction as the high bit 
-(bit 7) and the event type as the low 7 bits.  Event direction is 
-0 for an assertion event and 1 for a deassertion event. 
-
-See the IPMI 2.0 specification for further details on the definitions for
-each field.
-
-.TP 
-<sensorid> <list>
-.br 
-
-Get a list of all the possible Sensor States and pre-defined Sensor State
-Shortcuts available for a particular sensor.   \fIsensorid\fR is the character 
-string representation of the sensor and must be enclosed in double quotes
-if it includes white space.  Several different commands including 
-\fIipmitool sensor list\fR may be used to obtain a list that includes 
-the \fIsensorid\fR strings representing the sensors on a given system. 
-.RS
-.PP 
-ipmitool \-I open event "PS 2T Fan Fault" list
-.br 
-Finding sensor PS 2T Fan Fault... ok
-.br 
-Sensor States:
-.br 
-  State Deasserted
-.br 
-  State Asserted
-.br 
-Sensor State Shortcuts:
-.br 
-  present    absent
-.br 
-  assert     deassert
-.br 
-  limit      nolimit
-.br 
-  fail       nofail
-.br 
-  yes        no
-.br 
-  on         off
-.br 
-  up         down
-
-.RE
-.TP 
-<sensorid> <sensor state> [<direction>]
-
-Generate a custom event based on existing sensor information.
-The optional event \fBdirection\fR can be either \fIassert\fR
-(the default) or \fIdeassert\fR.  
-
-.RS
-.PP 
-ipmitool event "PS 2T Fan Fault" "State Asserted"
-.br 
-Finding sensor PS 2T Fan Fault... ok
-.br 
-   0 | Pre-Init Time-stamp   | Fan PS 2T Fan Fault | State Asserted
-.RE
-.RS
-.PP 
-ipmitool event "PS 2T Fan Fault" "State Deasserted"
-.br 
-Finding sensor PS 2T Fan Fault... ok
-.br 
-   0 | Pre-Init Time-stamp   | Fan PS 2T Fan Fault | State Desserted
-.RE
-.RS
-.PP 
-.RE
-
-.RE
-.TP
-exec <filename>
-
-.RS
-Execute ipmitool commands from \fIfilename\fR.  Each line
-is a complete command.  The syntax of the commands
-are defined by the COMMANDS section in this manpage.
-Each line may have an optional comment at the end
-of the line, delimited with a `#' symbol.
-
-e.g., a command file with one line:
-
-sdr list # get a list of sdr records
-.br
-.RE
-.TP
-fru
-.RS
-.TP
-print
-.br
-
-This command will read all Field  Replaceable  Unit (FRU)
-inventory  data  and  extract  such information as
-serial number, part number, asset tags, and  short
-strings describing the chassis, board, or product.
-.TP 
-read <fru id> <fru file>
-.br 
-
-\fIfru id\fR is the digit ID of the FRU (see output of 'fru print').
-\fIfru file\fR is the absolute pathname of a file in which to dump the
-binary FRU data pertaining to the specified FRU entity.
-.TP 
-write <fru id> <fru file>
-.br 
-
-\fIfru id\fR is the digit ID of the FRU (see output of 'fru print').
-\fIfru file\fR is the absolute pathname of a file from which to pull
-the binary FRU data before uploading it to the specified FRU.
-.TP 
-upgEkey <fru id> <fru file>
-.br 
-
-Update a multirecord FRU location.
-\fIfru id\fR is the digit ID of the FRU (see output of 'fru print').
-\fIfru file\fR is the absolute pathname of a file from which to pull the
-binary FRU data to upload into the specified multirecord FRU entity.
-
-.TP 
-edit <fru id> 
-.br 
-
-This command provides interactive editing of some supported records, namely
-PICMG Carrier Activation Record.  \fIfru id\fR is the digit ID of the FRU 
-(see output of 'fru print'); default is 0.
-
-.TP 
-edit <fru id> field <section> <index> <string>
-.br 
-
-This command may be used to set a field string to a new value.  It replaces 
-the FRU data found at \fIindex\fR in the specified \fIsection\fR with the 
-supplied \fIstring\fR.  
-
-.RS
-.TP
-fru id
-.br
-
-is the digit ID of the FRU (see output of 'fru print').
-.TP
-section
-.br
-
-is a string which refers to FRU Inventory Information
-Storage Areas and may be refer to:
-.RS
-.TP 
-c FRU Inventory Chassis Info Area
-.br
-.TP
-b FRU Inventory Board Info Area
-.br
-.TP
-p FRU Inventory Product Info Area
-.RE
-.TP
-index
-.br
-
-specifies the field number. Field numbering starts on the first 'english text' field type. For instance in the <\fBboard\fR> info area field '0' is <\fBBoard Manufacturer\fR> and field '2' is <\fBBoard Serial Number\fR>; see IPMI Platform Management FRU Information Storage Definition v1.0 R1.1 for field locations.
-.TP
-string
-.br
-
-must be the same length as the string being replaced and must be 8-bit ASCII (0xCx).
-.RE
-.TP 
-edit <fru id> oem iana <record> <format> [<args>]
-.br 
-
-This command edits the data found in the multirecord area. Support for
-OEM specific records is limited. 
-.RE
-.TP 
-firewall
-.br 
-
-This command supports the firmware firewall capability.  It may be used to 
-add or remove security-based restrictions on certain commands/command 
-sub-functions  or to list the current firmware firewall restrictions set on 
-any commands.  For each firmware firewall command listed below, parameters 
-may be included to cause the command to be executed with increasing 
-granularity on a specific LUN, for a specific NetFn, for a specific IPMI 
-Command, and finally for a specific command's sub-function (see Appendix H in the 
-IPMI 2.0 Specification for a listing of any sub-function numbers that may 
-be associated with a particular command).
-
-Parameter syntax and dependencies are as follows:
-
-[<channel H>] [<lun L> [<netfn N> [<command C [<subfn S>]]]] 
-
-Note that if "netfn <\fBN\fR>" is specified, then "lun <\fBL\fR>" must also be 
-specified;  if "command <\fBC\fR>" is specified, then "netfn <\fBN\fR>" (and
-therefore "lun <\fBL\fR>") must also be specified, and so forth.
-
-"channel <\fBH\fR>" is an optional and standalone parameter.  If not specified,
-the requested operation will be performed on the current channel.  Note that
-command support may vary from channel to channel. 
-
-Firmware firewall commands:
-.RS
-.TP 
-info [<parms as described above>]
-.br 
-
-List firmware firewall information for the specified LUN, NetFn, and 
-Command (if supplied) on the current or specified channel.  Listed
-information includes the support, configurable, and enabled bits for
-the specified command or commands.
-
-Some usage examples:
-.RS
-.TP 
-info [<channel H>] [<lun L>] 
-.br 
-
-This command will list firmware firewall information for all NetFns for the 
-specified LUN on either the current or the specified channel.
-.TP 
-info [<channel H>] [<lun L> [<netfn N>]] 
-.br 
-
-This command will print out all command information for a single LUN/NetFn pair.
-.TP 
-info [<channel H>] [<lun L> [<netfn N> [<command C]]] 
-.br 
-
-This prints out detailed, human-readable information showing the support, configurable,
-and enabled bits for the specified command on the specified LUN/NetFn pair.  Information
-will be printed about each of the command subfunctions.
-.TP 
-info [<channel H>] [<lun L> [<netfn N> [<command C [<subfn S>]]]] 
-.br 
-
-Print out information for a specific sub-function.
-.RE
-.TP 
-enable [<parms as described above>]
-.br 
-
-This command is used to enable commands for a given NetFn/LUN combination on
-the specified channel. 
-.TP 
-disable [<parms as described above>] [force]
-.br 
-
-This command is used to disable commands for a given NetFn/LUN combination on
-the specified channel.   Great care should be taken if using the "force"
-option so as not to disable the "Set Command Enables" command.
-.TP 
-reset [<parms as described above>]
-.br 
-
-This command may be used to reset the firmware firewall back to a state
-where all commands and command sub-functions are enabled.
-
-.RE
-.TP
-i2c <i2caddr> <read bytes> [<write data>]
-.br
-
-Sends an I^2C Master Write-Read command (if <write data> is supplied,
-it is written to the I^2C master first)
-to the device at address <i2caddr> and displays <read bytes> bytes of response.
-.br
-
-Note: this command is not supported by all BMCs.
-.br
-
-The following command writes the values 0x2, 0x3, and 0x4, then attempts to read 5 bytes from the I^2C master
-at address 0xa:
-.br
-
-ipmitool i2c 0xa 5 0x2 0x3 0x4
-
-.TP
-isol
-.RS
-.TP 
-info
-.br 
-
-Retrieve information about the Intel IPMI v1.5 Serial\-Over\-LAN
-configuration.
-.TP 
-set <parameter> <value>
-.br 
-
-Configure parameters for Intel IPMI v1.5 Serial\-over\-LAN.
-.RS
-.TP
-Valid parameters and values are:
-.br
-.TP
-enabled
-true, false
-.TP
-privilege\-level
-user, operator, admin, oem
-.TP
-bit\-rate
-9.6, 19.2, 38.4, 57.6, 115.2
-.RE
-.TP
-activate
-.br
-
-Causes ipmitool to enter Intel IPMI v1.5 Serial Over LAN mode. An RMCP+
-connection is made to the BMC, the terminal is set to raw mode, and user
-input is sent to the serial console on the remote server. On exit, the
-the SOL payload mode is deactivated and the terminal is reset to its
-original settings.
-.RS
-
-Special escape sequences are provided to control the SOL session:
-.RS
-.TP
-~.        Terminate connection
-.TP
-~^Z       Suspend ipmitool
-.TP
-~^X       Suspend ipmitool, but don't restore tty on restart
-.TP
-~B        Send break
-.TP
-~~        Send the escape character by typing it twice
-.TP
-~?        Print the supported escape sequences
-.RE
-
-Note that escapes are only recognized immediately after newline.
-.RE
-
-.RE
-.TP 
-kontronoem
-.RS
-
-OEM commands specific to Kontron devices.
-.TP
-setsn
-.br
-
-Set FRU serial number.
-.TP
-setmfgdate
-.br
-
-Set FRU manufacturing date.
-.TP
-nextboot <boot device>
-.br
-
-Select the next boot order on the Kontron CP6012.
-.RE
-.TP
-lan
-.RS
-.TP
-print [<channel>]
-.br
-
-Print the  current  configuration  for  the  given channel.
-The default will print information on the first found LAN channel.
-.TP
-set <channel> <command> <parameter>
-.br
-
-Set the given  command and parameter  on  the  given  channel.
-Valid command/parameters are:
-.RS
-.TP
-ipaddr <x.x.x.x>
-.br
-
-Set the IP address for this channel.
-.TP
-netmask <x.x.x.x>
-.br
-
-Set the netmask for this channel.
-.TP
-macaddr <xx:xx:xx:xx:xx:xx>
-.br
-
-Set the MAC address for this channel.
-.TP
-defgw ipaddr <x.x.x.x>
-.br
-
-Set the default gateway IP address.
-.TP
-defgw macaddr <xx:xx:xx:xx:xx:xx>
-.br
-
-Set the default gateway MAC address.
-.TP
-bakgw ipaddr <x.x.x.x>
-.br
-
-Set the backup gateway IP address.
-.TP
-bakgw macaddr <xx:xx:xx:xx:xx:xx>
-.br
-
-Set the backup gateway MAC address.
-.TP
-password <pass>
-.br
-
-Set the null user password.
-.TP
-snmp <community string>
-.br
-
-Set the SNMP community string.
-.TP
-user
-.br
-
-Enable user access mode for userid 1 (issue the `user'
-command to display information about userids for a given channel).
-.TP
-access <on|off>
-.br
-
-Set LAN channel access mode.
-.TP 
-alert <on|off>
-.br 
-
-Enable or disable PEF alerting for this channel.
-.TP
-ipsrc <source>
-.br
-
-Set the IP address source:
-.br
-none = unspecified
-.br
-static = manually configured static IP address
-.br
-dhcp = address obtained by BMC running DHCP
-.br
-bios = address loaded by BIOS or system software
-.TP
-arp respond <on|off>
-.br
-
-Set BMC generated ARP responses.
-.TP
-arp generate <on|off>
-.br
-
-Set BMC generated gratuitous ARPs.
-.TP
-arp interval <seconds>
-.br
-
-Set BMC generated gratuitous ARP interval.
-.TP
-auth <level,...> <type,...>
-.br
-
-Set the valid  authtypes  for  a  given  auth level.
-.br
-Levels: callback, user, operator, admin
-.br
-Types: none, md2, md5, password, oem
-.TP
-cipher_privs <privlist>
-.br
-
-Correlates cipher suite numbers with the maximum privilege
-level that is allowed to use it.  In this way, cipher suites can restricted
-to users with a given privilege level, so that, for example,
-administrators are required to use a stronger cipher suite than
-normal users.
-
-The format of \fIprivlist\fR is as follows.  Each character represents a privilege level
-and the character position identifies the cipher suite number.  For example, the
-first character represents cipher suite 1 (cipher suite 0 is reserved), the second represents
-cipher suite 2, and so on.  \fIprivlist\fR must be 15 characters in length.
-
-Characters used in \fIprivlist\fR and their associated privilege levels are:
-
-X	Cipher Suite Unused
-.br
-c	CALLBACK
-.br
-u	USER
-.br
-o	OPERATOR
-.br
-a	ADMIN
-.br
-O	OEM
-.br
-
-So, to set the maximum privilege for cipher suite 1 to USER and suite 2 to
-ADMIN, issue the following command:
-
-ipmitool -I \fIinterface\fR lan set \fIchannel\fR cipher_privs uaXXXXXXXXXXXXX
-
-.RE
-.TP
-alert print [<channel>] [<destination>]
-.br 
-
-Print alert information for the specified channel and destination.  
-The default will print all alerts for all alert destinations on the 
-first found LAN channel.
-
-.TP
-alert set <channel> <destination> <command> <parameter>
-.br 
-
-Set an alert on the given LAN channel and destination.   Alert Destinations are
-listed via the 'lan alert print' command.  Valid command/parameters are:
-.RS
-.TP 
-ipaddr <x.x.x.x>
-.br 
-
-Set alert IP address.
-.TP 
-macaddr <xx:xx:xx:xx:xx:xx>
-.br 
-
-Set alert MAC address.
-.TP 
-gateway <default | backup>
-.br 
-
-Set the channel gateway to use for alerts.
-.TP 
-ack <on | off>
-.br 
-
-Set Alert Acknowledge on or off.
-.TP 
-type <pet | oem1 | oem2>
-.br 
-
-Set the destination type as PET or OEM.
-.TP 
-time <seconds>
-.br 
-
-Set ack timeout or unack retry interval.
-.TP 
-retry <number>
-.br 
-
-Set the number of alert retries.
-.RE
-.TP
-stats get [<channel>]
-.br 
-
-Retrieve information about the IP connections on the specified channel.
-The default will retrieve statistics on the first found LAN channel.
-.TP
-stats clear [<channel>]
-.br 
-
-Clear all IP/UDP/RMCP Statistics to 0 on the specified channel.
-The default will clear statistics on the first found LAN channel.
-.RE
-.TP
-pef
-.RS
-.TP
-info
-.br
-
-This command will query the BMC and print information about the PEF supported features.
-.TP
-status
-.br
-
-This command prints the current PEF status (the last SEL entry processed by the BMC, etc).
-.TP
-policy
-.br
-
-This command lists the PEF policy table entries.  Each policy 
-entry describes an alert destination.  A policy set is a 
-collection of table entries.  PEF alert actions reference policy sets.
-.TP
-list
-.br
-
-This command lists the PEF table entries.  Each PEF entry 
-relates a sensor event to an action.  When PEF is active, 
-each platform event causes the BMC to scan this table for 
-entries matching the event, and possible actions to be taken.
-Actions are performed in priority order (higher criticality first).
-.RE
-.TP
-picmg <properties> 
-.RS
-
-Run a PICMG/ATA extended command. Get PICMG properties may be used to
-obtain and print Extension major version information, PICMG identifier,
-FRU Device ID and Max FRU Device ID.
-.TP 
-addrinfo
-.br 
-
-Get address information.  This command may return information on the Hardware
-address, IPMB-0 Address, FRU ID, Site/Entity ID, and Site/Entity Type.
-.TP 
-frucontrol <fru id> <options>
-.br 
-
-Set various control options:
-.RS
-.TP 
-0x00      - Cold Reset
-.br 
-.TP 
-0x01      - Warm Reset
-.br 
-.TP 
-0x02      - Graceful Reboot
-.br 
-.TP 
-0x03      - Issue Diagnostic Interrupt
-.br 
-.TP 
-0x04      - Quiesce [AMC only]
-.br 
-.TP 
-0x05-0xFF - Cold Reset
-.br 
-.RE
-.TP 
-activate <fru id>
-.br 
-
-Activate the specified FRU.
-.TP 
-deactivate <fru id>
-.br 
-
-Deactivate the specified FRU.
-.TP 
-policy get <fru id>
-.br 
-
-Get FRU activation policy.
-.TP 
-policy set <fru id> <lockmask> <lock>
-.br 
-
-Set FRU activation policy.  \fIlockmask\fR is 1 or 0 to indicate action
-on the deactivation or activation locked bit respectively.  \fIlock\fR is
-1 or 0 to set/clear locked bit.
-.TP 
-portstate set|getall|getgranted|getdenied <parameters> 
-.br 
-
-Get or set various port states.  See usage for parameter details.
-.RE
-.TP 
-power <chassis power command>
-.br 
-
-Alias for the "chassis power" commands.
-See the "chassis power" commands for usage information.
-.TP 
-raw <netfn> <cmd> [<data>]
-.br
-
-This will allow you to execute raw IPMI commands.   For
-example to query the POH counter with a raw command:
-
-ipmitool \-v \-I bmc raw 0x0 0xf
-.br
-RAW REQ (netfn=0x0 cmd=0xf data_len=0)
-.br
-RAW RSP (5 bytes)
-.br
-3c 72 0c 00 00
-.TP
-sdr
-.RS
-.TP
-info
-.br
-
-This command will query the BMC for Sensor Data Record (SDR) Repository information.
-.TP
-type [list|<sensor type>]
-.br
-
-Displays sensor data records only for the sensor type (e.g. `temperature', `voltage', etc.)
-chosen.  A list of all supported sensor types may be displayed if the `list' keyword is used instead
-of a sensor type.  Note that the sensor type is not case sensitive.  Also note that there may be a large
-delay before any information is displayed, because ipmitool does a full scan of all sensor records and builds
-a list of just those that meet the type criterion given.
-.TP
-list|elist [all|full|compact|event|mcloc|fru|generic]
-.br
-
-This command will read the Sensor Data Records (SDR) and 
-extract sensor information of a given type, then query each sensor and 
-print its name, reading, and status.  The `elist' form of this command
-prints additional information about each data record (e.g. threshold type,
-sensor number, sensor entity).
-.RS
-.TP
-Valid types are:
-.RS
-.TP
-all
-.br
-
-All SDR records (Sensor and Locator) 
-.TP
-full
-.br
-
-Full Sensor Record
-.TP
-compact
-.br
-
-Compact Sensor Record
-.TP
-event
-.br
-
-Event-Only Sensor Record
-.TP
-mcloc
-.br
-
-Management Controller Locator Record
-.TP
-fru
-.br
-
-FRU Locator Record
-.TP
-generic
-.br
-
-Generic SDR records
-.RE
-.RE
-.TP
-entity <id>[.<instance>]
-.br
-
-Displays all sensors associated with an entity.  Get a list of
-valid entity ids on the target system by issuing the `sdr list' command
-with the verbose option (`-v').  A list of all entity ids can be found
-in the IPMI specifications.
-.TP
-dump <file>
-.br
-
-Dumps raw SDR data to a file.  This file may also be used as the sdr cache, supplied to ipmitool
-with the `\-S' option, dramatically speeding up the `sdr' and `sel elist' commands.
-.TP 
-fill sensors
-.br 
-
-Create the SDR Repository for the current configuration.  Will perform
-a 'Clear SDR Repository' command so be careful.
-.TP 
-fill file <filename>
-.br 
-
-Fill the SDR Repository using records stored in a binary data file. Will perform
-a 'Clear SDR Repository' command so be careful.
-.RE
-.TP
-sel
-.br
-
-NOTE: System Event Log (SEL) entry-times are displayed as 
-`Pre-Init Time-stamp' if the SEL clock needs to be set.
-Ensure that the SEL clock is accurate by invoking the
-`sel time get' and
-`sel time set <time string>' commands.
-.RS
-.TP
-info 
-.br
-
-This command will query the BMC for information
-about the System Event Log (SEL) and its contents.
-.TP
-clear
-.br
-
-This command will clear the contents of the SEL.
-It cannot be undone so be careful.
-.TP
-list|elist
-.br
-
-When this command is invoked without arguments, the entire
-contents of the SEL are displayed.  In addition to the information
-displayed by the `list' command, the `elist' command will cross-reference
-SEL records with SDR records to produce descriptive event output.
-
-.RS
-.TP
-<count> | first <count>
-.br
-
-Displays the first \fIcount\fR (least-recent) entries in the SEL.
-If \fIcount\fR is zero, all entries are displayed.
-.TP
-last <count>
-.br
-
-Displays the last \fIcount\fR (most-recent) entries in the SEL.
-If \fIcount\fR is zero, all entries are displayed.
-.RE
-.TP          
-delete <SEL Record ID> ... <SEL Record ID>
-.br 
-
-Delete one or more SEL event records.
-.TP 
-add <file>
-.br 
-
-Read event entries from a file and add them to the SEL.  New SEL
-entries area added onto the SEL after the last record in the SEL.
-Record added is of type 2 and is automatically timestamped.
-.TP 
-get <SEL Record ID>
-.br 
-
-Print information on the specified SEL Record entry.
-.TP 
-save <file>
-
-Save SEL records to a text file that can be fed back into the
-`event file' ipmitool command.  This can be useful for
-testing Event generation by building an appropriate Platform
-Event Message file based on existing events.  Please see the
-available help for the 'event file ...' command for a description of
-the format of this file.
-.TP 
-writeraw <file>
-
-Save SEL records to a file in raw, binary format.  This file can
-be fed back to the `sel readraw' ipmitool command for viewing.
-.TP 
-readraw <file>
-
-Read and display SEL records from a binary file.  Such a file can
-be created using the `sel writeraw' ipmitool command.
-.TP          
-time
-.RS
-.TP
-get
-.br
-
-Displays the SEL clock's current time.
-.TP
-set <time string>
-.br
-
-Sets the SEL clock.  Future SEL entries will use the time
-set by this command.  <time string> is of the
-form "MM/DD/YYYY HH:MM:SS".  Note that hours are in 24-hour
-form.  It is recommended that the SEL be cleared before
-setting the time.
-.RE
-.RE
-.TP
-sensor
-.RS
-.TP
-list
-.br
-
-Lists sensors and thresholds in a wide table format.
-.TP
-get <id> ... [id]
-.br
-
-Prints information for sensors specified by name.
-.TP
-thresh <id> <threshold> <setting>
-.br
-
-This allows you to set a particular sensor threshold 
-value.  The sensor is specified by name.
-.RS
-.TP
-Valid thresholds are:
-.br
-unr   Upper Non\-Recoverable
-.br
-ucr   Upper Critical
-.br
-unc   Upper Non\-Critical
-.br
-lnc   Lower Non\-Critical
-.br
-lcr   Lower Critical
-.br
-lnr   Lower Non\-Recoverable
-.RE
-.RE
-.TP
-session
-.RS
-.TP
-info <active | all | id 0xnnnnnnnn | handle 0xnn>
-.br
-
-Get information about the specified session(s).  You may identify
-sessions by their id, by their handle number, by their active status,
-or by using the keyword `all' to specify all sessions.
-.RE
-.TP
-sol
-.RS
-.TP
-info [<channel number>]
-.br
-
-Retrieve information about the Serial-Over-LAN configuration on 
-the specified channel.  If no channel is given, it will display 
-SOL configuration data for the currently used channel.
-.TP 
-payload <enable | disable | status> <channel> <userid>
-.br 
-
-Enable, disable or show status of SOL payload for the user on the 
-specified channel. 
-.TP
-set <parameter> <value> [channel]
-.br
-
-Configure parameters for Serial Over Lan.  If no channel is given,
-it will display SOL configuration data for the currently used
-channel.  Configuration parameter updates are automatically guarded
-with the updates to the set-in-progress parameter.
-.RS
-.TP
-Valid parameters and values are:
-.br
-.TP
-set-in-progress
-set-complete set-in-progress commit-write
-.TP
-enabled
-true false
-.TP
-force-encryption
-true false
-.TP
-force-authentication
-true false
-.TP
-privilege-level
-user operator admin oem
-.TP
-character-accumulate-level
-Decimal number given in 5-millisecond increments
-.TP
-character-send-threshold
-Decimal number
-.TP
-retry-count
-Decimal number.  0 indicates no retries after packet is transmitted.
-.TP
-retry-interval
-Decimal number in 10 millisend increments.  0 indicates 
-that retries should be sent back to back.
-.TP
-non-volatile-bit-rate
-serial, 19.2, 38.4, 57.6, 115.2.  Setting this value to 
-serial indicates that the BMC should use the setting used 
-by the IPMI over serial channel.
-.TP
-volatile-bit-rate
-serial, 19.2, 38.4, 57.6, 115.2.  Setting this value to 
-serial indiates that the BMC should use the setting used 
-by the IPMI over serial channel.
-.RE
-.TP
-activate [usesolkeepalive | nokeepalive]
-.br
-
-Causes ipmitool to enter Serial Over LAN
-mode, and is only available when using the lanplus
-interface.  An RMCP+ connection is made to the BMC,
-the terminal is set to raw mode, and user input is
-sent to the serial console on the remote server.
-On exit,the the SOL payload mode is deactivated and
-the terminal is reset to its original settings.
-.RS
-
-Special escape sequences are provided to control the SOL session:
-.RS
-.TP
-~.   Terminate connection
-.TP
-~^Z  Suspend ipmitool
-.TP 
-~^X  Suspend ipmitool, but don't restore tty on restart
-.TP
-~B   Send break
-.TP
-~~   Send the escape character by typing it twice
-.TP
-~?   Print the supported escape sequences
-.RE
-
-Note that escapes are only recognized immediately after newline.
-.RE
-.TP
-deactivate
-.br
-
-Deactivates Serial Over LAN mode on the BMC.
-Exiting Serial Over LAN mode should automatically cause
-this command to be sent to the BMC, but in the case of an
-unintentional exit from SOL mode, this command may be
-necessary to reset the state of the BMC.
-.RE
-.TP 
-spd <i2cbus> <i2caddr> [<channel>] [<maxread>]
-.br 
-
-This command may be used to read SPD (Serial Presence Detect) data using the 
-I2C Master Write-Read IPMI command.
-
-.TP
-sunoem
-.br
-
-Sun OEM-specific IPMI commands.  Support for these commands depends heavily on the Sun platform targeted.
-Please consult your Sun Hardware Reference Guide for information on Sun OEM-specific IPMI
-functionality to determine if the following commands are supported on your desired platform.
-.RS
-.TP
-fan speed <0-100>
-.br
-
-Sets the system fan speed (in units of PWM duty cycle)
-.RE
-.RS
-.TP
-sshkey
-.br
-
-Administer SSH keys for service processor users.
-.RS
-.TP
-set <userid> <id_rsa.pub>
-.br
-
-Sets the SSH key for the given userid to the key found in the given file.  (A
-list of users may be obtained with the 'user list' command).
-.RE
-.RS
-.TP
-del <userid>
-.br
-
-Delete the SSH key for the given userid.
-.RE
-.RE
-
-.RS
-.TP
-led
-.br
-
-Manipulate the settings for LEDs found via the `sdr elist generic' command.
-Once the sensor ID of the LED is found (the `elist' command displayed the sensor ID),
-it may be used in the following subcommands.  When an LED type is required, it can
-be one of the following values: `OK2RM' (OK to Remove), `SERVICE' (Service Required),
-`ACT' (Activity), or `LOCATE' (Locate).  When an LED mode is required, it can be one
-of the following values: `OFF' (Off), `ON' (Steady On), `STANDBY' (100ms ON, 2900ms OFF blink rate),
-`SLOW' (1HZ blink rate), or `FAST' (4HZ blink rate).
-
-.RS
-.TP
-get <sensorid> [<ledtype>]
-.br
-
-Read the status of the LED with the given <sensorid>.  If <sensorid> is the special keyword `all', then
-the status of all LEDs will be displayed.  The optional parameter, <ledtype>, further restricts the output
-to LEDs of the given type.
-.RE
-.RS
-.TP
-set <sensorid> <ledmode> [<ledtype>]
-.br
-
-Sets the mode of the LED with the given <sensorid> (and optionally the given type <ledtype>) to the given <ledmode>.
-If <sensorid> is the special keyword `all', then the status of all LEDs will be set (optionally qualified by the
-given type <ledtype>).
-.RE
-.RE
-.TP
-user
-.RS
-.TP
-summary
-.br
-
-Displays a summary of userid information, including maximum number of userids,
-the number of enabled users, and the number of fixed names defined.
-.TP
-list
-.br
-
-Displays a list of user information for all defined userids.
-.TP
-set
-.RS
-.TP
-name <userid> <username>
-.br
-
-Sets the username associated with the given userid.
-.TP
-password <userid> [<password>]
-.br
-
-Sets the password for the given userid.  If no password is given,
-the password is cleared (set to the NULL password).  Be careful when
-removing passwords from administrator-level accounts.
-.RE
-.TP
-disable <userid>
-.br
-
-Disables access to the BMC by the given userid.
-.TP
-enable <userid>
-.br
-
-Enables access to the BMC by the given userid.
-.TP 
-priv <userid> <privilege level> [<channel>]
-.br 
-
-Set user privilege level on the specified channel.  If the channel is not 
-specified, the current channel will be used.
-.TP
-test <userid> <16|20> [<password>]
-.br
-
-Determine whether a password has been stored as 16 or 20 bytes.
-.RE
-
-\fINOTE\fR: Sun systems, such
-as the v20z and v40z, maintain the LAN interface on 
-channel 1.  To determine on which channel the LAN interface
-is located, issue the `channel info \fIchannel\fR' command.
-.SH BMC INTERFACE
-The ipmitool bmc interface utilizes the bmc device driver.
-     
-In order to force ipmitool to make use of the device interface
-you can specify it on the command line:
-
-ipmitool \-I bmc <command>
-
-.SH LAN INTERFACE
-The ipmitool lan interface communicates with a remote BMC over an
-Ethernet LAN connection using UDP over IPv4.  UDP datagrams
-are formatted to contain IPMI request/response messages with
-IPMI session headers and RMCP headers.
-
-IPMI\-over\-LAN uses version 1 of the Remote  Management  Control
-Protocol (RMCP) to support pre\-OS and OS\-absent management.
-RMCP is a request\-response protocol  delivered  using
-UDP datagrams to port 623.
-
-The LAN interface is an authenticated multi\-session connection;
-messages  delivered  to  the  BMC can (and should) be
-authenticate with a challenge/response protocol with either
-straight   password/key  or  MD5  message\-digest.
-ipmitool  will  attempt  to   connect   with   administrator
-privilege level as this is required to perform chassis power
-functions.
-
-You can tell ipmitool to use the lan interface with  the  \-I
-option:
-
-ipmitool \-I lan \-H <hostname> [\-f password_file] <command>
-
-A hostname must be given on the command line in order to use
-the  lan  interface  with 'ipmitool'.   The \fIpassword_file\fR
-is optional but, if present, should contain the password to be
-used for authentication.  If no password is given, ipmitool will
-attempt to connect without authentication.
-
-If \fIpassword_file\fR is present and non\-empty ipmitool will
-attempt to authenticate with an MD5 message-digest if MD5 is 
-supported by the BMC.  If MD5 is not supported by the BMC,
-straight password/key authentication will be attempted.
-
-.SH LANPLUS INTERFACE
-
-.LP
-Like the \fIlan\fP interface, the \fIlanplus\fP interface
-communicates with the BMC over an Ethernet LAN connection
-using UDP over IPv4.  The difference is that the \fIlanplus\fP
-interface uses the RMCP+ protocol as described in the IPMI v2.0
-specification.  RMCP+ allows for improved authentication and data
-integrity checks, as well as encryption and the ability to carry
-multiple types of payloads.  Generic Serial-over-LAN support 
-requires RMCP+, so the ipmitool \fIsol activate\fP command requires
-the use of the \fIlanplus\fP interface.
-.LP
-Establishing a RMCP+ session uses RAKP (Remote
-Authenticated Key-Exchange Protocol), which enables the negotiation of
-many options.  ipmitool does not yet allow the user to specify
-values for all the options, defaulting to the most obvious settings for those
-settings marked as required in the v2.0 specification.  Authentication and integrity 
-HMACs use the SHA-1 algorithm, and encryption is performed with AES, in CBC mode,
-at 128-bits of strength. Role-level logins are not supported.  ipmitool must
-be configured with the appropriate option for the \fIlanplus\fP interface
-to be available, as it is not enabled by default.  This interface currently
-requires the OpenSSL library.
-.LP
-You can tell ipmitool to use the lanplus interface with the \fB\-I\fR option:
-.PP
-ipmitool \-I lanplus \-H <hostname> [\-U username] [\-f password_file] <expression>
-.LP
-The options available for the \fIlanplus\fP interface are identical to those available for
- the \fIlan\fP interface.
-
-.SH EXIT STATUS
-
-Upon successful completion, ipmitool returns 0.  On failure, 1 is returned.
-
-.SH EXAMPLES
-.TP
-Example 1 : Listing remote sensors:
-
-> ipmitool \-I lan \-H 1.2.3.4 \-f passfile sdr list
-.br
-Baseboard 1.25V  | 1.24 Volts        | ok
-.br
-Baseboard 2.5V   | 2.49 Volts        | ok
-.br
-Baseboard 3.3V   | 3.32 Volts        | ok
-.TP
-Example 2: Displaying status of a remote sensor:
-
-> ipmitool \-I lan \-H 1.2.3.4 \-f passfile sensor get "Baseboard 1.25V"
-.br
-Locating sensor record...
-.br
-Sensor ID              : Baseboard 1.25V (0x10)
-.br
-Sensor Type (Analog)   : Voltage
-.br
-Sensor Reading         : 1.245 (+/\- 0.039) Volts
-.br
-Status                 : ok
-.br
-Lower Non\-Recoverable  : na
-.br
-Lower Critical         : 1.078
-.br
-Lower Non\-Critical     : 1.107
-.br
-Upper Non\-Critical     : 1.382
-.br
-Upper Critical         : 1.431
-.br
-Upper Non\-Recoverable  : na 
-.TP
-Example 3: Displaying the power status of a remote chassis:
-
-> ipmitool \-I lan \-H 1.2.3.4 \-f passfile chassis power status
-.br
-Chassis Power is on
-.TP
-Example 4: Controlling the power on a remote chassis:
-
-> ipmitool \-I lan \-H 1.2.3.4 \-f passfile chassis power on
-.br
-Chassis Power Control: Up/On
-	
-.SH FILES
-
-\fB/kernel/drv/amd64//bmc\fR
-.in +30n
-.sp
-x86 \fBELF\fR kernel module for the bmc driver.
-.sp
-.in -30n
-\fB/platform/sun4v/kernel/drv/sparcv9/bmc\fR
-.in +30n
-.sp
-sparc \fBELF\fR kernel module for the bmc driver.
-.in -30n
-\fB/dev/bmc\fR
-.in +30n
-.sp
-Character device node used to communicate with the bmc driver.
-.in -30n
-
-.TP
-IPMI Specifications
-http://www.intel.com/design/servers/ipmi/spec.htm
-.SH SEE ALSO
-attributes(5)
-.SH NOTES
-IPMI V1.5 and, at the time of writing, IPMI V2.X only support IPv4. 
-There is no requirement for a BMC to use the same IP address as its 
-host system. In an IPv6 environment the host system can have an IPv6
-address and  'ipmitool' can be used to assign an IPv4 address to the
-BMC.
--- a/components/ipmitool/ipmitool.license	Wed Jan 30 10:16:26 2013 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
-
-----------------
-ipmitool v1.8.11
-----------------
-Oracle Internal Tracking Number 4179
-
-Copyright (C) 1999, 2000, 2002 Aladdin Enterprises.  All rights reserved.
-Copyright (C) 1999, 2002 Aladdin Enterprises.  All rights reserved.
-Copyright (c) 2000 Red Hat Software, Inc.
-Copyright (c) 2002, Intel Corporation
-Copyright (c) 2003-2004 Fredrik Ohrn.  All Rights Reserved.
-Copyright (c) 2003, 2004 Sun Microsystems, Inc.  All Rights Reserved.
-Copyright (c) 2003 Fredrik Ohrn.  All Rights Reserved.
-Copyright (c) 2003 Kontron Canada, Inc.  All Rights Reserved.
-Copyright (c) 2003 Sun Microsystems, Inc.  All Rights Reserved.
-Copyright (c) 2003 Sun Microsystems, Inc.  All Rights Reserved.
-Copyright (c) 2004 Dell Computers.  All Rights Reserved.
-Copyright (c) 2004 Kontron Canada, Inc.  All Rights Reserved.
-Copyright (c) 2004 Sun Microsystems, Inc.  All Rights Reserved.
-Copyright (c) 2005 International Business Machines, Inc.  All Rights Reserved.
-Copyright (c) 2005 Sun Microsystems, Inc.  All Rights Reserved.
-Copyright (c) 2005 Tyan Computer Corp.  All Rights Reserved.
-Copyright (c) 2006 Kontron Canada, Inc.  All Rights Reserved.
-Copyright (c) 2007 Kontron Canada, Inc.  All Rights Reserved.
-Copyright (c) Kontron. All right reserved
-
-Copyright (c) 2003 Sun Microsystems, Inc.  All Rights Reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-Redistribution of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-
-Redistribution in binary form must reproduce the above copyright
-notice, this list of conditions and the following disclaimer in the
-documentation and/or other materials provided with the distribution.
-
-Neither the name of Sun Microsystems, Inc. or the names of
-contributors may be used to endorse or promote products derived
-from this software without specific prior written permission.
-
-This software is provided "AS IS," without a warranty of any kind.
-ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
-INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
-PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED.
-SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE
-FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 
-DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.  IN NO EVENT WILL SUN OR 
-ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, 
-INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER 
-CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF 
-OR INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE 
-POSSIBILITY OF SUCH DAMAGES.
--- a/components/ipmitool/ipmitool.p5m	Wed Jan 30 10:16:26 2013 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
-#
-
-<transform file path=usr.*/man/.+ -> default mangler.man.stability volatile>
-
-set name=pkg.fmri value=pkg:/system/management/[email protected]$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary value="ipmitool - utility for controlling IPMI-enabled devices"
-set name=info.classification value="org.opensolaris.category.2008:System/Hardware"
-set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
-set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
-set name=org.opensolaris.arc-caseid \
-   value=PSARC/2004/453
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-
-license ipmitool.license license='BSD-like'
-
-dir path=lib
-dir path=lib/svc
-dir path=lib/svc/manifest
-dir path=lib/svc/manifest/network
-dir path=lib/svc/method
-dir path=usr
-dir path=usr/sbin
-dir path=usr/lib
-dir path=usr/sfw
-dir path=usr/sfw/bin
-dir path=usr/share
-dir path=usr/share/man
-dir path=usr/share/man/man1m
-dir path=usr/share/man/man8
-file usr/bin/ipmitool path=usr/sbin/ipmitool
-file usr/sbin/ipmievd path=usr/lib/ipmievd mode=0555
-link path=usr/sfw/bin/ipmitool target=../../sbin/ipmitool
-file ipmitool.1m path=usr/share/man/man1m/ipmitool.1m
-file ipmievd.8 path=usr/share/man/man8/ipmievd.8
-file ipmievd.xml path=lib/svc/manifest/network/ipmievd.xml
-file svc-ipmievd path=lib/svc/method/svc-ipmievd
-
-legacy pkg=SUNWipmi  \
-    desc="IPMI management tool" \
-    name="ipmitool, (usr)"
-
-legacy pkg=SUNWipmir \
-    desc="IPMI management tool (root)" \
-    name="ipmitool, (root)"
--- a/components/ipmitool/patches/7052161.patch	Wed Jan 30 10:16:26 2013 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved
-
---- ipmitool-1.8.11.old/lib/ipmi_fru.c	Wed Feb 25 12:38:52 2009
-+++ ipmitool-1.8.11/lib/ipmi_fru.c	Thu Oct 27 12:28:57 2011
[email protected]@ -1310,12 +1310,20 @@
- 			printf ("  Peak capacity holdup		  : %d s\n",
- 				peak_hold_up_time);
- 			if (ps->combined_capacity == 0)
--				printf ("  Combined capacity			  : not specified\n");
--			else
--				printf ("  Combined capacity			  : %d W (%s and %s)\n",
--					ps->combined_capacity,
--					combined_voltage_desc [ps->combined_voltage1],
--					combined_voltage_desc [ps->combined_voltage2]);
-+				printf ("  Combined capacity          : not specified\n");
-+			else {
-+				if ((ps->combined_voltage1 < 
-+					sizeof(combined_voltage_desc)/sizeof(char *)) && 
-+					(ps->combined_voltage2 < 
-+					sizeof(combined_voltage_desc)/sizeof(char *)))
-+					printf ("  Combined capacity          : %d W (%s and %s)\n",
-+						ps->combined_capacity,
-+						combined_voltage_desc [ps->combined_voltage1],
-+						combined_voltage_desc [ps->combined_voltage2]);
-+				else
-+					printf ("  Combined capacity          : %d W (voltages not specified correctly)\n",
-+					ps->combined_capacity);
-+			}
- 			if (ps->predictive_fail)
- 				printf ("  Fan lower threshold		  : %d RPS\n",
- 					ps->rps_threshold);
--- a/components/ipmitool/patches/7126312.patch	Wed Jan 30 10:16:26 2013 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
---- ipmitool-1.8.11.old/lib/helper.c	Wed Feb 25 12:38:52 2009
-+++ ipmitool-1.8.11/lib/helper.c	Wed May 16 18:23:19 2012
[email protected]@ -289,19 +289,33 @@
- {
- 	struct stat st1, st2;
- 	FILE * fp;
-+	int fd = -1;
- 
- 	/* verify existance */
-+	errno = 0;
- 	if (lstat(file, &st1) < 0) {
--		if (rw) {
-+		if (rw && (errno == ENOENT)) {
- 			/* does not exist, ok to create */
--			fp = fopen(file, "w");
--			if (fp == NULL) {
-+			fd = open(file,
-+			    O_WRONLY | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR
-+			    | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);
-+
-+			if ( fd == -1 ) {
- 				lperror(LOG_ERR, "Unable to open file %s "
- 					"for write", file);
- 				return NULL;
- 			}
--			/* created ok, now return the descriptor */
--			return fp;
-+
-+			fp = fdopen(fd, "w");
-+			if (fp == NULL) {
-+				close(fd);
-+				lperror(LOG_ERR, "Unable to open file %s "
-+				    "for write", file);
-+				return NULL;
-+			} else
-+				/* created ok, now return the descriptor */
-+				return fp;
-+
- 		} else {
- 			lprintf(LOG_ERR, "File %s does not exist", file);
- 			return NULL;
[email protected]@ -322,7 +336,7 @@
- 
- 	/* it exists - only regular files, not links */
- 	if (S_ISREG(st1.st_mode) == 0) {
--		lprintf(LOG_ERR, "File %s has invalid mode: %d",
-+		lprintf(LOG_ERR, "File %s has invalid mode: %#o",
- 			file, st1.st_mode);
- 		return NULL;
- 	}
[email protected]@ -347,10 +361,18 @@
- 		return NULL;
- 	}
- 
-+	/* verify dev */
-+	if (st1.st_dev != st2.st_dev) {
-+		lprintf(LOG_ERR, "File %s has invalid dev: %lu != %lu",
-+			file, (ulong_t)st1.st_dev, (ulong_t)st2.st_dev);
-+		fclose(fp);
-+		return NULL;
-+	}
-+
- 	/* verify inode */
- 	if (st1.st_ino != st2.st_ino) {
--		lprintf(LOG_ERR, "File %s has invalid inode: %d != %d",
--			file, st1.st_ino, st2.st_ino);
-+		lprintf(LOG_ERR, "File %s has invalid inode: %lu != %lu",
-+			file, (ulong_t)st1.st_ino, (ulong_t)st2.st_ino);
- 		fclose(fp);
- 		return NULL;
- 	}
[email protected]@ -427,7 +449,6 @@
- #endif
- 
- 	chdir("/");
--	umask(0);
- 
- 	for (fd=0; fd<64; fd++) {
- 		if (fd != intf->fd)
--- a/components/ipmitool/patches/7183093.patch	Wed Jan 30 10:16:26 2013 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
---- ipmitool-1.8.11/src/plugins/ipmi_intf.c	Mon Jul 30 16:02:31 2012
-+++ ipmitool-1.8.11/src/plugins/ipmi_intf.c	Mon Jul 30 16:02:51 2012
[email protected]@ -64,6 +64,9 @@
- #endif
- 
- struct ipmi_intf * ipmi_intf_table[] = {
-+#ifdef IPMI_INTF_BMC
-+	&ipmi_bmc_intf,
-+#endif
- #ifdef IPMI_INTF_OPEN
- 	&ipmi_open_intf,
- #endif
[email protected]@ -73,9 +76,6 @@
- #ifdef IPMI_INTF_LIPMI
- 	&ipmi_lipmi_intf,
- #endif
--#ifdef IPMI_INTF_BMC
--	&ipmi_bmc_intf,
--#endif
- #ifdef IPMI_INTF_LAN
- 	&ipmi_lan_intf,
- #endif
--- a/components/ipmitool/patches/enable.sparc.patch	Wed Jan 30 10:16:26 2013 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved
-
---- ipmitool-1.8.11.old/configure.in	Thu Aug  7 11:26:08 2008
-+++ ipmitool-1.8.11/configure.in	Tue Oct 25 11:48:31 2011
[email protected]@ -63,12 +63,7 @@
- 	# openssl libs are in /usr/sfw/lib on solaris 10
-         LIBS="$LIBS -R/usr/sfw/lib"
- 	# disable the linux-specific interfaces
--	# and bmc on SPARC (there is no bmc driver for SPARC)
--	if [[ `mach -p` = sparc ]]; then
--		enable_intf_bmc=no
--	else
--		enable_intf_bmc=yes
--	fi
-+	enable_intf_bmc=yes
- 	enable_intf_imb=no
- 	enable_intf_open=no
- 	enable_intf_lipmi=no
--- a/components/ipmitool/patches/ipmievd.local4.patch	Wed Jan 30 10:16:26 2013 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved
-
---- ipmitool-1.8.10/lib/log.c.orig	Fri Nov 21 13:00:00 2008
-+++ ipmitool-1.8.10/lib/log.c	Fri Nov 21 13:02:00 2008
[email protected]@ -120,7 +120,7 @@
- 	logpriv->level = verbose + LOG_NOTICE;
- 
- 	if (logpriv->daemon)
--		openlog(logpriv->name, LOG_CONS, LOG_LOCAL4);
-+		openlog(logpriv->name, LOG_CONS, LOG_DAEMON);
- }
- 
- /*
--- a/components/ipmitool/patches/ipmitool.scanning.patch	Wed Jan 30 10:16:26 2013 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved
-
---- ipmitool-1.8.10/lib/ipmi_sdr.c.orig	Fri Nov 21 13:00:00 2008
-+++ ipmitool-1.8.10/lib/ipmi_sdr.c	Fri Nov 21 13:01:00 2008
[email protected]@ -1760,7 +1760,8 @@
- 				printf("ns  | %2d.%1d | ",
- 				       sensor->entity.id,
- 				       sensor->entity.instance);
--				if (IS_SCANNING_DISABLED(rsp->data[1]))
-+				if ((rsp != NULL) &&
-+				    IS_SCANNING_DISABLED(rsp->data[1]))
- 					printf("Disabled");
- 				else
- 					printf("No Reading");
--- a/components/ipmitool/patches/openipmi.patch	Wed Jan 30 10:16:26 2013 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved
-
---- ipmitool-1.8.11.old/configure.in	Tue Oct 25 12:43:52 2011
-+++ ipmitool-1.8.11/configure.in	Tue Oct 25 12:46:49 2011
[email protected]@ -65,7 +65,7 @@
- 	# disable the linux-specific interfaces
- 	enable_intf_bmc=yes
- 	enable_intf_imb=no
--	enable_intf_open=no
-+	enable_intf_open=yes
- 	enable_intf_lipmi=no
- 	enable_ipmishell=no
- 	enable_all_options=no
[email protected]@ -219,6 +219,10 @@
- 		[Define to 1 if you have the <sys/ipmi.h> header file.])],
- 		[echo "** Unable to find OpenIPMI header files.  Using internal version."])])
- 
-+AC_CHECK_HEADER([sys/ioccom.h],
-+	[AC_DEFINE(HAVE_IOCCOM_H, [1],
-+	[Define to 1 if you have the <sys/ioccom.h> header file.])])
-+
- dnl look for FreeIPMI files
- AC_CHECK_LIB(freeipmi, ipmi_open_inband, [have_free=yes], [have_free=no])
- if test "x$have_free" != "xyes"; then
---- ipmitool-1.8.11.old/src/ipmievd.c	Wed Feb 25 12:38:52 2009
-+++ ipmitool-1.8.11/src/ipmievd.c	Fri Oct 21 16:41:54 2011
[email protected]@ -66,6 +66,10 @@
- #  include <sys/poll.h>
- #endif /* IPMI_INTF_OPEN */
- 
-+#ifdef HAVE_IOCCOM_H
-+#include <sys/ioccom.h>
-+#endif
-+
- #include <ipmitool/helper.h>
- #include <ipmitool/log.h>
- #include <ipmitool/ipmi.h>
---- ipmitool-1.8.11.old/src/plugins/open/open.c	Wed Feb 25 12:38:53 2009
-+++ ipmitool-1.8.11/src/plugins/open/open.c	Fri Oct 21 16:41:08 2011
[email protected]@ -62,6 +62,10 @@
- # include "open.h"
- #endif
- 
-+#ifdef HAVE_IOCCOM_H
-+#include <sys/ioccom.h>
-+#endif
-+
- extern int verbose;
- 
- static int
--- a/components/ipmitool/svc-ipmievd	Wed Jan 30 10:16:26 2013 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-#!/bin/sh
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
-#
-
-# These are the SMF start/stop/restart methods for ipmievd.
-
-# smf(5)
-. /lib/svc/share/smf_include.sh
-
-SMF_FMRI="svc:/network/ipmievd:default"
-
-if [ $# -eq 0 ]; then
-    # No arguments provided - report current status (use "-c" option to
-    # svcprop to get the current properties, otherwise false will result)
-    if [ "`/usr/bin/svcprop -c -p general/enabled $SMF_FMRI`" = "true" ]
-    then
-        echo "svc-ipmievd: ipmievd is enabled"
-    else
-        echo "svc-ipmievd: ipmievd is disabled"
-    fi
-else
-    case "$1" in
-	'start')
-		# ipmievd requires the presence of a BMC character device
-		# to run.  If one is not detected, then disable the service
-		# and exit.
-
-		if [ ! -c /dev/bmc ]; then
-			echo "$0:  No BMC device found: disabling."
-			/usr/sbin/svcadm disable $SMF_FMRI
-			exit $SMF_EXIT_OK
-		fi
-
-		/usr/lib/ipmievd -I bmc sel
-		[ $? -ne 0 ] && exit 1
-		;;
-
-	*)
-		echo "Usage: $0 start"
-		exit 1
-		;;
-    esac
-fi
-
-exit $SMF_EXIT_OK
--- a/components/ipmitool/test_ipmievd	Wed Jan 30 10:16:26 2013 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,290 +0,0 @@
-#!/bin/sh
-
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
-#
-
-# ----------------------------------------------------------------------------
-# test_ipmievd		confirm basic ipmievd functionality works
-#
-# exercise syslog event reporting via event injection via ipmitool
-# ----------------------------------------------------------------------------
-
-cmd_name="`basename $0`"		# the name of this command
-
-cmd_err="${cmd_name}: error:"		# the (fatal) error header
-cmd_warn="${cmd_name}: warning:"	# the warning header
-cmd_info="${cmd_name}: info:"		# the informational header
-cmd_query="${cmd_name}: query:"		# the interrogative header
-
-bin_path="/usr/sbin:/usr/lib"	# path(s) to needed binary executable(s)
-proto_root=""			# path to proto root from build
-state_fn="/tmp/$cnd_name.$$.db"	# state file for cleanup
-
-# Design_Note: typically it takes about 4 seconds for an event to be syslogged,
-#              let's allow at least 12 seconds for it to be syslogged.
-
-SYSLOG_DELAY_SEC=12	# max wait in sec for event to be syslogged
-
-# ----------------------------------------------------------------------------
-
-usage()
-{
-    echo "usage: $cmd_name [-r <proto_root>]"
-    echo "       -r  path to proto root of recent build of tool+daemon"
-    echo "purpose: confirm basic ipmievd functionality works;"
-    echo "         this is NOT a comprehensive test"
-    echo "examples:"
-    echo "	$cmd_name -r \$CODEMGR_WS/proto/root_\`uname -p\`"
-    echo "caveats: installs and leaves installed new tool+daemon on error"
-} # usage()
-
-# ----------------------------------------------------------------------------
-
-show_env()
-{
-    echo "$cmd_info general environment:"
-    date ; id ; uname -a ; pwd ; echo "$PATH"
-    [ -r /etc/release ] && cat /etc/release
-    [ -r /etc/motd ] && grep bfu /etc/motd
-    ipmievd -V
-    ipmitool -V
-} # usage()
-
-# ----------------------------------------------------------------------------
-
-enforce_i386()
-{
-    proctype=`uname -p`
-    [ "$proctype" != "i386" ] && {
-	echo "$cmd_err processor type $proctype != i386"
-	exit 1
-    }
-} # enforce_i386()
-
-# ----------------------------------------------------------------------------
-
-install_proto()
-{
-    [ "$proto_root" = "" ] && {
-	echo "$cmd_info skipping install of unset proto_root" ; return 0
-    }
-    [ ! -r /usr/sbin/ipmitool.orig ] && {
-	cp -p /usr/sbin/ipmitool /usr/sbin/ipmitool.orig
-    }
-    [ ! -r /usr/lib/ipmievd.orig ] && {
-	cp -p /usr/lib/ipmievd /usr/lib/ipmievd.orig
-    }
-
-    # disable/kill ipmievd before overwriting binary
-
-    sstate=`svcs | grep '/ipmievd:' | awk '{print $1}'`
-    echo "ipmievd_svc_state: $sstate" > $state_fn
-    [ "$sstate" = "online" ] && {
-	echo "$cmd_info disabling ipmievd service per proto_root"
-	svcadm disable -ts ipmievd
-    }
-    pkill -x ipmievd	# may or may not have been running as a service
-
-    echo "$cmd_info installing proto_root tool+daemon"
-    cp $proto_root/usr/sbin/ipmitool /usr/sbin/ipmitool
-    cp $proto_root/usr/lib/ipmievd   /usr/lib/ipmievd
-
-} # install_proto()
-
-# ----------------------------------------------------------------------------
-
-uninstall_proto()
-{
-    [ "$proto_root" = "" ] && {
-	echo "$cmd_info skipping uninstall of unset proto_root" ; return 0
-    }
-
-    # disable/kill ipmievd before overwriting binary
-
-    sstate=`svcs | grep '/ipmievd:' | awk '{print $1}'`
-    [ "$sstate" = "online" ] && {
-	echo "$cmd_info disabling ipmievd service per proto_root"
-	svcadm disable -ts ipmievd
-    }
-    pkill -x ipmievd	# may or may not have been running as a service
-
-    echo "$cmd_info uninstalling proto_root tool+daemon"
-    [ -r /usr/sbin/ipmitool.orig ] && {
-	cp -p /usr/sbin/ipmitool.orig /usr/sbin/ipmitool
-    }
-    [ -r /usr/lib/ipmievd.orig ] && {
-	cp -p /usr/lib/ipmievd.orig /usr/lib/ipmievd
-    }
-
-    # restore initial state of ipmievd svc if known
-
-    [ ! -r $state_fn ] && return 0
-
-    was_online=`grep -c "ipmievd_svc_state.*online" $state_fn`
-    [ $was_online -ne 0 ] && {
-	echo "$cmd_info enabling ipmievd service per initial state"
-	svcadm enable -s ipmievd
-    }
-} # uninstall_proto()
-
-# ----------------------------------------------------------------------------
-
-test_opt_version()
-{
-    tnm="version option"
-    ipmievd -V > ipmievd_V.out
-    rc=$?
-    [ $rc -ne 0 ] && {
-	echo "$cmd_err $tnm failed with exit code $rc" ; exit $rc
-    }
-    cnt=`grep -i -c 'version.*[0-9][0-9]*\.[0-9]' ipmievd_V.out`
-    [ $cnt -le 0 ] && {
-	echo "$cmd_err $tnm output missing version" ; exit 1
-    }
-    echo "$cmd_info $tnm passed"
-} # test_opt_version()
-
-# ----------------------------------------------------------------------------
-
-test_opt_help()
-{
-    tnm="help option"
-    ipmievd -h > ipmievd_h.out 2>&1
-    rc=$?
-    [ $rc -ne 0 ] && {
-	echo "$cmd_err $tnm failed with exit code $rc" ; exit $rc
-    }
-    cnt=`grep -i 'interface' ipmievd_h.out | grep -i -c 'bmc'`
-    [ $cnt -le 0 ] && {
-	echo "$cmd_err $tnm output missing bmc interface" ; exit 1
-    }
-    echo "$cmd_info $tnm passed"
-} # test_opt_help()
-
-# ----------------------------------------------------------------------------
-
-test_svc_online()
-{
-    tnm="service online check"
-    sstate=`svcs | grep '/ipmievd:' | awk '{print $1}'`
-    [ "$sstate" = "online" ] && {
-	echo "$cmd_info disabling ipmievd service"
-	svcadm disable -ts ipmievd
-    }
-
-    echo "$cmd_info enabling ipmievd service"
-    svcadm enable -ts ipmievd
-    sstate=`svcs | grep '/ipmievd:' | awk '{print $1}'`
-    [ "$sstate" != "online" ] && {
-	echo "$cmd_err $tnm ipmievd service state $sstate != online" ; exit 1
-    }
-    echo "$cmd_info $tnm passed"
-} # test_svc_online()
-
-# ----------------------------------------------------------------------------
-
-test_syslog_init()
-{
-    tnm="syslog initial entries"
-    # Reading|Waiting events below are generated by bringing svc online;
-    # wait some for them to be syslogged.
-    echo "$cmd_info may wait $SYSLOG_DELAY_SEC sec per expected syslog entry"
-    sleep $SYSLOG_DELAY_SEC
-    cnt1=`grep -i -c 'ipmievd.*Reading' /var/adm/messages`
-    cnt2=`grep -i -c 'ipmievd.*Waiting' /var/adm/messages`
-    grep ipmievd /var/adm/messages > ipmievd.syslog_init.out
-    [ $cnt1 -lt 1 ] || [ $cnt2 -lt 1 ] && {
-	echo "$cmd_err $tnm ipmievd too few initial syslog entries" ; exit 1
-    }
-    echo "$cmd_info $tnm passed"
-} # test_syslog_init()
-
-# ----------------------------------------------------------------------------
-
-test_syslog_event()
-{
-    num="$1"	# event number being tested
-
-    tnm="syslog event $num entry"
-    now=`date | awk '{print $2 " " $3}'`
-    cnt1=`grep -i -c "$now.*ipmievd" /var/adm/messages`
-    ipmitool event $num > ipmitool.syslog_event_$num.out
-    rc=$?
-    [ $rc -ne 0 ] && {
-	echo "$cmd_warn $tnm ipmitool exit code $rc"
-    }
-    sleep $SYSLOG_DELAY_SEC
-    cnt2=`grep -i -c "$now.*ipmievd" /var/adm/messages`
-    cnt3=`expr $cnt1 + 1` # expected val
-    [ $cnt2 -lt $cnt3 ] && {
-	echo "$cmd_err $tnm not syslogged in $SYSLOG_DELAY_SEC sec" ; exit 1
-    }
-    [ $cnt2 -gt $cnt3 ] && {
-	echo "$cmd_warn $tnm more syslog entries seen than expected"
-    }
-    echo "$cmd_info $tnm passed"
-} # test_syslog_event()
-
-# ----------------------------------------------------------------------------
-
-# main()
-
-while getopts r: opt; do # {
-    case $opt in
-	r)  proto_root="$OPTARG";;
-	-)  break;;
-	\?) echo "$cmd_err bad option(s)" ; usage ; exit 22;;
-    esac
-done # } while grabbing cmd line args
-
-shift `expr $OPTIND - 1`
-
-too_much="$1"
-[ "$too_much" != "" ] && {
-    echo "$cmd_err too few/many args" ; usage ; exit 7
-}
-[ "$proto_root" != "" ] && [ ! -d $proto_root ] && {
-    echo "$cmd_err proto_root $proto_root not a dir" ; usage ; exit 20
-}
-
-PATH="${bin_path}:$PATH"
-export PATH
-
-# ----------------------------------------------------------------------------
-
-enforce_i386
-install_proto
-show_env
-
-test_opt_version
-test_opt_help
-test_svc_online
-test_syslog_init
-# Design_Note: not all platforms appear to support event 3 (ECC);
-#              so skip it and just do events 1 and 2.
-for n in 1 2; do
-    test_syslog_event $n
-done
-
-uninstall_proto
-
-echo "$cmd_info all tests passed"	# if reach here then aok
--- a/components/ipmitool/test_ipmitool	Wed Jan 30 10:16:26 2013 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,413 +0,0 @@
-#!/bin/sh
-
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
-#
-
-# ----------------------------------------------------------------------------
-# test_ipmitool		confirm basic ipmitool functionality works
-#
-# exercise a commonly used subset of all ipmitool commands,
-# for each such command:
-#	save its output to a *.out file
-#	confirm ipmitool exit status is 0 (good)
-#	confirm *.out contains some piece of expected data
-# ----------------------------------------------------------------------------
-
-cmd_name="`basename $0`"		# the name of this command
-
-cmd_err="${cmd_name}: error:"		# the (fatal) error header
-cmd_warn="${cmd_name}: warning:"	# the warning header
-cmd_info="${cmd_name}: info:"		# the informational header
-cmd_query="${cmd_name}: query:"		# the interrogative header
-
-bin_path="/usr/sbin"	# path(s) to ipmitool binary executable(s)
-
-# ----------------------------------------------------------------------------
-
-usage()
-{
-    echo "usage: $cmd_name [-p <bin_path>]"
-    echo "       -p  path to ipmitool binary"
-    echo "purpose: confirm basic ipmitool functionality works;"
-    echo "         this is NOT a comprehensive test"
-    echo "examples:"
-    echo "	$cmd_name -p \$CODEMGR_WS/proto/root_\`uname -p\`/usr/sbin"
-} # usage()
-
-# ----------------------------------------------------------------------------
-
-show_env()
-{
-    echo "$cmd_info general environment:"
-    date ; id ; uname -a ; pwd ; echo "$PATH"
-    [ -r /etc/release ] && cat /etc/release
-    [ -r /etc/motd ] && grep bfu /etc/motd
-    ipmitool -V
-} # show_env()
-
-# ----------------------------------------------------------------------------
-
-enforce_i386()
-{
-    proctype=`uname -p`
-    [ "$proctype" != "i386" ] && {
-	echo "$cmd_err processor type $proctype != i386"
-	echo "$cmd_info future versions of this test tool may use"
-	echo "    ipmitool -I lan -H <i386_host>"
-	echo "when run on $proctype but that is a future enhancement (TBD)"
-	exit 1
-    }
-} # enforce_i386()
-
-# ----------------------------------------------------------------------------
-
-test_opt_version()
-{
-    tnm="version option"
-    ipmitool -V > ipmitool_V.out
-    rc=$?
-    [ $rc -ne 0 ] && {
-	echo "$cmd_err $tnm failed with exit code $rc" ; exit $rc
-    }
-    cnt=`grep -i -c 'version.*[0-9][0-9]*\.[0-9]' ipmitool_V.out`
-    [ $cnt -le 0 ] && {
-	echo "$cmd_err $tnm output missing version" ; exit 1
-    }
-    echo "$cmd_info $tnm passed"
-} # test_opt_version()
-
-# ----------------------------------------------------------------------------
-
-test_cmd_help()
-{
-    tnm="help command"
-    ipmitool help > ipmitool_help.out 2>&1
-    rc=$?
-    [ $rc -ne 0 ] && {
-	echo "$cmd_err $tnm failed with exit code $rc" ; exit $rc
-    }
-    cnt=`grep -i -c 'chassis.*status' ipmitool_help.out`
-    [ $cnt -le 0 ] && {
-	echo "$cmd_err $tnm output missing chassis" ; exit 1
-    }
-    echo "$cmd_info $tnm passed"
-} # test_cmd_help()
-
-# ----------------------------------------------------------------------------
-
-test_cmd_bmc()
-{
-    tnm="bmc info command"
-    ipmitool bmc info > ipmitool_bmc_info.out
-    rc=$?
-    [ $rc -ne 0 ] && {
-	echo "$cmd_err $tnm failed with exit code $rc" ; exit $rc
-    }
-    cnt=`grep -c 'IPMI Version' ipmitool_bmc_info.out`
-    [ $cnt -lt 1 ] && {
-	echo "$cmd_err $tnm output missing IPMI Version" ; exit 1
-    }
-    echo "$cmd_info $tnm passed"
-    tnm="bmc getenables command"
-    ipmitool bmc getenables > ipmitool_bmc_getenables.out
-    rc=$?
-    [ $rc -ne 0 ] && {
-	echo "$cmd_err $tnm failed with exit code $rc" ; exit $rc
-    }
-    cnt=`grep -c 'OEM' ipmitool_bmc_getenables.out`
-    [ $cnt -lt 3 ] && {
-	echo "$cmd_err $tnm output too few OEM" ; exit 1
-    }
-    echo "$cmd_info $tnm passed"
-} # test_cmd_bmc()
-
-# ----------------------------------------------------------------------------
-
-test_cmd_sel()
-{
-    tnm="sel info command"
-    ipmitool sel info > ipmitool_sel_info.out
-    rc=$?
-    [ $rc -ne 0 ] && {
-	echo "$cmd_err $tnm failed with exit code $rc" ; exit $rc
-    }
-    cnt=`egrep -c 'Version|Entries' ipmitool_sel_info.out`
-    [ $cnt -lt 2 ] && {
-	echo "$cmd_err $tnm output missing Version or Entries" ; exit 1
-    }
-    echo "$cmd_info $tnm passed"
-    tnm="sel time get command"
-    ipmitool sel time get > ipmitool_sel_time_get.out
-    rc=$?
-    [ $rc -ne 0 ] && {
-	echo "$cmd_err $tnm failed with exit code $rc" ; exit $rc
-    }
-    nowyr=`date '+%Y'`
-    cnt=`grep -c "$nowyr" ipmitool_sel_time_get.out`
-    [ $cnt -lt 1 ] && {
-	echo "$cmd_err $tnm missing $nowyr" ; exit 1
-    }
-    echo "$cmd_info $tnm passed"
-    tnm="sel list command"
-    cnt=`grep 'Entries' ipmitool_sel_info.out | awk '{print $NF}'`
-    [ $cnt -eq 0 ] && {
-	echo "$cmd_info $tnm passed" ; return 0
-    }
-    ipmitool sel list $cnt > ipmitool_sel_list.out
-    rc=$?
-    [ $rc -ne 0 ] && {
-	echo "$cmd_err $tnm failed with exit code $rc" ; exit $rc
-    }
-    cnt2=`wc ipmitool_sel_list.out | awk '{print $1}'`
-    [ $cnt2 -ne $cnt ] && {
-	echo "$cmd_err $tnm output lines $cnt2 != $cnt" ; exit 1
-    }
-    echo "$cmd_info $tnm passed"
-} # test_cmd_sel()
-
-# ----------------------------------------------------------------------------
-
-test_cmd_chassis()
-{
-    tnm="chassis status command"
-    ipmitool chassis status > ipmitool_chassis_status.out
-    rc=$?
-    [ $rc -ne 0 ] && {
-	echo "$cmd_err $tnm failed with exit code $rc" ; exit $rc
-    }
-    cnt=`grep -c 'System Power' ipmitool_chassis_status.out`
-    [ $cnt -eq 0 ] && {
-	echo "$cmd_err $tnm output missing System Power" ; exit 1
-    }
-    echo "$cmd_info $tnm passed"
-} # test_cmd_chassis()
-
-# ----------------------------------------------------------------------------
-
-test_cmd_fru()
-{
-    tnm="fru print command"
-    ipmitool fru print > ipmitool_fru_print.out
-    rc=$?
-    [ $rc -ne 0 ] && {
-	echo "$cmd_err $tnm failed with exit code $rc" ; exit $rc
-    }
-    cnt=`grep -i -c 'Manufacturer.*Sun Microsystems' ipmitool_fru_print.out`
-    [ $cnt -lt 1 ] && {
-	echo "$cmd_err $tnm output too few Sun Microsystems" ; exit 1
-    }
-    echo "$cmd_info $tnm passed"
-} # test_cmd_fru()
-
-# ----------------------------------------------------------------------------
-
-test_cmd_lan()
-{
-    tnm="lan print command"
-    ipmitool lan print > ipmitool_lan_print.out
-    rc=$?
-    [ $rc -ne 0 ] && {
-	echo "$cmd_err $tnm failed with exit code $rc" ; exit $rc
-    }
-    cnt=`egrep -c 'ARP|MAC|IP' ipmitool_lan_print.out`
-    [ $cnt -lt 3 ] && {
-	echo "$cmd_err $tnm output too few ARP|MAC|IP" ; exit 1
-    }
-    echo "$cmd_info $tnm passed"
-    tnm="lan alert print command"
-    ipmitool lan alert print > ipmitool_lan_alert_print.out
-    rc=$?
-    [ $rc -ne 0 ] && {
-	echo "$cmd_err $tnm failed with exit code $rc" ; exit $rc
-    }
-    cnt=`grep -c 'Destination' ipmitool_lan_alert_print.out`
-    [ $cnt -lt 1 ] && {
-	echo "$cmd_err $tnm output missing Destination" ; exit 1
-    }
-    echo "$cmd_info $tnm passed"
-} # test_cmd_lan()
-
-# ----------------------------------------------------------------------------
-
-test_cmd_channel()
-{
-    tnm="channel info command"
-    ipmitool channel info > ipmitool_channel_info.out
-    rc=$?
-    [ $rc -ne 0 ] && {
-	echo "$cmd_err $tnm failed with exit code $rc" ; exit $rc
-    }
-    cnt=`grep -i -c 'Channel 0x.*info' ipmitool_channel_info.out`
-    [ $cnt -lt 1 ] && {
-	echo "$cmd_err $tnm output missing Channel number" ; exit 1
-    }
-    echo "$cmd_info $tnm passed"
-} # test_cmd_channel()
-
-# ----------------------------------------------------------------------------
-
-test_cmd_sensor()
-{
-    tnm="sensor list command"
-    ipmitool sensor list > ipmitool_sensor_list.out
-    rc=$?
-    [ $rc -ne 0 ] && {
-	echo "$cmd_err $tnm failed with exit code $rc" ; exit $rc
-    }
-    cnt=`egrep -i -c 'degrees|RPM|volts' ipmitool_sensor_list.out`
-    [ $cnt -lt 10 ] && {
-	echo "$cmd_err $tnm output too few degrees|RPM|volts" ; exit 1
-    }
-    echo "$cmd_info $tnm passed"
-    tnm="sensor get command"
-    cnt=`expr $cnt % 10`
-    # note: sensor names might have whitespace in them
-    snm=`egrep -i 'degrees|RPM|volts' ipmitool_sensor_list.out | \
-	head -$cnt | tail -1 | cut -d'|' -f1`
-    snm=`echo $snm`	# drop any leading or trailing whitespace
-    ipmitool sensor get "$snm" > ipmitool_sensor_get.out
-    rc=$?
-    [ $rc -ne 0 ] && {
-	echo "$cmd_err $tnm failed with exit code $rc" ; exit $rc
-    }
-    cnt=`egrep -i 'degrees|RPM|volts' ipmitool_sensor_get.out | \
-	grep -c 'Sensor Reading'`
-    [ $cnt -ne 1 ] && {
-	echo "$cmd_err $tnm wrong Sensor Reading for $snm" ; exit 1
-    }
-    echo "$cmd_info $tnm passed"
-} # test_cmd_sensor()
-
-# ----------------------------------------------------------------------------
-
-test_cmd_sdr()
-{
-    tnm="sdr list command"
-    ipmitool sdr list all > ipmitool_sdr_list_all.out
-    rc=$?
-    [ $rc -ne 0 ] && {
-	echo "$cmd_err $tnm failed with exit code $rc" ; exit $rc
-    }
-    cnt=`egrep -i -c 'degrees|RPM|volts' ipmitool_sdr_list_all.out`
-    [ $cnt -lt 10 ] && {
-	echo "$cmd_err $tnm output too few degrees|RPM|volts" ; exit 1
-    }
-    echo "$cmd_info $tnm passed"
-    tnm="sdr get command"
-    cnt=`expr $cnt / 2`
-    # note: sensor names might have whitespace in them
-    snm=`egrep -i 'degrees|RPM|volts' ipmitool_sdr_list_all.out | \
-	head -$cnt | tail -1 | cut -d'|' -f1`
-    snm=`echo $snm`	# drop any leading or trailing whitespace
-    ipmitool sdr get "$snm" > ipmitool_sdr_get.out
-    rc=$?
-    [ $rc -ne 0 ] && {
-	echo "$cmd_err $tnm failed with exit code $rc" ; exit $rc
-    }
-    cnt=`egrep -i 'degrees|RPM|volts' ipmitool_sdr_get.out | \
-	grep -c 'Sensor Reading'`
-    [ $cnt -ne 1 ] && {
-	echo "$cmd_err $tnm wrong Sensor Reading for $snm" ; exit 1
-    }
-    echo "$cmd_info $tnm passed"
-} # test_cmd_sdr()
-
-# ----------------------------------------------------------------------------
-
-test_cmd_power()
-{
-    tnm="power status command"
-    ipmitool power status > ipmitool_power_status.out
-    rc=$?
-    [ $rc -ne 0 ] && {
-	echo "$cmd_err $tnm failed with exit code $rc" ; exit $rc
-    }
-    cnt=`grep -i -c 'power.*on' ipmitool_power_status.out`
-    [ $cnt -lt 1 ] && {
-	echo "$cmd_err $tnm output missing power on" ; exit 1
-    }
-    echo "$cmd_info $tnm passed"
-} # test_cmd_power()
-
-# ----------------------------------------------------------------------------
-
-test_cmd_echo()
-{
-    tnm="echo command"
-    ipmitool echo "hello world from pid $$" > ipmitool_echo.out
-    rc=$?
-    [ $rc -ne 0 ] && {
-	echo "$cmd_err $tnm failed with exit code $rc" ; exit $rc
-    }
-    cnt=`grep -c "pid $$" ipmitool_echo.out`
-    [ $cnt -ne 1 ] && {
-	echo "$cmd_err $tnm output missing my pid" ; exit 1
-    }
-    echo "$cmd_info $tnm passed"
-} # test_cmd_echo()
-
-# ----------------------------------------------------------------------------
-
-# main()
-
-while getopts p: opt; do # {
-    case $opt in
-	p)  bin_path="$OPTARG";;
-	-)  break;;
-	\?) echo "$cmd_err bad option(s)" ; usage ; exit 22;;
-    esac
-done # } while grabbing cmd line args
-
-shift `expr $OPTIND - 1`
-
-too_much="$1"
-[ "$too_much" != "" ] && {
-    echo "$cmd_err too few/many args" ; usage ; exit 7
-}
-
-PATH="${bin_path}:$PATH"
-export PATH
-
-# ----------------------------------------------------------------------------
-
-enforce_i386
-show_env
-
-# version 1.8.8 and later
-
-test_opt_version
-test_cmd_help
-test_cmd_bmc
-test_cmd_sel
-test_cmd_chassis
-test_cmd_fru
-test_cmd_lan
-test_cmd_channel
-test_cmd_sensor
-test_cmd_sdr
-
-# version 1.8.10 and later
-
-test_cmd_power
-test_cmd_echo
-
-echo "$cmd_info all tests passed"	# if reach here then aok
--- a/components/meta-packages/history/SUNWipmi.p5m	Wed Jan 30 10:16:26 2013 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri value=pkg:/[email protected],5.11-0.133
-set name=pkg.renamed value=true
-
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-
-depend fmri=system/ipmi/[email protected] type=require
--- a/components/meta-packages/history/system%2Fipmi%2Fipmitool.p5m	Wed Jan 30 10:16:26 2013 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri value=pkg:/system/ipmi/[email protected],5.11-0.151.0.1
-set name=pkg.renamed value=true
-
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-
-depend fmri=system/management/[email protected] type=require