Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ipmi_cmdlang(7)	       Shell interface to an IPMI system       ipmi_cmdlang(7)

NAME
       ipmi_cmdlang - A	command	language interface to the IPMI library

DESCRIPTION
       ipmi_cmdlang is a command language designed to supply the full power of
       OpenIPMI	 on  a	command	 line.	 It has	a large	number of commands and
       well-formed responses to	each command.  Note  that  this	 assumes  some
       knowledge  of OpenIPMI and how it works;	you can	get that from the IPMI
       document	that comes with	OpenIPMI.

       ipmish starts up	with no	connections or anything	of that	 nature.   You
       must enter commands to make connections to domains.  Then you can enter
       commands	to manipulate those domains or objects inside those domains.

       Note  that you may use quotes, either ''	or  to contain parameters with
       spaces.

COMMENTS
       Lines with a # character	in the first column are	ignored.

OBJECTS
       In the command language,	you will deal with various objects  like  sen-
       sors,  controls,	domains, and entities.	Each of	these has a name.  The
       name of the domain is assigned by the user in the domain	 new  command,
       all the other names are based on	the domain name	of the domain they be-
       long  to	 and various attributes	about the object.  These names are all
       well-formed.  They are

       <domain>	- A name of a domain.  Each registered domain in a system  has
       a name assigned by the user.

       <entity>	- Entity names are in the form:
	      [<domain>[(<entity spec>)]]
       Notice  that  the <entity spec> is optional.  If	it is not listed, then
       the operation is	done on	all entities in	the domain.  The  whole	 thing
       is  optional,  too,  if	nothing	is given then the operation is done on
       every entity in every domain.

       The <entity spec> is either
	      <entity id>.<entity instance>
       for system-relative entities, or:
	      r<channel>.<IPMB>.<entity	id>.<entity instance-0x60>
       for device-relative entities.   In  IPMI,  device-relative  entity  in-
       stances	always start at	0x60; the specification	suggests that you sub-
       tract off the 0x60 from the entity instance when	displaying these;  the
       command language	follows	this suggestion.

       <sensor>	-  These come in the form
	      [<entity>[.name]]
       As  with	entities, only listing a domain	will cause the operation to be
       done on every sensor in the domain, just	listing	an entity  will	 cause
       it  to  be  done	to every sensor	in that	entity.	 An empty sensor entry
       will cause an operation to be done on every sensor in every domain.

       <control> - These come in the form
	      [<entity>[.name]]
       These work exactly like sensors.

       <mc> - A	management controller.	These come in the form
	      [<domain>[(<channel>.<IPMB>)]]
       As usual, the parts left	empty will cause defaulting to all  things  in
       the previously specified	parts.

       <connection> - A	connection number, in the form
	      [<domain>[.<integer>]]
       The number is the connection number of the domain.

       <pet> - A platform event	trap id, in the	form
	      [<domain>[.<integer>]]
       The number is arbitrarily assigned by the system.

       <lanparm> - A LAN parameter id, in the form
	      [<domain>[.<integer>]]
       The number is arbitrarily assigned by the system.

       <pef> - A PEF id, in the	form
	      [<domain>[.<integer>]]
       The number is arbitrarily assigned by the system.

       <fru> - A FRU id, in the	form
	      [<domain>[.<integer>]]
       The number is arbitrarily assigned by the system.

       In  all	cases,	the object names have parts that are optional, and the
       entire object name is optional.	If a part is left empty, then all  ob-
       jects  that  are	 part of the specified parts are operated on.  For in-
       stance, if the system has a sensor named	d1(7.1).temp  then  specifying
       d1  would  operation on all sensors in the domain named d1.  Specifying
       d1(7.1) Would operation on all sensors in that entity.	Specifying  an
       empty  name,  either with  or by	just entering nothing if the object is
       the last	thing in the command's parameters.

       Note this optionality gives a lot of power, but can be very  dangerous.
       Entering	domain close will close	every domain, for instance.

       In commands, every object operated on will generate a response for that
       object.	 If  no	object is operated on, the command will	produce	an er-
       ror.

OTHER PARAMETERS
       The commands and	displays use a variety of other	parameters for	speci-
       fying various IPMI things.

       <guid>  - a 16-byte globally unique ID, all globbed together in one big
       hexadecimal thing.

       <threshold> is a	threshold for a	sensor;	the value it must go  over/un-
       der  to generate	an event.  It is always	displayed as one of lower non-
       critical	lower critical lower non-recoverable upper non-critical	 upper
       critical	upper non-recoverable.	It may be entered as one of the	above,
       or as ln, lc, lr, un, uc, ur as a short form.

       <threshold  enable> is the enable for a threshold.  It is like <thresh-
       old> above, but also has	a going-high or	going-low and an assertion  or
       deassertion  appended to	the end	of the name.  The short	form will have
       a l or h	for going-low and going	high and then a	a or  d	 appended  for
       assertion  and deassertion  So for instance, urld is upper non-recover-
       able going-low deassertion.

       <discrete enable> is the	enable or disable for a	discrete sensor	and is
       specified with the sensor offset.  The long form	is <integer> assertion
       or <integer> deassertion	and the	short form is <integer>[ad] where  the
       number is the offset and	[ad] means assertion or	deassertion.

       <hot-swap  state>  is one of not_present, inactive activation_requested
       activation_in_progress	 active	   deactivation_requested    deactiva-
       tion_in_progress	or out_of_con.

       <color> is one of black,	white, red, green blue yellow or orange.

       <bool>  is  one of true,	on, t, or 1 for	true and one of	false, off, f,
       or 0 for	false.	Output is always true or false.

