freeipmi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Freeipmi-devel] which API - UDM or default


From: Andrew Wozniak
Subject: Re: [Freeipmi-devel] which API - UDM or default
Date: Wed, 30 May 2007 15:28:06 -0400
User-agent: Thunderbird 2.0.0.0 (Windows/20070326)

Thanks Andy,

I remember seeing ipmiutil but had not considered it because we needed a library in addition to CLI utilities. Will take a closer look.

-andrew


Cress, Andrew R wrote:
Andrew,

You may also want to consider using http://ipmiutil.sf.net, which
provides this capability without quite as much infrastructure.

It has fairly mature utilities to do what you might want to do, or you
can interface via a library by doing "make libipmiutil.a" and using
ipmicmd.h for reference.
It tries several driver interfaces, or uses direct user-space I/Os for
KCS or SSIF if no driver is present.
For example:
/*
 * ipmi_cmdraw
 * uchar cmd     (input): IPMI Command
 * uchar netfn   (input): IPMI NetFunction
 * uchar sa      (input): IPMI Slave Address of the MC
 * uchar bus     (input): BUS  of the MC
 * uchar lun     (input): IPMI LUN
 * uchar *pdata  (input): pointer to ipmi data
 * uchar sdata   (input): size of ipmi data
 * uchar *presp (output): pointer to response data buffer
 * int *sresp   (input/output): on input, size of response buffer,
 *                              on output, length of response data
 * uchar *cc    (output): completion code
 * char fdebugcmd(input): flag =1 if debug output desired
 */
int ipmi_cmdraw(uchar cmd, uchar netfn, uchar sa, uchar bus, uchar lun,
        uchar *pdata, uchar sdata, uchar *presp,
        int *sresp, uchar *pcc, char fdebugcmd);

Andy

-----Original Message-----
From: address@hidden
[mailto:address@hidden On
Behalf Of Al Chu
Sent: Wednesday, May 30, 2007 12:06 PM
To: Andrew Wozniak
Cc: address@hidden
Subject: Re: [Freeipmi-devel] which API - UDM or default

Hi Andrew,

I'm considering FreeIPMI library and API for an upcoming project. It appears to provide two API forms; UDM and a default. What suggestions can you offer for choosing one of these models for my application?

The SSIF is of specific interest because we need to interface a CPU to
a
local BMC via I2C. The CPU needs to send commands and be able to
monitor
for sensor events. Will either of the library models support these
services?

Both should.   Given your specific need to work with SSIF, I would go
with the default API.  UDM's primary purpose is to hide underlying
drivers (KCS, SSIF, LAN, etc.) in tools that may need to use all of the
drivers (ipmi-sensors, ipmi-sel, etc.).  Tools in FreeIPMI that use only
specific drivers (IPMI 2.0 LAN in ipmiconsole, IPMI 1.5 LAN in ipmiping,
etc.) do not use UDM.

I'm currently digging through the source code and tools to get a
better
understanding of all the available API's  Other than the header files,

does some sort of "API summary" and description exist anywhere?

At this moment I'm afraid not, the documentation for libfreeipmi is
quite poor.  Personally, I consider libfreeipmi to be more of a
"convenience" API for those who are somewhat knowledgeable of IPMI. There really isn't too much abstraction of IPMI in libfreeipmi for
general users.  This is in comparison to libipmiconsole that abstracts
SOL into a file descriptor interface.

I should note, that in the CVS head, there is a library I wrote called
'libipmimonitoring' which abstracts sensors to a very high level.  Not
sure if that is something you would find useful.  I currently does not
support SSIF, but it could.

On that note, there should perhaps be a mini-doc that goes into the doc/
directory that describes the libraries in FreeIPMI at a high level.
I'll add that into the TODO.

Thanks,
Al

On Wed, 2007-05-30 at 10:53 -0400, Andrew Wozniak wrote:
Hello,

I'm considering FreeIPMI library and API for an upcoming project. It appears to provide two API forms; UDM and a default. What suggestions can you offer for choosing one of these models for my application?

The SSIF is of specific interest because we need to interface a CPU to
a
local BMC via I2C. The CPU needs to send commands and be able to
monitor
for sensor events. Will either of the library models support these
services?
I'm currently digging through the source code and tools to get a
better
understanding of all the available API's  Other than the header files,

does some sort of "API summary" and description exist anywhere?

Thanks for all suggestions, Andrew


_______________________________________________
Freeipmi-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/freeipmi-devel




reply via email to

[Prev in Thread] Current Thread [Next in Thread]