• Jeremy Kerr's avatar
    ipmi: allow dynamic BMC version information · aa9c9ab2
    Jeremy Kerr authored
    Currently, it's up to the IPMI SMIs to provide the product & version
    details of BMCs behind registered IPMI SMI interfaces. This device ID is
    provided on SMI regsitration, and kept around for all future queries.
    
    However, this version information isn't always static. For example, a
    BMC may be upgraded at runtime, making the old version information
    stale.
    
    This change allows querying the BMC device ID & version information
    dynamically. If no static device_id argument is provided to
    ipmi_register_smi, then the IPMI core code will perform a Get Device ID
    IPMI command to query the version information when needed. We keep a
    short-term cache of this information so we don't need to re-query
    for every attribute access.
    Signed-off-by: default avatarJeremy Kerr <jk@ozlabs.org>
    
    I basically rewrote this, I fixed some locking issues and simplified
    things.  Same functional change, though.
    Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
    aa9c9ab2
ipmi_msghandler.c 126 KB