COMMANDS
       The command language is hierarchical, meaning that  commands  may  have
       subcommands, and	subcommands may	have subsubcommands, etc.  So, for in-
       stance,	the  command to	create a domain	is domain new.	The command to
       list all	sensors	in a domain named domain1 is sensor list domain1.

       Each command has	a reponse for each object operated on, which is	listed
       after the command description.  In those	responses, anything  that  be-
       gins  with  a % is optional.  Entries of	the form **name** refer	to ob-
       ject info descriptions that are listed in the object info section.   If
       an  entry  has two '.' indented one space below it, then	that entry may
       occur zero or more times.

       Each section below defines the unique subcommands of a main command.

       Help for	any command is available with:

       help command [subcommand	[...]]	- Help for any command.

       Some commands are common	to almost all subcommands.  These are:

       list <containing	object>	- List all objects of the specified type  that
       are contained in	the specified object.  For instance, control list <en-
       tity> will list all controls in the given entity.

       Response:
	      <containing object type>
		Name: <name>
		 .
		 .

       info <object> - List static information about the given object.

       Response:
	      <object type>
		Name: <name>
		**object info**

   domain
       These commands deal with	domain objects.

       new  <domain>  <options>	<parms>	[<parms>] - Open a connection to a new
       domain.	<parms>	are either:
	      lan <IP> <port> [<IP> <port>] <enc> <auth> <name>	<password>
       for a RMCP LAN connection or
	      smi <smi num>
       for a system interface connection.  Note	that <parms> is	 listed	 twice
       (second	one  is	 optional);  if	the system support it you can make two
       connections to two independent management controllers  in  the  system.
       Note  that  this	is not for multiple IP addresses to the	same BMC.  For
       that, notice that the LAN connection has	an options extra IP  and  port
       for  the	 second	 IP address.  OpenIPMI supports	these IP addresses and
       connection, detecting failures, switching between addresses, and	 other
       fault-tolerant  things.	It does	this transparently to the user.	 Muti-
       ple connections may require special OEM support,	read the documentation
       about your specific system if you need this.

       The <IP>	is the IP address or host name of the LAN-capable BMC to  con-
       nect  with.   The <port>	is generally 623.  <enc> is the	authentication
       type, either md5, md2, straight,	or none.  <auth> is the	authentication
       level, either admin, operator or	user.  <name> and <password>  are  the
       user name and password of the IPMI user to use for the connection.  The
       <smi  num>  is the driver number, generally 0.  Options enable and dis-
       able various automitic processing and are:
       -[no]all	- all automatic	handling.  This	will override the  other  pro-
	      cessing  options and turn	them all on.  This is true by default.

       -[no]sdrs - sdr fetching.  This turns on	fetching SDRs  when  they  are
	      found.  This is false by default.
       -[no]frus  -  FRU fetching  This	turns on fetching FRU information when
	      it is found.  This is false by default.
       -[no]sel	- SEL fetching.	   This	turns on fetching SELs when  they  are
	      found.  This is false by default.
       -[no]ipmbscan  -	IPMB bus scanning.  This turns on scanning IPMB	busses
	      when they	are found.  This is false by default.
       -[no]oeminit - enable or	disable	special	OEM processing (like ATCA).
       -[no]seteventrcvr - setting event receivers.  Note that	setting	 event
	      receivers	and waiting til	up is not affected by the -all option.
	      If  this is true (the default) then OpenIPMI will	attempt	to set
	      the event	receiver for an	MC it finds that does not have it  set
	      to a valid destination.
       -wait_til_up  -	wait until the domain is up before returning Note that
	      if you specify this and the domain  never	 comes	up,  you  will
	      never  get  a  prompt.  This is not affected by the -all option.
	      By default -all and -seteventrcvr	are true, which	 turns	every-
	      thing on.

       Response:
	      Domain Created: <domain>

       open  <domain> <options>	<parms>	[<parms>] - Open a connection to a new
       domain.	<parms>	are either:
	      lan [-U <username>] [-P <password>] [-A <authtype>]
		[-L <privilege>] [-s] [-p[2] <port number>]
		[-Ra <auth alg>] [-Ri <integ alg>] [-Rc	<conf algo>]
		[-Rl] [-Rk <bmc	key>] [-H <hackname>]
		[-M <max oustanding msgs>] <IP>	[<IP>]
       for a RMCP/RMCP+	LAN connection or
	      smi <smi num>
       for a system interface connection.  Note	that <parms> is	 listed	 twice
       (second	one  is	 optional);  if	the system support it you can make two
       connections to two independent management controllers  in  the  system.
       Note  that  this	is not for multiple IP addresses to the	same BMC.  For
       that, use the -s	option and the second IP (and -p2) for the  second  IP
       address.	 OpenIPMI supports these IP addresses and connections, detect-
       ing  failures,  switching  between  addresses, and other	fault-tolerant
       things.	It does	this transparently to the user.	 Multiple  connections
       may require special OEM support,	read the documentation about your spe-
       cific system if you need	this.

       The  <IP> is the	IP address or host name	of the LAN-capable BMC to con-
       nect with.  The <port> defaults 623.  <authtype>	is the	authentication
       type,  either  rmcp+,  md5, md2,	straight, or none.  It defaults	to the
       best authentication supported by	the server.  <auth> is the authentica-
       tion level, either admin, operator or  user.   It  defaults  to	admin.
       <username>  and	<password>  are	the user name and password of the IPMI
       user to use for the connection.	For RMCP+ connections, the authentica-
       tion   algorithms   supported   (-Ra)	are:	bmcpick,    rakp_none,
       rakp_hmac_sha1, and rakp_hmac_md5.  The integrity algorithms (-Ri) sup-
       ported are: bmcpick, none, hmac_sha1, hmac_md5, and md5.	 The confiden-
       tiality	algorithms  (-Rc)  are:	 bmcpick,  aes_cbc_128,	 xrc4_128, and
       xrc_40.	The defaults are rackp_hmac_sha1, hmac_sha1,  and  aes_cb_128.
       -Rl  turns  on lookup up	names by the name and the privilege level (al-
       lowing the same name with  different  privileges	 and  different	 pass-
       words),	the  default  is  straight name	lookup.	 -Rk sets the BMC key,
       needed if the system does two-key lookups.

       For SMI types, the <smi num> is the driver number, generally 0.

       The <hackname> enables certain hacks for	broken platforms.  This	may be
       listed multiple times to	enable multiple	hacks.	The  currently	avail-
       able hacks are:
       intelplus - For Intel platforms that have broken	RMCP+.
       rakp3_wrong_rolem - For systems that truncate role(m) in	the RAKP3 msg.

       rmcpp_integ_sik	-  For	systems	 that  use SIK instead of K(1) for in-
	      tegrity.

	      The -M option sets the maximum outstanding  messages.   The  de-
	      fault is 2, ranges 1-63.

	      Options enable and disable various automitic processing and are:

       -[no]all	 -  all	automatic handling.  This will override	the other pro-
	      cessing options and turn them all	on.  This is true by  default.

       -[no]sdrs  -  sdr  fetching.  This turns	on fetching SDRs when they are
	      found.  This is false by default.
       -[no]frus - FRU fetching	 This turns on fetching	FRU  information  when
	      it is found.  This is false by default.
       -[no]sel	 -  SEL	fetching.    This turns	on fetching SELs when they are
	      found.  This is false by default.
       -[no]ipmbscan - IPMB bus	scanning.  This	turns on scanning IPMB	busses
	      when they	are found.  This is false by default.
       -[no]oeminit - enable or	disable	special	OEM processing (like ATCA).
       -[no]seteventrcvr  -  setting event receivers.  Note that setting event
	      receivers	is not affected	by the -all option.  If	this  is  true
	      (the  default)  then  OpenIPMI will attempt to set the event re-
	      ceiver for an MC it finds	that does not have it set to  a	 valid
	      destination.  -[no]setseltime - set SEL time.  Note that setting
	      the  SEL	time  is  not affected by the -all option.  If this is
	      true (the	default) then OpenIPMI will attempt to set the time in
	      the SELs it finds.  It will set it to the	current	system time.
       -wait_til_up - wait until the domain is up before returning  Note  that
	      if  you  specify	this  and  the domain never comes up, you will
	      never get	a prompt.  This	is not affected	by  the	 -all  option.
	      By  default  -all	and -seteventrcvr are true, which turns	every-
	      thing on.

       Response:
	      Domain Created: <domain>

       fru <domain>  <is_logical>  <device_address>  <device_id>  <lun>	 <pri-
       vate_bus> <channel> - dump a fru	given all it's insundry	information.

       Response:
	      Domain
		Name: <domain>
		FRU
		  **FRU	INFO**

       msg  <domain>  <channel>	<ipmb> <LUN> <NetFN> <Cmd> [data...]  -	Send a
       command to the given IPMB address on the	given channel and display  the
       response.   Note	 that  this does not require the existance of an MC in
       OpenIPMI.

       Response:
		Domain:	<domain>
		channel: <chan>
		ipmb: <ipmb>
		LUN: <lun>
		NetFN: <netfn>
		command: <cmd>
		Data: <data bytes>

       scan <domain> <ipmb addr> [ipmb addr] - scan an IPMB to add  or	remove
       it.  If a range is given, then scan all IPMBs in	the range.

       Response:
	      Scan done: <domain>

       rescan_sels <domain> - Rescan all the SELs in the domain.

       Response:
	      SEL Rescan done: <domain>

       presence	 <domain>  -  Audit the	presence of all	enities	in the domain.
       Note that this just starts the process; it will run in the background.

       Response	is:
	      Presence check started: <domain>

       close <domain> -	close the given	domain.

       Response:
	      Domain closed: <domain>

       sel_rescan_time <domain>	<time in seconds> - Set	the time  between  SEL
       rescans for all.	 It affects all	current	SELs and SELs that are discov-
       ered in the future.  Zero disables scans.

       Response:
	      Domain SEL rescan	time set: <domain>

       ipmb_rescan_time	<domain> <time in seconds> - Set the time between IPMB
       rescans for this	domain.	 zero disables scans.

       Response:
	      Domain IPMB rescan time set: <domain>

   fru
       These  commands deal with FRU objects.  Note that FRU objects are allo-
       cated by	the domain fru command,	and are	not allocated here.

       list - List all the frus	in the system

       Response:
	      Domain
		Name: <domain>
		FRUs
		  Name:	<fru>
		 .
		 .
	       .
	       .

       info <fru> - Dump information about a FRU

       Response:
	      **FRU INFO**

       areainfo	<fru> -	Dump the info about the	FRU's areas

       Response:
	      FRU
		Name: <fru>
		FRU Length: <integer>
		Area
		  Name:	<area name>
		  Number: <integer>
		  Offset: <integer>
		  Length: <integer>
		  Used Length: <Integer>
		 .
		 .

       write <fru> - Write the local FRU data out into the FRU

       Response:
	      FRU written: <fru>

       close <fru> - Delete the	FRU

       Response:
	      FRU deleted: <fru>

       setval <fru> <name> [num] value - Set the value of a FRU	element.   The
       name  is	 the record name, or multi-record.  The	number is required for
       fields that need	it (custom and multi-record).  The value is an a  sin-
       gle  value  for	integers.  For strings it is a string type (either bi-
       nary, ascii, or unicode)	and the	info.	Binary	and  unicode  data  is
       specified  as numbers.  ascii data is specified in a string.  Note that
       setting a ascii value with no string will clear the value.  Zero	length
       strings and data	is valid.

       Response:
	      FRU value	set: <fru>

       area_offset <fru> <area name> <offset> -	Set the	offset	of  the	 given
       area  to	 the given value.  Area	names are internal_data, chassis_info,
       board_info, product_info, and multi_record.

       Response:
	      FRU area offset set: <fru>

       area_length <fru> <area name> <length> -	Set the	length	of  the	 given
       area  to	 the  given value.  Area names are internal_data, chassis_info
       board_info, product_info, and multi_record

       Response:
	      FRU area length set: <fru>

       area_add	<fru> <area name> <offset> <length> - Add the  given  area  to
       the FRU.

       Response:
	      FRU area added: <fru>

       area_delete <fru> <area name> - Delete the given	area from the FRU

       Response:
	      FRU area deleted:	<fru>

   entity
       These commands deal with	entity objects.

       list <entity> - List all	the entities that meed the criteria

       Response:
	      Domain
		Name: <domain>
		Entities
		  Name:	<entity>
		   .
		   .
	       .
	       .

       info <entity> - Dump information	about an entity.

       Reponse:
	      Entity
		Name: <entity>
		**ENTITY INFO**
	       .
	       .

       fru <entity> - Dump the FRU information about the given entity.

       Reponse:
	      Entity
		Name: <entity>
		FRU
		  **FRU	INFO**

   entity hs
       These  commands	deal with hot-swap of entities.	 Note that there is no
       info or list command for	this subcommand.

       get_act_time <entity> - Get the hot-swap	auto-activate time.

       Response:
	      Entity
		Name: <entity>
		  Auto-Activation Time:	<integer>

       set_act_time <entity> - Set the hot-swap	auto-activate time.

       Reponse:
	      Set act time: <entity>

       get_deact_time <entity> - Get the  hot-swap  auto-deactivate  time  Re-
       sponse:
	      Entity
		Name: <entity>
		   Auto-Deactivation Time: <integer>

       set_deact_time <entity> - Set the hot-swap auto-deactivate time

       Response:
	      Set deact	time: <entity>

       activation_request  <entity>  - Act like	a user requested an activation
       of the entity.  This is generally  equivalent  to  closing  the	handle
       latch or	something like that.

       Response:
	      Activation requested: <entity>

       activate	<entity> - activate the	given entity

       Response:
	      Activated: <entity>

       deactivate <entity> - deactivate	the given entity

       Response:
	      Deactivated: <entity>

       state <entity> -	Return the current hot-swap state of the given entity.

       Response:
	      Entity
		Name: <entity>
		  State: <hot-swap state>

       check <entity> -	Audit the entity's hot-swap state

       Response:
	      Check started: <entity>

   sensor
       get <sensor> - Get the sensor's current reading.

       Response:
	      Sensor
		Name: <sensor>
		Event Messages Enabled:	<bool>
		Sensor Scanning	Enabled: <bool>
		Initial	Update In Progress: <bool>
       For threshold sensors, the following will be output:
	      %Value: <double>
	      %Raw Value: <integer>
	      Threshold
		Name: <threshold>
		Out Of Range: <bool>
       For discrete sensors, the following will	be output:
	      Event
		Offset:	<integer>
		%Name: <string name of event offset>
		Set: <bool>
       The name	field may be custom and	is not explicitly specified.

       rearm  <sensor>	global	| <threshold enable> [<threshold enable> ..] |
       <discrete enable> [<discrete enable>  ..]   -  Rearm  the  sensor.   If
       global  is  specified, then rearm all events in the sensor.  Otherwise,
       if it is	a threshold sensor, then put in	a list of  threshold  enables.
       If it is	a discrete sensor, then	put in a list of discrete enables.

       Response:
	      Rearm done: <sensor>

       get_thresholds <sensor> - Get the sensor's thresholds

       Response:
	      Sensor
		Name: <sensor>
		Threshold
		  Name:	<threshold>
		  Value: <double>

       set_thresholds  <sensor>	 <threshold>  <value>  ...  - Set the sensor's
       thresholds to the given values.	If a threshold is  not	specified,  it
       will  not  be  modified.	 Thresholds are	un, uc,	ur, lr,	lc, ln.	 The u
       stands for upper, l for lower, n	for non-critical, c for	critical,  and
       r for non-recoverable.  The value is floating point.

       Response:
	      Thresholds set: <sensor>

       get_hysteresis <sensor> - Get the sensor's hysteresis values

       Response:
	      Sensor
		Name: <sensor>
		Positivie Hysteresis: <integer>
		Negative Hysteresis: <integer>

       set_hysteresis  <sensor>	 <pos hyst> <neg hyst> - Set the sensor's hys-
       teresis to the given values.  These are raw integer value; hystersis is
       specified as a raw value	and it cannot be converted to  floating	 point
       because the function may	be non-linear.

       Response:
	      Hysteresis set: <sensor>

       get_event_enables <sensor> - Get	the sensor's event enable values

       Response:
	      Sensor
		Name: <sensor>
		Event Messages Enabled:	<bool>
		Sensor Scanning	Enabled: <bool>
		Busy: <bool>
       Threshold sensors report:
	      Threshold
		Name: <threshold>
		Enabled: <bool>
		 .
		 .
       only supported thresholds are listed.  Discrete sensors report:
	      Event
		Offset:	<integer>
		Name: <event offset name for sensor>
		%Assertion Enabled: <bool>
		%Deassertion Enabled: <bool>
       only  supported	offsets	are listed.  The assertion and deassertion en-
       ables are listed	only if	the offset support them.

       set_event_enables <sensor> msg|nomsg  scan|noscan  [<enable>  [<enable>
       ...]]   - Set the sensor's event	enable values.	This turns sensor mes-
       sages and scanning on and off and will enable all  the  listed  enables
       and disable all over ones.  The enables are either a <threshold enable>
       or a <discrete enable>.

       Response:
	      Event enables set: <sensor>

       enable_events  <sensor> msg|nomsg scan|noscan [<enable> [<enable> ...]]
       - Enable	event enable values.  This turns sensor	messages and  scanning
       on  and	off and	will enable all	the listed enables.  All other enables
       will be left alone.  The	enables	are either a <threshold	enable>	 or  a
       <discrete enable>.

       Response:
	      Event enables set: <sensor>

       disable_events <sensor> msg|nomsg scan|noscan [<enable> [<enable> ...]]
       - Disable event enable values.  This turns sensor messages and scanning
       on  and	off and	will disable all the listed enable.  All other enables
       will be left alone.  The	enables	are either a <threshold	enable>	 or  a
       <discrete enable>.

       Response:
	      Event enables set: <sensor>

   control
       Commands	dealing	with controls.

       set  <control> <value> [<value> ..]  - Set the value of a control.  The
       settings	depend on control type,	most take one or more  integer	values
       depending  on  the  number of physical things the control contains.  An
       identifier type takes one or more unsigned  characters.	 A  light  set
       with settings take the form
	      lc|nolc <color> <on time>	<off time>
       lc  and nolc turn on or of local	control, the over values should	be ob-
       vious.  Note all	lights support local control, you need to  see	if  it
       supports	the value.

       Response:
	      Set done:	<control>

       get <control> - Get the value of	a control.  The	reponse	depends	on the
       control type.

       Response:
	      Control
		Name: <control>
       Response	for setting lights is:
	      Light
		Num: 0
		Local Control: <bool>
		%Color:	<color>
		%On Time: <integer>
		%Off Time: <integer>
       Note that multiple lights may be	present	if the control supports	multi-
       ple lights.  The	options	values (marked with % )	will not be present if
       local  control  is set to true.	Local control means that the LED takes
       whatever	default	function it does on the	device	(like  disk  activity,
       ethernet	activity, hot-swap LED,	etc.).	Response for id	control:
	      Data: <byte1> <byte2> ...
       Response	for other controls:
	      Value
		Num: <integer>
		Value: <integer>
       There will be one Value for each	value the control supports.

   mc
       Commands	dealing	with MC	objects.

       reset <warm | cold> <mc>	- Do a warm or cold reset on the given MC

       Response:
	      Reset done: <mc>

       msg <mc>	<LUN> <NetFN> <Cmd> [data...]  - Send the given	command	to the
       management controller and display the response.

       Response:
		MC: <mc>
		LUN: <lun>
		NetFN: <netfn>
		command: <cmd>
		Data: <data bytes>

       set_events_enable  <mc> <enable | disable> - enables or disables	events
       on the MC.

       Response:
	      Events enable done: <mc>

       get_events_enable <mc> -	Prints out if the events are enabled  for  the
       given MC.

       Response:
	      Events Enable: <bool>

       sdrs  <mc> <main	| sensor> - list the SDRs for the mc.  Either gets the
       main SDR	repository or the sensor SDR repository.

       Response:
	      MC
		Name: <mc>
		SDR
		  Record ID: <integer>
		  Type:	<integer>
		  Version: <integer>.<integer>
		  Data:	<data bytes>
       One SDR will be present for each	SDR in the repository.

       get_sel_time <mc> - Get the time	in the SEL for the given MC.

       Response:
	      MC
		Name: <mc>
		SEL Time: <integer>

       set_sel_time <mc> <time>	- Set the time in the SEL for the given	MC.

       Response:
	      MC SEL time set
		Name: <mc>

       rescan_sel <mc> - Rescan	the SEL	in the MC.

       Response:
	      SEL Rescan done: <mc>

       sel_rescan_time <mc> <time in seconds> -	Set the	time between SEL  res-
       cans for	the SEL	on this	MC.  Zero disables scans.

       Response:
	      MC SEL rescan time set: <domain>

       sel_info	<mc> - Dump information	about the MC's SEL.

       Response:
	      MC
		Name: <mc>
		SEL Version: <integer>.<integer>
		SEL Count: <integer>
		SEL Slots Used:	<integer>
		SEL Free Bytes:	<integer>
		SEL Last Addition Timestamp: <integer>
		SEL overflow: <bool>
		SEL Supports Delete: <bool>
		SEL Supports Partial Add: <bool>
		SEL Supports Reserve: <bool>
		SEL Supports Get SEL Allocation: <bool>

       chan info <mc> <channel>	- Dump information about the MC's channel.

       Response:
	      Channel Info
		MC: <mc>
		Number:	<integer>
		Medium:	<integer>
		Protocol Type: <integer>
		Session	Support: session-less|single-session|multi-session|session-based
		Vendor ID: <data bytes>
		Aux Info: <data	bytes>

       chan  get_access	<mc> <channel> non-volatile|present|both - Dump	infor-
       mation about the	MC's channel access.  There are	two  different	places
       where this is stored, the present in-use	values (volatile) and the non-
       volatile	 storage that is loaded	at startup.  Note if you specify chan-
       nel 0xe,	the response channel will be different;	it will	be the current
       channel.

       Response:
	      Channel Access
		MC: <mc>
		Channel: <integer>
		Type: non-volatile|present
		Alerting Enabled: <bool>
		Per-Message Auth: <bool>
		User Auth: <bool>
		Access Mode: disable|pre-boot|always|shared
		Privilege Limit: callback|user|operator|admin|oem

       chan set_access <mc> <channel> non-volatile|present|both	<parm> <value>
       ...  - Set information about the	MC's channel access.   There  are  two
       different  places  where	 this  is  stored,  the	 present in-use	values
       (volatile) and the non-volatile storage	that  is  loaded  at  startup.
       Note  if	you specify channel 0xe, the modified channel will be the cur-
       rent channel.  Parms are:
	      alert true|false
	      msg_auth true|false
	      user_auth	true|false
	      access_mode disabled|pre-boot|always|shared
	      privilege_limit callback|user|operator|admin|oem

       Response:
	      Channel Access Set
		MC: <mc>
		Channel: <integer>

       chan user list <mc> <channel> [<user num>] - List users associated with
       the channel.  Each user number has an associated	name and password that
       is global in the	MC (not	associated with	a  channel).   There  is  also
       channel-specific	 information  for  each	 user.	This command lists the
       global user information and the channel-specific	 information  for  the
       channel specified.  If no user number is	listed,	then all users for the
       channel are listed.  Otherwise only the given user is listed.

       Response:
	      Channel Access Set
		MC: <mc>
		Channel: <integer>
		Max User: <integer>
		Enabled	Users: <integer>
		Fixed Users: <integer>
		User
		  Number: <integer>
		  *String Name:	<string>
		  *Binary Name:	<data bytes>
		 Link Auth Enabled: <bool>
		 Msg Auth Enabled: <bool>
		 Access	CB Only: <bool>
		 Privilege Limit: <integer>
		 Session Limit:	<integer>
		.
		.
       All  the	 users	are  listed.   One  of	string	name or	binary name is
       present,	if the name is not a printable string, then the	binary data is
       dumped.

       chan user set <mc> <channel> <user num> <parm> <value> ...  -  Set  in-
       formation  about	 the user number.  Only	the specified values are modi-
       fied.  The name and password are	global values, all other are  channel-
       specific.  The parms are: are:
	      link_enabled true|false
	      msg_enabled true|false
	      cb_only true|false
	      privilege_limit callback|user|operator|admin|oem|no_access
	      session_limit <integer>
	      name <user name string>
	      password <password string, <= 16 characters>
	      password2	<password string, <= 20	characters>
	      enable
	      disable
       The  password  is the 16-byte IPMI 1.5 passwords., the password2	is for
       20-byte IPMI 2.0	passwords.  Note that setting  the  session  limit  to
       zero means there	is no session limit.  Also note	that some systems have
       a bug where the session limit is	not optional (as the spec says it is).
       If  you	get  C7	errors back from this command, you will	have to	always
       specify the session limit.  Note	that you must enable the user  for  it
       to  work, but there seems to be no way to get if	the user is enabled or
       not.

       Response:
	      User Info	Set: <mc>

   sel
       Commands	dealing	with the system	event log.  Note that there is no info
       command.

       list <domain> - The list	command	is unique in this  object,  so	it  is
       specified explicitly here.  List	the local copy of the system event log
       for the entire domain.

       Response:
	      Domain
		Name: <domain>
		Entries: <integer>
		Slots in use: <integer>
		Event
		  **EVENT INFO**
		 .
		 .

       mc_list	<domain>  - List the local copy	of the system event log	on the
       given MC.

       Response:
	      MC
		Name: <mc>
		Entries: <integer>
		Slots in use: <integer>
		Event
		  **EVENT INFO**
		 .
		 .

       delete <mc> <record #> -	Delete the given event number from the SEL

       Response:
	      Event deleted
		MC: <mc>
		Record:	<integer>

       add <mc>	<type> <13 bytes of data> - Add	the event data to the SEL.

       Response:
	      MC
		Name: <mc>
		Record ID: <integer>

       clear <domain> -	clear the system event log

       Response:
	      SEL Clear	done: <domain>

   con
       Commands	dealing	with connections.

       activate	<connection> - Activate	the given connection

       Response:
	      Connection activated: <connection>

   pet
       Commands	dealing	with platform event traps.

       new <domain> <connection> <channel> <ip addr> <mac_addr>	<eft selector>
       <policy num> <apt selector> <lan	dest selector> - Set up	the domain  to
       send  PET  traps	 from the given	connection to the given	IP/MAC address
       over the	given channel.

       Response:
	      PET Created: <pet>

       mcnew <mc> <channel> <ip	addr> <mac_addr> <eft selector>	 <policy  num>
       <apt  selector>	<lan  dest  selector>  - Set up	the domain to send PET
       traps from the given connection to the given IP/MAC  address  over  the
       given channel.  This takes an MC	instead	of a connection.

       Response:
	      PET Created: <pet>

       close <pet> - Close the pet.

       Response:
	      PET destroyed: <pet>

   pef
       commands	 dealing with platform even filters.  These are	basically con-
       nections	to the PEF configuration parameters in an MC.  You use	a  pef
       to  fetch a pef config, which you can then modify and write back	to the
       MC.  Note that when you get a pef config, you claim a lock  on  the  MC
       that must be unlocked.

       new <mc>	- Create a pef for the given MC.

       Response:
	      PEF: <pef>

       unlock_mc <mc> -	Unlock the PEF lock on the given MC.

       Response:
	      PEF unlocked: <mc>

       close <pef> - Free the given pef

       Response:
	      PEF destroyed: <pef>

   pef config
       Commands	 dealing  with	PEF  configurations.  These are	the actual PEF
       data items.

       get <pef> - Fetch the pef data items from the pef and create a pef con-
       fig.

       Response:
	      PEF Config
		Name: <pef config>
		**PEF CONFIG**

       update <pef config> <parm> [selector] <value> - Set the given parameter
       in the pef config to the	given value.  If the parameter has a  selector
       of  some	type, the selector must	be given, otherwise no selector	should
       be given.

       Response:
	      PEF config updated: <pef config>

       set <pef> <pef config> -	Write the pef data back	to the pef.  Note that
       this must be the	same pef used to create	the config.

       Response:
	      PEF config set: <pef config>

       unlock <pef> <pef config> - Unlock the lock in the MC and mark the  pef
       config as unlocked.

       Response:
	      PEF config unlocked: <pef	config>

       close <pef config> - Free the pef config.

       Response:
	      PEF config destroyed: <pef config>

   lanparm
       Commands	dealing	with lanparms.	These are basically connections	to the
       LAN  configuration  parameters  in an MC.  You use a lanparm to fetch a
       lanparm config, which you can then modify and write  back  to  the  MC.
       Note  that  when	 you  get a lanparm config, you	claim a	lock on	the MC
       that must be unlocked.

       new <mc>	<channel> - Create a lanparm for the given MC and channel.

       Response:
	      LANPARM: <lanparm>

       unlock_mc <mc> <channel>	- Unlock the lanparm lock on the given MC  and
       channel.

       Response:
	      LANPARM unlocked:	<mc>

       close <lanparm> - Free the given	lanparm

       Response:
	      LANPARM destroyed: <lanparm>

   lanparm config
       Commands	 dealing  with	lanparm	 configurations.  These	are the	actual
       lanparm data items.

       get <lanparm> - Fetch the lanparm data items from the lanparm and  cre-
       ate a lanparm config.

       Response:
	      LANPARM Config
		Name: <lanparm config>
		**LANPARM CONFIG**

       set  <lanparm>  <lanparm	 config>  - Write the lanparm data back	to the
       lanparm.	 Note that this	must be	the same lanparm used  to  create  the
       config.

       Response:
	      LANPARM config set: <lanparm config>

       unlock  <lanparm> <lanparm config> - Unlock the lock in the MC and mark
       the lanparm config as unlocked.

       Response:
	      LANPARM config unlocked: <lanparm	config>

       close <lanparm config> -	Free the lanparm config.

       Response:
	      LANPARM config destroyed:	<lanparm config>

