I all, I want to discuss a new behaviour introduced in 1.8.11 about
sensor reading via IPMI over lan on AdvancedTCA IPMC.

It is related to the following patch:

>The current code for getting a sensor reading ignores the sensor owner
id >from the SDR if the request was issued from any other channel than
IPMB. >Would it be possible to remove this restriction in the next
release by  >applying the attached patch file?
>
>--- ipmitool-1.8.10.old/lib/ipmi_sdr.c 2008-07-09 22:17:03.000000000
>+0200
>+++ ipmitool-1.8.10/lib/ipmi_sdr.c     2009-01-23 18:18:34.000000000
+0100
>@@ -444,9 +444,6 @@
>       struct ipmi_rs *rsp;
>       uint8_t save_addr;
> 
>-      if ((strncmp(intf->name, "ipmb", 4)) != 0) 
>-              return ipmi_sdr_get_sensor_reading(intf, sensor);
>
>       save_addr = intf->target_addr;
>       intf->target_addr = target;

This creates a problem with some AdvancedTCA boards that implement IPMI
over lan while being a 'satellite' MC themselves. This means that the
'owner id' of the SDR is not the IOL id of the BMC (0x20) but an IPMB
address defined by the physical location of the blade in the system. 

As an example, if the blade is at 0x88, IPMITOOL will now try to
'bridge' the request from 0x20 to 0x88, even though 0x88 is the real
IPMI 'slave address' of the blade, so it fails to get a reading. 

In the IPMI spec (2.0 rev 1.0 R3), section 13.8 IPMI LAN Message Format
, the following is indicated:

...start of spec section...

rqAddr 

Requester's Address. 1 byte. LS bit is 0 for Slave Addresses and 1 for
Software IDs. Upper 7-bits hold Slave Address or Software ID,
respectively. This byte is always 20h when the BMC is the requester.

rsAddr 

Responder's Slave Address. 1 byte. LS bit is 0 for Slave Addresses and 1
for Software IDs. Upper 7-bits hold Slave Address or Software ID,
respectively. This byte is always 20h when the BMC is the responder.

...end of spec section...

So we don't have much choice, and we need to use 0x20 for IOL on a
satellite as well. As a workaround for the sensor reading commands, we
can use: '-m <real ipmb> -t <real ipmb>'. 

I think that we might generalise the 'PICMG extension' tweak already in
the OpenIPMI plugin to gather the 'IPMB' address when possible and set
'my_addr' accordingly for other interfaces.

Anyone else have a thought on that?

Thank you.



Francois Isabelle
 

------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Ipmitool-devel mailing list
Ipmitool-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel

Reply via email to