summaryrefslogtreecommitdiffstats
path: root/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* Fix: User commands require channel layer libRichard Marian Thomaiyar2019-03-041-1/+2
| | | | | | | | | | | | | | As channel layer is separated out from user layer lib, it has to be manually included in libusercommands, as user command handlers use channel layer API's Tested-by: 1. Made sure that libusercommands are loaded on it's own without any undefined symbol error. 2. ipmitool user list 1 works on host interface Change-Id: I6652ad248e01afc1349e3a9612754dbdb84b96ad Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
* ipmid: Add whitelist filtering using the new filter registration mechanismVernon Mauery2019-02-251-2/+13
| | | | | | | | Implement the whitelist filtering as an optional provider using the new filter registration mechanism. Change-Id: I0d738e58508d31e6b1867e13b3b7ed048303d5d8 Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
* ipmid: Rewrite ipmid to use the new architectureVernon Mauery2019-02-251-4/+6
| | | | | | | | | | | | | New architecture highlights: * The new registration detects handler type for argument unpacking. * Upon completion the response is automatically packed. * Handlers can make use of the new async/yield sdbusplus mechanism. * The queue exports a new dbus interface for method-based IPMI calls. * The legacy handler registration is still supported for now. * The legacy dbus interface is still supported for now. Change-Id: Iae8342d9771ccebd3a0834e35597c14be4cc39cf Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
* ipmid: Compiler-generated unpacking and packing of messagesVernon Mauery2019-02-251-0/+2
| | | | | | | | | | | | | handler.hpp has the templated wrapping bits for ipmi command handler callbacks implemented. message.hpp has the serialization/deserialization of the ipmi data stream into packed tuples for functions. message/pack.hpp and message/unpack.hpp contain the actual serialization and deserialization of types. Change-Id: If997f8768c8488ab6ac022526a5ef9a1bce57fcb Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
* ipmid: move channel code from libuserlayer to libchannellayerVernon Mauery2019-02-251-7/+4
| | | | | | | | | | | | Separate the channel implementation from the user implementation. It is possible to link only against the channel layer, but if code is using the user layer, it is likely to need both user and channel code. This makes it so that ipmid can support the notion of channels without supporting users. Change-Id: I3a7eb7c004e1c2f8aeb696180139cf68c2c4aac0 Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
* Add support for Entity Association RecordJaghathiswari Rankappagounder Natarajan2019-02-151-1/+5
| | | | | | | | | | | | | | Adding support for Entity Association Record (SDR type - 0x08h) This patch includes: 1) Entity Association Record yaml file example 2) Entity Assocation Record related script and mako file changes 3) Adding Entity Association Record in get_sdr IPMI command response From the host, tested that entity association records can be fetched Change-Id: I9cf598e5d27d2e8c6751bbaae2176e7c976974b1 Tested: Yes Signed-off-by: Jaghathiswari Rankappagounder Natarajan <jaghu@google.com>
* Create the libchannellayer library so it can split from libuserlayerVernon Mauery2019-02-121-0/+1
| | | | | | | | This will hold the channel manangement interface and implementation, which can be used separately from the libuserlayer. Change-Id: I06e7310223445cbb095f1e9caebc0e391afb704d Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
* Create libipmid and libipmid-hostWilliam A. Kennington III2019-02-071-10/+17
| | | | | | | | | | | | | | | | | | | This starts a transition to common ipmid libraries that providers can link against. It will allow for a cleaner separation between common ipmid functionality and daemon type specific code. This is needed so we can resolve all of the symbols in the providers at link time instead of discovering bad linkage by building and running a full ipmi daemon. In future commits libraries will be packaged for libipmid and libipmid-host which provide all of the symbols used by the current set of ipmid providers. This is the first step, it just separates and renames the headers. Legacy symlinks are still kept around for compatability. It also adds stub libraries so that external users can start linking as intended. Change-Id: I6bbd7a146362012d26812a7b039d1c4075862cbd Signed-off-by: William A. Kennington III <wak@google.com>
* Removing net.hpp and net.cpp because functionality movedJohnathan Mantey2019-02-051-6/+1
| | | | | | | | The functionality provided by net.hpp and net.cpp has been moved into the channel_mgmt class. Change-Id: I4820609f87f27ebe81d9b36f7b8e95a5262985ac Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
* IPMI channel to NIC device mapping modified within JSON config fileJohnathan Mantey2019-02-041-0/+1
| | | | | | | | | | | The IPMI to NIC channel mapping was done using a hard coded scheme. The scheme used generic channel names which were then mapped to specific device names. The hard coded generic to specific naming convention is removed, and the JSON file contains the device name directly. Change-Id: Ibc6821cae5a26f2666467aba5346d364053f2582 Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
* Revert "eSEL: Remove unused code related to logging eSEL"Tom Joseph2019-02-041-0/+1
| | | | | | | | | | This reverts commit 54fad6de0541c2f98e9b511f1d30bbcbcd743db6. This commit is reverted because the mapping of D-Bus object path to sensor information is still needed. The mapping is needed to serve the SEL commands which translate D-Bus logging objects to SEL entries. Change-Id: I2505299671db1f0bd7f116ef0e2ca4a0273eead8
* eSEL: Remove unused code related to logging eSELTom Joseph2019-02-011-1/+0
| | | | | Change-Id: Ia9815102064d20795a44b8e6a7d8b324c280756c Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* ipmid: use a common set of CXX flags across ipmid and provider librariesVernon Mauery2019-01-111-21/+11
| | | | | | | | | | | | | | | | This standardizes the set of CXX flags used to compile. This makes the file easier to read and ensures that all the libraries are all compiled with the same options as the executable. This also adds -Wno-psabi, which reduces the number of "Note:" messages when cross-compiling some STL stuff for ARM. See https://stackoverflow.com/questions/48149323/strange-gcc-warning-when-compiling-qt-project for details. Basically, gcc 6 and gcc 7 are not ABI compatible, but since the whole openbmc project uses the same compiler, we can safely ignore the informational notes. Change-Id: Idc343245404d0b471b7bec4462ac36c9477a7361 Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
* libipmi: Decouple user commandsWilliam A. Kennington III2018-12-201-4/+13
| | | | | | | | | | | | | This makes them an optional, separate provider like the sysfs cmds. Tested: Ran on real hardware that included libusercmds.so in /usr/lib/host-ipmid and on a machine that did not include it. Ran ipmitool on the host to verify that the user commands were present when expected. Change-Id: I07b3af5ae603c3e5f1ea41f0afc309329f4e185d Signed-off-by: William A. Kennington III <wak@google.com>
* make: Build user_channel separatelyWilliam A. Kennington III2018-12-131-30/+7
| | | | | | | | | | | We need to make sure that libuserlayer is installed before libipmi20 tries to install + relink. Otherwise the relink will fail causing the build to sometimes fail. We can only guarantee this ordering safely by using automake SUBDIRS since they are guaranteed to be executed in order. Change-Id: I6488eecb504f72273e97cfcf336e5bbd816c4137 Signed-off-by: William A. Kennington III <wak@google.com>
* build: fix pam library inclusion and usagePatrick Venture2018-12-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The pam_misc was deliberately included by the Makefile_am, however, no calls into pam_ were made from libuserlayer. Pam calls were made from usercommand.cpp, in libipmi20.so. The calls are part of the primary pam library. Before: objdump -t phosphor-host-ipmid/.libs/libipmi20.so\ |grep "UND"|grep -v "@@"|grep "pam" 0000000000000000 *UND* 0000000000000000 pam_end 0000000000000000 *UND* 0000000000000000 pam_chauthtok 0000000000000000 *UND* 0000000000000000 pam_start Now: objdump -t ./.libs/libipmi20.so|grep "UND"|grep pam 0000000000000000 F *UND* 0000000000000000 pam_chauthtok@@LIBPAM_1.0 0000000000000000 F *UND* 0000000000000000 pam_end@@LIBPAM_1.0 0000000000000000 F *UND* 0000000000000000 pam_start@@LIBPAM_1.0 Tested: Searched objects for undefined pam calls and found the information above. Change-Id: I44aa570a2087affafba09886fbf17fa9d99abe05 Signed-off-by: Patrick Venture <venture@google.com>
* build: drop linking of libsslPatrick Venture2018-12-111-1/+2
| | | | | | | Drop unused linking of libssl from build. Change-Id: I8cb0e6d66f4529fc64aa5329798c5d95af7068b5 Signed-off-by: Patrick Venture <venture@google.com>
* build: Fix Makefile_am: drop LIBPAMPatrick Venture2018-12-031-1/+1
| | | | | | | Drop LIBPAM because it is undefined. Change-Id: Ibcf4ee8b20b7d74f9641b63b2fab6da8fb43c689 Signed-off-by: Patrick Venture <venture@google.com>
* build: Fix crypto reference in Makefile_amPatrick Venture2018-12-031-1/+1
| | | | | | | Use CRYPTO_LIBS, as LIBCRYPT is undefined. Change-Id: I603ec51067bb2bf5e9d030b9e6ff02dbbabae8f8 Signed-off-by: Patrick Venture <venture@google.com>
* makefile cleanupPatrick Venture2018-11-201-33/+53
| | | | | | | | Cleanup the Makefile.am files to be consistent. Space indentation was replaced with tabs, and newlines consistently injected. Change-Id: I5a5e343d6a3e9a7a65eae9827a61fcdd4fc33878 Signed-off-by: Patrick Venture <venture@google.com>
* move HOST_IPMI_LIB_PATH to configure.acPatrick Venture2018-11-201-2/+1
| | | | | | | | Per TODO in Makefile.am, move the definition of HOST_IPMI_LIB_PATH from the Makefile to the configure script. Change-Id: If39bf1193f4502c239a78e21487566b234b746f8 Signed-off-by: Patrick Venture <venture@google.com>
* IPMI Channel commands implementationAppaRao Puli2018-11-201-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IPMI Channel commands implemenation - squashed commit e9a75d8dd6e89d17381f0310c7930586c6b79996 Author: AppaRao Puli <apparao.puli@intel.com> Date: Thu Jul 5 14:47:22 2018 +0530 Channel layer separation De-coupling the channel management from ipmi channel commands implementation. This gives flexibility to load only needed stuff in different modules(host-ipmi or netipmid) Change-Id: Ib334562beb9325f7768ed6a15475cae15af17b19 Signed-off-by: AppaRao Puli <apparao.puli@intel.com> Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> commit 726ddf2af678ea6773f4b4b918fbd49be8c83e6a Author: AppaRao Puli <apparao.puli@intel.com> Date: Thu May 24 16:45:30 2018 +0530 IPMI Channel commands implementation Following IPMI channel commands are implemented. 1) Set channel access (0x40) 2) Get channel access (0x41) 3) Get channel info (0x42) Also added code supported for LAN configuration parameters 1) Authentication Type Support (selector #1) 2) Authentication Type Enables (selector #2) Change-Id: Ic4156378c7756eca383dc3da52114fd119346ca6 Signed-off-by: AppaRao Puli <apparao.puli@intel.com> Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> Change-Id: Ic4156378c7756eca383dc3da52114fd119346ca6 Signed-off-by: AppaRao Puli <apparao.puli@intel.com> Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
* Basic IPMI User Management SupportRichard Marian Thomaiyar2018-11-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Squashed commit containing Basic User Management implementation Unit Test: 1. Verified both Host & NetIpmid works fine. 2. Verified user related command responses commit b46b869c0a3958a572b976b3bbaf6b5f33673778 Author: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> Date: Tue Aug 7 15:30:32 2018 +0530 Fix static objects to directly link user layer User layer library has to be directly linked with netipmid in order to be used in RAKP commands. Hence user layer library should not initialize the static bus objects in file scope, as ipmid_get_sd_bus_connection() won't be available during this time. Hence moved it under function scope and initialize it later. Unit test: Made sure, with this change it is loaded perfectly under phosphor-ipmi-host & phosphor-ipmi-net and responding to all user commands Change-Id: Id3f2e06580ca41b0347176ca33e011bf7b048c6a Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> commit dc60516c45234379a30ad8b03b1cbe53978faeae Author: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> Date: Tue Aug 7 15:22:37 2018 +0530 Fix to use proper user index for set user name Fix to use proper user index, instead of bailing out on first empty index. If user creation is requested on random index with previous index empty, then signal handler updates the data in first empty index, instead of traversing the user list fully. Fix added to mark the first free index, and still search for match to skip if found. Unit Test: Verified that user added in random index shows in that index using ipmitool set user name command. Change-Id: I30d9b884a5bae98b243ccf8ba7da194ef81355e6 Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> commit 0b9a81a1261b08ea13ad8777d0d80dad937e9972 Author: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> Date: Fri Jul 6 15:57:02 2018 +0530 Converting json store to array for user config Addressed comments to convert to array instead of key value pair. Testing: Performed basic testing of user management commands in both host & netipmid, by repeatedly restarting the same. Change-Id: I2e51ded3e2299fa196d868213950d96c72886358 Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> commit 182c945657b29acaeb13fc44129e0ed929013e59 Author: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> Date: Sat Jun 30 00:07:28 2018 +0530 Fix D-Bus paths for user management Fix D-Bus path as per upstream code in user management Change-Id: Idb22bee4365520f3d58e70ff61b02d6f6512d707 Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> commit cd5e22b16f8805dda396311b06994a9e021e97e9 Author: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> Date: Thu Jun 28 06:22:27 2018 +0530 Json format to store user config & cleanup Code updated to use json format to store and read the user configuration data. Few basic cleanup's performed. Change-Id: I7005f4f2648ccb8214312982a755ddcc6c33e64d Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> commit 95ca9a67a4b84df603db0eb6a7024e9e0e5ad342 Author: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> Date: Wed May 30 15:16:47 2018 +0530 Get & Set User Access command implementation Get & Set User access command implementation Change-Id: I4f7a86de95400387c47ae556127baa1f02a703b2 Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> commit b2dea762362d06b70576dba5f45552d548792cb9 Author: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> Date: Fri May 18 23:46:23 2018 +0530 User layer separation. Separated out user commands from the implementation details, by creating user layers. App Handler library and netipmid will directly rely on this user_layer.so Change-Id: Ie7d4b3a5a934e32da73e066a25da4c27485c59c8 Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> commit 63e3113e522ecc7ce6e5aa1c85de4dc9b9a65a7b Author: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> Date: Mon May 7 12:00:06 2018 +0530 Updated user management ipmi support 1. Relying on Object Manager & D-Bus properties signal (except user rename, for which still relying on user rename signal) 2. Minor clean-up. Change-Id: I594e7823a2c626bb7c88ec54a3ffa89a60b09c65 Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> commit 3e7b774c842917743369569790612d74387c755e Author: AppaRao Puli <apparao.puli@intel.com> Date: Tue Apr 24 22:01:15 2018 +0530 Synchronize user manager data during ipmi startup Synchronizing the user information by reading all managed user objects from dbus and checking ipmi user data for any update/delete/add users. Change-Id: I9e1a62ec9dd186a7276d083a57e679606d635e05 Signed-off-by: AppaRao Puli <apparao.puli@intel.com> Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> commit 92298ac0f591d167b0e26b977316a2b136127778 Author: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> Date: Tue Apr 24 21:34:08 2018 +0530 Minor fix: Read user enabled state in signals Fixed to read user enabled state in signal handlers. Change-Id: I0aa6c4687c16e08d8e304315e85cb65e9dbd346a Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> commit 8646d2683fc247ce02a0460f9577276eb6e0a581 Author: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> Date: Wed Apr 11 22:18:44 2018 +0530 Signal handler update Support added to handle group, privilege user rename, enable / disable signal, and update the database accordingly. Change-Id: Ia33d063715a35814bbe1f9220e9609b800261e33 Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> commit fa411b2c4bbef50175b084889a4829206263ebdb Author: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> Date: Mon Mar 12 23:42:34 2018 +0530 Add Basic user manager support - IPMI Add basic user manager support in IPMI Creates user through D-Bus user interface and sets password using pam_chauthok(). Lock & File reload mechanism also implmeneted. UserUpdate signal handler support added to update user in IPMI, when users are updated through different interfaces. Change-Id: I1adc538562615109189d7c19dadae0b6a109f4a5 Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> Change-Id: I1adc538562615109189d7c19dadae0b6a109f4a5 Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
* Add first user layer support.Richard Marian Thomaiyar2018-11-131-1/+15
| | | | | | | | | Exposes user layer library which will be used by both apphandler and netipmid for RAKP. Password is decrypted from the special file which is used by pam-ipmi. Change-Id: Ia6b99d4359a03843f19cd0e18f7269ad2e3cdb44 Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
* Use the common timer classVernon Mauery2018-10-181-1/+0
| | | | | | | | | The common timer class from sdbusplus offers all the timer goodness that we currently use. The unit test is also no longer needed (and has been added to sdbusplus's version of the timer.hpp implementation). Change-Id: I278817489433a29ca739f70fdacd8bb897797d66 Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
* apphandler: Add storage for Get/Set System Info ParameterXo Wang2018-09-241-0/+1
| | | | | | | | | | | All but one standard System Info Parameter and most (all?) OEM parameters are string type. Add a interface to connect string callbacks to System Info Parameter selector codes. Also add a convenience call that can connect a static string to a parameter selector code. Change-Id: I5e35d0418b8ddf5b2575fac093acfc7d7ca2217c Signed-off-by: Xo Wang <xow@google.com> Signed-off-by: Patrick Venture <venture@google.com>
* add iana header to store OEM NumbersPatrick Venture2018-09-101-0/+1
| | | | | | | | The iana.hpp header is installed to identify OEM IPMI numbers used, to avoid namespace conflicts. Change-Id: Ifd629817e3b921f86a5ea4cf2c2965a44a2d8201 Signed-off-by: Patrick Venture <venture@google.com>
* Add -flto to CXXFLAGSAndrew Geissler2018-08-271-3/+6
| | | | | | | | | | Per openbmc/openbmc#3364, adding -flto to CXX flags in order to reduce overall library and binary sizes. Ref: https://gcc.gnu.org/wiki/LinkTimeOptimization Change-Id: Idacb03d1ce6ad0253979f5e8b2638ac5129a6216 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
* Add flags to Makefile.am to build as c++17 and header-only boostVernon Mauery2018-08-081-2/+9
| | | | | | | | | | As the project moves forward, we are updating it to use c++17 and some of the features that it offers, as well as some more boost bits. This patch makes sure that all the boost libraries are header only, adds in c++17, and makes sure that the libraries required are linked properly. Change-Id: I9a25ec971e4bf05c2c3b73e20938cf337e06077c Signed-off-by: Vernon Mauery <vernon.mauery@intel.com>
* rename libapphandler.so to libipmi20.soVernon Mauery2018-08-081-8/+12
| | | | | | | | | libapphandler contains way more than just App commands. This should be the base library that contains all of the default implementations of IPMI 2.0 commands. Change-Id: Ie12f706325808c9dd52d186d4e4406424052510b Signed-off-by: Vernon Mauery <vernon.mauery@intel.com>
* Add OemRouter facility.Peter Hanson2018-07-251-2/+5
| | | | | | | | | | | | | OemRouter adds a facility to register OEM Group Message handlers, then dispatch matching messages to the registered handler. Added as a core source so that any dynamic provider can register its messages without requiring any specific load order. Includes code fixes for x86 portability. Change-Id: I47b8fe7873e3c7fdf35a00d3c8a7e17d30c398c4 Signed-off-by: Peter Hanson <peterh@google.com> Signed-off-by: Patrick Venture <venture@google.com>
* Add code coverage for phosphor-host-ipmid.Emily Shaffer2018-07-181-0/+7
| | | | | Change-Id: I940aadefdf0f78182aad1d4e586e3178e2d2fe97 Signed-off-by: Emily Shaffer <emilyshaffer@google.com>
* watchdog: Rewrite using sdbusplusWilliam A. Kennington III2018-02-211-0/+1
| | | | | Change-Id: I730317954819859d23fdaca7336f19f5c5b0c107 Signed-off-by: William A. Kennington III <wak@google.com>
* Add channel-gen.cpp to compilation unitsTom Joseph2018-01-241-8/+10
| | | | | | | | | The commit c01edf283dca792d1eecedd5c03b69b7eebb6f23 in phosphor-host-ipmid had introduced a breaking change. This commit would fix that. Change-Id: Id3aa18bcc3b7f054b8c659916896de146064d8bb Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* multiple-channel configuration via yamlPatrick Venture2018-01-171-1/+5
| | | | | | | | | Handles converting a yaml file mapping IPMI channel to ethernet device and using this instead of a hard-coded map. Change-Id: Iedfe7cb52a2d0663b9c8a0f6f9d37fe733b63a58 Signed-off-by: Patrick Venture <venture@google.com>
* multiple channel configuration supportPatrick Venture2017-12-121-0/+1
| | | | | | | | | | | | | | Previously, the ipmi daemon only supported eth0 and hard-coded it to channel 1. This allows one to map via a configuration. The channel number provided is checked against a configuration to retrieve the ethernet device identifier, e.g. eth0. Tested: Ran on a quanta-q71l and was able to properly set MAC, IP, Netmask, Gateway IP, and then verified the data was set for the eth1 via `ip addr show eth1`. Change-Id: I92f63188297304e9454fd0d6fe32bc6cf84bb181 Signed-off-by: Patrick Venture <venture@google.com>
* apphandler: channel: split out commandsPatrick Venture2017-10-261-0/+1
| | | | | | | | | | | | | | I split out the channel commands into their own subordinate file from the apphandler.cpp. There are three commands in apphandler for the channel information. There are other commands in the transporthandler that correlate. Moving this is step one in a larger task to enable multiple channels. Change-Id: I2e434a1da942325fc420079415edb39622f4e346 Signed-off-by: Patrick Venture <venture@google.com>
* watchdog: split out commandsPatrick Venture2017-10-251-0/+1
| | | | | | | | | | I split out the watchdog command handlers into their own subordinate file from the apphandler. This reduces the size of the contents of the apphandler file, and logically cuts out code into its own files. Change-Id: Idc70acad6c93c12456cc7092786715643c9c1ffb Signed-off-by: Patrick Venture <venture@google.com>
* Make host command manager accessible by OpenPower OEMVishwanatha Subbanna2017-08-141-1/+3
| | | | | | | | | Since OpenPower Host IPMI OEM also needs to use the Host Command manager, need to place the files in appropriate directories and make needed changes. Change-Id: I7536a0ff1e53a844ec05f73c4e0605cbf4341465 Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
* Use Host Command Manager in host interface implementationVishwanatha Subbanna2017-08-141-4/+4
| | | | | Change-Id: Icefce510a3a0022bf0288fa99518459b732a2e04 Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
* Define the Manager for handling host bound commandsVishwanatha Subbanna2017-08-141-7/+8
| | | | | | | | | | Since some of the host bound commands are valid only for OpenPower systems, a manager is needed, which can handle commands from OpenBmc common code and also OpenPower implementations. Change-Id: Icf6566e701921ecea4c8cff1c16e498385303396 Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
* IPMI: Virtual sensor support in host ipmidDhruvaraj Subhashchandran2017-08-041-1/+2
| | | | | | | Resolves openbmc/openbmc#1608 Change-Id: Id76446061fd0fa6dc3dead702538e424293af7ce Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
* Add API to retrieve settingsDeepak Kodihalli2017-07-311-3/+16
| | | | | | | Add API to retrieve and cache settings objects of interest. Change-Id: I8afd58b5b3e9a691e4d3fa6bfba2ba5c92cd2568 Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
* read data for the specified FRU id from inventoryMarri Devender Rao2017-07-251-1/+2
| | | | | Change-Id: I5255541719edad6453cd3163d9ad428548f1a2c7 Signed-off-by: Marri Devender Rao <devenrao@in.ibm.com>
* construct IPMI FRU Info data based on inventory dataMarri Devender Rao2017-07-251-1/+2
| | | | | Change-Id: If8ee75b48323d29b568ef807d381a3e5600527d5 Signed-off-by: Marri Devender Rao <devenrao@in.ibm.com>
* Create IPMI SEL record from Logging DBUS EntryTom Joseph2017-07-081-1/+2
| | | | | | | | | | The Log Id, resolved field and the timestamp is read from the DBUS entry and mapped to the SEL record. The remaining fields are populated from the generated code which maps an association to the sensor number. Change-Id: I89c3862cf35efa1b9fb86de734431c8141143fb7 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* generate map of phosphor-dbus fru propertiesMarri Devender Rao2017-06-261-2/+11
| | | | | | | | | | Reusing frup.hpp, example.yaml, fru-gen.py, writefru.mako.cpp from ipmi-fru-gen repository to generate map of frup properties. Generated map facilitates in reading data from the inventory. Change-Id: I6d6dbc55a340dd06b4639f8bded8cc09df815a59 Signed-off-by: Marri Devender Rao <devenrao@in.ibm.com>
* Create file to indicate host requested off/rebootAndrew Geissler2017-06-061-1/+1
| | | | | | | | | | Create a file to ensure the soft power off service is not run when the host is requesting a power off or reboot. There's no need to notify the host (i.e. soft power off) when they are initiating it. Change-Id: Ic9f8e7110d30f477ceae38bba9d684559d9503d3 Signed-off-by: Andrew Geissler <andrewg@us.ibm.com>
* Makefile changes for generating inventory-sensor-gen.cppTom Joseph2017-05-191-2/+6
| | | | | | | | | Provide capability for the recipe to pass the config yaml as a configurable output. Fallback to inventory-sensor-example.yaml in case no config yaml is passed. Change-Id: I6a069b0925c3e4c4d56bd1c9767b8fadcdf433b4 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Add timeout support to host controlAndrew Geissler2017-05-091-1/+2
| | | | | | | On timeout, send error signal for all commands within the queue Change-Id: Ic995fd4b057bd83f121a3deec405a26e0991e9a2 Signed-off-by: Andrew Geissler <andrewg@us.ibm.com>
OpenPOWER on IntegriCloud