OTHER COMMANDS
       A few general commands exist.

       evinfo <bool> - Turn on or off dumping object information when an event
       comes in.  This is false	by default.

       debug <type> <bool> - Turn the given debugging type on or off

EVENTS
       The command language will output	events to the console when  they  hap-
       pen.  Events all	occur in the format:
		Event
		  **EVENT INFO**

       The  event  info	 varies	on the type of events.	The defined events are
       listed below.  Note that	the output of some events depends on the  set-
       ting of the evinfo command; the information about the object itself may
       or may not be output.

       Some  events  have another event	container; this	is the IPMI event that
       caused the event	to be output.

       The following event is output when the domain is	completely up and  op-
       erational and finished all it SDR, FRU, and bus scans:
		EVENT
		  Object Type: Domain
		  Name:	<domain>
		  Operation: Domain fully up
		  Connection Number: <integer>
		  Port Number: <integer>
		  Any Connection Up: <bool>
		  Error: <integer>

       The following comes out when domain connection infomration changes:
		EVENT
		  Object Type: Domain
		  Name:	<domain>
		  Operation: Connection	Change

       The following comes out when domains are	added:
		EVENT
		  Object Type: Domain
		  Name:	<domain>
		  Operation: Add
		  %**DOMAIN INFO**

       The following comes out when domains are	destroyed:
		EVENT
		  Object Type: Domain
		  Name:	<domain>
		  Operation: Delete

       The  following  comes  out  when	the domain gets	an event that does not
       have a handler:
		EVENT
		  Object Type: Event
		  **EVENT INFO**

       The following comes out when an entity is added:
		EVENT
		  Object Type: Entity
		  Name:	<entity>
		  Operation: Add
		  %**ENTITY INFO**

       The following comes out when an entity is deleted:
		EVENT
		  Object Type: Entity
		  Name:	<entity>
		  Operation: Delete

       The following comes out when an entity is changed:
		EVENT
		  Object Type: Entity
		  Name:	<entity>
		  Operation: Change
		  %**ENTITY INFO**

       The following comes out when an entity's	FRU is added:
		EVENT
		  Object Type: Entity FRU
		  Name:	<entity>
		  Operation: Add
		  %**FRU INFO**

       The following comes out when an entity's	FRU is deleted:
		EVENT
		  Object Type: Entity FRU
		  Name:	<entity>
		  Operation: Delete

       The following comes out when an entity's	FRU is changed:
		EVENT
		  Object Type: Entity FRU
		  Name:	<entity>
		  Operation: Change
		  %**FRU INFO**

       The following comes out when an entity's	presence changes:
		EVENT
		  Object Type: Entity
		  Name:	<entity>
		  Operation: Presence Change
		  Present: <bool>
		  %Event
		    **EVENT INFO**

       The following comes out when an entity's	hot-swap state changes:
		EVENT
		  Object Type: Entity
		  Name:	<entity>
		  Operation: Hot-Swap Change
		  Last State: <hot-swap	state>
		  State: <hot-swap state>
		  %Event
		    **EVENT INFO**

       The following comes out when an MC is added:
		EVENT
		  Object Type: MC
		  Name:	<mc>
		  Operation: Add
		  %**MC	INFO**

       The following comes out when an MC is removed:
		EVENT
		  Object Type: MC
		  Name:	<mc>
		  Operation: Delete

       The following comes out when an MC is changed:
		EVENT
		  Object Type: MC
		  Name:	<mc>
		  Operation: Change
		  %**MC	INFO**

       The following comes out when an MC changes active state:
		EVENT
		  Object Type: MC
		  Name:	<mc>
		  Operation: Active Changed
		  Active: <bool>

       The following comes out when a discrete sensor gets an event:
		EVENT
		  Object Type: Sensor
		  Name:	<sensor>
		  Operation: Event
		  Offset: <integer>
		  Direction: assertion | deassertion
		  Severity: <integer>
		  Previous Severity: <integer>
		  %Event
		    **EVENT INFO**

       The following comes out when a threshold	sensor gets an event:
		EVENT
		  Object Type: Sensor
		  Name:	<sensor>
		  Operation: Event
		  Threshold: <threshold>
		  High/Low: going-high | going-low
		  Direction: assertion | deassertion
		  %Value: <double>
		  %Raw Value: <integer>
		  %Event
		    **EVENT INFO**

       The following comes out when a sensor is	added:
		EVENT
		  Object Type: Sensor
		  Name:	<sensor>
		  Operation: Add
		  %**SENSOR INFO**

       The following comes out when a sensor is	deleted:
		EVENT
		  Object Type: Sensor
		  Name:	<sensor>
		  Operation: Delete

       The following comes out when a sensor is	changed:
		EVENT
		  Object Type: Sensor
		  Name:	<sensor>
		  Operation: Change
		  %**SENSOR INFO**

       The following comes out when a control gets an event:
		EVENT
		  Object Type: Control
		  Name:	<control>
		  Operation: Event
		  Value
		    Number: <integer>
		    Value: <integer>
		  %Event
		    **EVENT INFO**

       The following comes out when a control is added:
		EVENT
		  Object Type: Control
		  Name:	<control>
		  Operation: Add
		  %**CONTROL INFO**

       The following comes out when a control is deleted:
		EVENT
		  Object Type: Control
		  Name:	<control>
		  Operation: Delete

       The following comes out when a control is changed:
		EVENT
		  Object Type: Control
		  Name:	<control>
		  Operation: Change
		  %**CONTROL INFO**

OBJECT INFO
       Many of the command responses and events	contain	information  about  an
       objects.	 The definitions of this information output is done here.

   **EVENT INFO**
		MC: <mc>
		Record ID: <integer>
		Event type: <integer>
		Timestamp: <integer>
		Data: <data bytes>

   **DOMAIN INFO**
		Type: <domain type>
		GUID: <hex string>
		SEL Rescan Time: <time>
		IPMB Rescan Time: <time>

   **ENTITY INFO**
		Type: unknown |	mc | fru | generic
		Present: <bool>
		Presence sensor	always there: <bool>
		Hot swappable: <bool>
		%Supports managed hot swap: <bool>
		%Parents
		  Name:	<entity>
		  Name:	<entity>
		   .
		   .
		%Children
		  Name:	<entity>
		  Name:	<entity>
		   .
		   .
		%Physical Slot:	<integer>
		%Id: <string>
		Entity ID String: <string>

       Note that Parents and Children fields will not be present if the	entity
       has  no parents or children.  Each entity type except unknown will have
       its own output info.  These are:

       mc
		Channel: <channel>
		LUN: <lun>
		OEM: <oem field	from SDR>
		Slave Address: <ipmb>
		ACPI_system_power_notify_required: <bool>
		ACPI_device_power_notify_required: <bool>
		controller_logs_init_agent_errors: <bool>
		log_init_agent_errors_accessing: <bool>
		global_init: <bool>
		chassis_device:	<bool>
		bridge:	<bool>
		IPMB_event_generator: <bool>
		IPMB_event_receiver: <bool>
		FRU_inventory_device: <bool>
		SEL_device: <bool>
		SDR_repository_device: <bool>
		sensor_device: <bool>

       fru
		Channel: <channel>
		LUN: <lun>
		OEM: <oem field	from SDR>
		Slave Address: <ipmb>
		access_address:	<ipmb>
		private_bus_id:	<integer>
		device_type: <integer>
		device_modifier: <integer>
		is_logical_fru:	<bool>
		fru_device_id: <integer>

       generic
		Channel: <channel>
		LUN: <lun>
		OEM: <oem field	from SDR>
		access_address:	<ipmb>
		private_bus_id:	<integer>
		device_type: <integer>
		device_modifier: <integer>
		slave_address: <ipmb>
		address_span: <integer>

   **MC	INFO**
		Active:	<bool>
		GUID: <hex string>
		SEL Rescan Time: <integer>
		provides_device_sdrs: <bool>
		device_available: <bool>
		chassis_support: <bool>
		bridge_support:	<bool>
		ipmb_event_generator: <bool>
		ipmb_event_receiver: <bool>
		fru_inventory_support: <bool>
		sel_device_support: <bool>
		sdr_repository_support:	<bool>
		sensor_device_support: <bool>
		device_id: <ipmb>
		device_revision: <integer>
		fw_revision: <integer>.<integer>
		version: <integer>.<integer>
		manufacturer_id: <integer>
		product_id: <integer>
		aux_fw_revision: <integer> <integer> <integer> <integer>

   *SENSOR INFO**
		LUN: <integer>
		Number:	<integer>
		Event Reading Type: <integer>
		Event Reading Type Name: one of:
			 unspecified threshold discrete_usage discrete_state
			 discrete_predictive_failure discrete_limit_exceeded
			 discrete_performance_met discrete_severity discrete_device_presence
			 discrete_device_enable	discrete_availability discrete_redundancy
			 discrete_acpi_power
		Type: <integer>
		Type Name: <sensor type	(a generic string)>
		%Direction: input | output
		%Event Support:	per state | entire sensor | global
		Init Scanning: <bool>
		Init Events: <bool>
		Init Thresholds: <bool>
		Init Hysteresis: <bool>
		Init Type: <bool>
		Init Power Up Events: <bool>
		Init Power Up Scanning:	<bool>
		Ignore If No Entity: <bool>
		Auto Rearm: <bool>
		OEM1: <integer>
		Id: <string>

       For threshold sensors, the following exist:
		Threshold Access: none | readable | settable | fixed
		Threshold
		  Name:	<threshold>
		  Readable: <bool>
		  Settable: <bool>
		  Supports: going high assertion | going low assertion
			    | going high deassertion | going low deassertion
		 .
		 .
		Hysteresis Support: none | readable | settable | fixed
		%Nominal Reading: <float>
		%Normal	Max: <float>
		%Normal	Min: <float>
		%Sensor	Max: <float>
		%Sensor	Min: <float>
		Base Unit: <integer>
		Base Unit Name:	<string>
		%Rate Unit: <integer>
		%Rate Unit Name: <string>
		%Modifier Use: / | *
		%Modifier Unit:	<integer>
		%Modifier Unit Name: <string>

       For discrete sensors, the following exist:
		Event
		  Offset: <integer>
		  Supports: assertion |	deassertion
		 .
		 .

   **CONTROL INFO**
		Type: <control type>
		Generates Events: <bool>
		Settable: <bool>
		Readable: <bool>
		Num Values: <integer>
		Id: <string>

       Controls	of type	light that are set with	settings have the following:
		Set with: settings
		Local Control: <bool>
		Color: <color>
		 .
		 .
       One color is listed for each supported color

       Controls	of type	light that are set with	transitions have  the  follow-
       ing:
		Light
		  Number: <integer>
		  Num Values: <integer>
		  Value
		    Number: <integer>
		    Num	Transitions: <integer>
		    Transition
		      Number: <integer>
		      Color: <color>
		      Time: <integer>
		     .
		     .
		   .
		   .

       Controls	of type	identifier have	the following:
		Max Length: <integer>

   **FRU INFO**
		Name: <fru>
		record
		  Name:	<name>
		  Type:	binary | ascii | unicode | integer
		  %Number: <integer>
		  Data:	data depending on type
		 .
		 .
		Multi-record
		  Number: <integer>
		  Type:	binary | ascii | unicode
		  Data:	<data in the above format>
		 .
		 .

   **LANPARM CONFIG**
		support_auth_oem: <bool>
		support_auth_straight: <bool>
		support_auth_md5: <bool>
		support_auth_md2: <bool>
		support_auth_none: <bool>
		ip_addr_source:	<integer>
		num_alert_destinations:	<integer>
		%ipv4_ttl: <integer>
		%ipv4_flags: <integer>
		%ipv4_precedence: <integer>
		%ipv4_tos: <integer>
		%ip_addr: <ip addr>
		%mac_addr: <mac	addr>
		%subnet_mask: <ip addr>
		%primary_rmcp_port <integer>
		%secondary_rmcp_port <integer>
		%bmc_generated_arps: <bool>
		%bmc_generated_garps: <bool>
		%garp_interval:	<integer>
		%default_gateway_ip_addr: <ip addr>
		%default_gateway_mac_addr: <mac	addr>
		%backup_gateway_ip_addr: <ip addr>
		%backup_gateway_mac_addr: <mac addr>
		community_string: <string>
		User
		  Name:	callback
		  enable_auth_oem: <bool>
		  enable_auth_straight:	<bool>
		  enable_auth_md5: <bool>
		  enable_auth_md2: <bool>
		  enable_auth_none: <bool>
		User
		  Name:	user
		  enable_auth_oem: <bool>
		  enable_auth_straight:	<bool>
		  enable_auth_md5: <bool>
		  enable_auth_md2: <bool>
		  enable_auth_none: <bool>
		User
		  Name:	operator
		  enable_auth_oem: <bool>
		  enable_auth_straight:	<bool>
		  enable_auth_md5: <bool>
		  enable_auth_md2: <bool>
		  enable_auth_none: <bool>
		User
		  Name:	admin
		  enable_auth_oem: <bool>
		  enable_auth_straight:	<bool>
		  enable_auth_md5: <bool>
		  enable_auth_md2: <bool>
		  enable_auth_none: <bool>
		User
		  Name:	oem
		  enable_auth_oem: <bool>
		  enable_auth_straight:	<bool>
		  enable_auth_md5: <bool>
		  enable_auth_md2: <bool>
		  enable_auth_none: <bool>
		Alert Destination
		  Number: <integer>
		  alert_ack: <bool>
		  dest_type: <integer>
		  alert_retry_interval:	<integer>
		  max_alert_retries: <integer>
		  dest_format: <integer>
		  gw_to_use: <integer>
		  dest_ip_addr:	<ip addr>
		  dest_mac_addr: <mac addr>
		 .
		 .

   **PEF CONFIG**
		alert_startup_delay_enabled: <bool>
		startup_delay_enabled: <bool>
		event_messages_enabled:	<bool>
		pef_enabled: <bool>
		diagnostic_interrupt_enabled: <bool>
		oem_action_enabled: <bool>
		power_cycle_enabled: <bool>
		reset_enabled: <bool>
		power_down_enabled: <bool>
		alert_enabled: <bool>
		%startup_delay:	<integer>
		%alert_startup_delay: <integer>
		guid_enabled: <bool>
		guid_val: <guid>
		num_event_filters: <integer>
		num_alert_policies: <integer>
		num_alert_strings: <integer>
		Event Filter
		  Number: <integer>
		  enable_filter: <bool>
		  filter_type: <integer>
		  diagnostic_interrupt:	<bool>
		  oem_action: <bool>
		  power_cycle: <bool>
		  reset: <bool>
		  power_down: <bool>
		  alert: <bool>
		  alert_policy_number: <integer>
		  event_severity: <integer>
		  generator_id_addr: <integer>
		  generator_id_channel_lun: <integer>
		  sensor_type: <integer>
		  sensor_number: <integer>
		  event_trigger: <integer>
		  data1_offset_mask: <integer>
		  data1_mask: <integer>
		  data1_compare1: <integer>
		  data1_compare2: <integer>
		  data2_mask: <integer>
		  data2_compare1: <integer>
		  data2_compare2: <integer>
		  data3_mask: <integer>
		  data3_compare1: <integer>
		  data3_compare2: <integer>
		 .
		 .
		Alert Policy
		  Number: <integer>
		  policy_num: <integer>
		  enabled: <bool>
		  policy: <integer>
		  channel: <integer>
		  destination_selector:	<integer>
		  alert_string_event_specific: <bool>
		  alert_string_selector: <integer>
		 .
		 .
		Alert String
		  event_filter:	<integer>
		  alert_string_set: <integer>
		  alert_string:	<string>
		 .
		 .

   **CONNECTION	INFO**
		Active:	<bool>
		Up: <bool>
		Port
		  Number: <integer>
		  Info:	<info string>
		  Up: <bool>
		 .
		 .

   **PEF INFO**
		MC: <mc>

   **PET INFO**
		MC: <mc>
		Channel: <channel>
		IP Address: <ip	address>
		MAC Address: <mac address>
		EFT Selector: <eft selector>
		Policy Number: <policy number>
		APT Selector: <apt selector>
		LAN Dest Selector: <lan	dest selector>

   **LANPARM INFO**
		MC: <mc>
		Channel: <integer>

SEE ALSO
       ipmish(1)

KNOWN PROBLEMS
       None

AUTHOR
       Corey Minyard <cminyard@mvista.com>

OpenIPMI			   05/13/03		       ipmi_cmdlang(7)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ipmi_cmdlang&sektion=7&manpath=FreeBSD+Ports+14.3.quarterly>

home | help