#
97e69ca1 |
| 16-Aug-2024 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda forma
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda formatting also changed, so we have made changes to the organization default style format to better handle lambda formatting.
See I5e08687e696dd240402a2780158664b7113def0e for updated style. See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.
Change-Id: I7c1a903d0b8fe5df2da9a73bda2d84113e9d854d Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
52509572 |
| 10-May-2023 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest .clang-format from the docs repository and reformat the repository.
Change-Id: I86d194886a4dcd325364041d4c7745f4ea22fd65 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
83f9992c |
| 22-Jun-2022 |
Willy Tu <wltu@google.com> |
Recover Add ipmi response buffer size check for all commands
Use the ipmi::Context channel to get the max transfer size to make sure that we select the right size.
Also remove maximumReadSize since
Recover Add ipmi response buffer size check for all commands
Use the ipmi::Context channel to get the max transfer size to make sure that we select the right size.
Also remove maximumReadSize since the max reply size is checked instead
We already check the max reply size so maximumReadSize is not needed anymore. This will result in a bit of a different behavior when the size exceed the max. It will not fail - instead, it will return up to the max size.
Tested: Work with ipmi config that doesn't support the default interface (13). ``` cat /usr/share/ipmi-providers/channel_config.json { "0": { "name": "usb0", "is_valid": true, "active_sessions": 0, "channel_info": { "medium_type": "lan-802.3", "protocol_type": "ipmb-1.0", "session_supported": "multi-session", "is_ipmi": true } }, "8": { "name": "INTRABMC", "is_valid": true, "active_sessions": 0, "channel_info": { "medium_type": "oem", "protocol_type": "oem", "session_supported": "session-less", "is_ipmi": true } }, "11": { "name": "gbmcbr", "is_valid": true, "active_sessions": 0, "channel_info": { "medium_type": "lan-802.3", "protocol_type": "ipmb-1.0", "session_supported": "multi-session", "is_ipmi": true } } } ```
This read the blob count and always works now since it uses the right interface to get the max transfer size. ``` ipmitool raw 46 128 207 194 0 0 cf c2 00 4a ac 0e 00 00 00 ```
Change-Id: Ia65f80719a819e7d642eb7425463a56c179935ac Signed-off-by: Willy Tu <wltu@google.com>
show more ...
|
#
067ece15 |
| 16-Jun-2022 |
Willy Tu <wltu@google.com> |
Refactor to use new version of OEM IPMI Handler
Using the new version of ipmi handler provide a higher level wrapper over the same functionalities. It helps us parse the input and output to have mor
Refactor to use new version of OEM IPMI Handler
Using the new version of ipmi handler provide a higher level wrapper over the same functionalities. It helps us parse the input and output to have more control of the input/output we see.
Changes to note, - All cmd are removed from the request data. That is automatically extracted now.
Tested: Unit Test Passed.
All IPMI OEM command still works the same as before this change.
``` $ burn_my_bmc -command stage -image /tmp/test.txt -interface ipmipci Set up ipmi flash updater with /flash/dummy Received failure on delete: Received IPMI_CC: 255 Sending over the firmware image. Find [0x1050 0x750] bar0[0x94000000] Upload to BMC 100% |Goooooooooooooooooooooooooooooooooooooooooooooooooooooooogle| Time: 00:00:00 Opening the verification file Committing to /flash/verify to trigger service Calling stat on /flash/verify session to check status success succeeded ```
Also tested gBMC Update workflow which worked fine.
Change-Id: Ib2bfeab0c2ec5aa72ede1ff457ef5f90e488053c Signed-off-by: Willy Tu <wltu@google.com>
show more ...
|
#
d92aee4d |
| 27-Jun-2022 |
Willy Tu <wltu@google.com> |
Revert "Add ipmi response buffer size check for all commands"
This reverts commit 88ca532a74375cc99bd979fbb037d07e5ee76cce.
Reason for revert: ipmi::getChannelMaxTransferSize is only using the defa
Revert "Add ipmi response buffer size check for all commands"
This reverts commit 88ca532a74375cc99bd979fbb037d07e5ee76cce.
Reason for revert: ipmi::getChannelMaxTransferSize is only using the default channel and may fail when using a different channel.
Change-Id: Ic080de6f51c05f86807b81dfd3dd38a87fc2dbf5 Signed-off-by: Willy Tu <wltu@google.com>
show more ...
|
#
88ca532a |
| 14-Jun-2022 |
Willy Tu <wltu@google.com> |
Add ipmi response buffer size check for all commands
Add a response size check for all Blob command using the max transfer buffer size for the default ipmi channel.
The max size is fetched at the b
Add ipmi response buffer size check for all commands
Add a response size check for all Blob command using the max transfer buffer size for the default ipmi channel.
The max size is fetched at the beginning and assumed that it won't change. This is done instead of fetching it for all request to limit the amount of refactoring needed to make it work with existing codebase.
Change-Id: I66c506cab9c92a120e9fc75da4b6b74d5677120b Signed-off-by: Willy Tu <wltu@google.com>
show more ...
|
#
03fd5b8b |
| 07-May-2020 |
Patrick Venture <venture@google.com> |
move entry point handler to process Move the entry point handler for IPMI messages to process for two reasons: 1) this lets one build pieces of this library without including the
move entry point handler to process Move the entry point handler for IPMI messages to process for two reasons: 1) this lets one build pieces of this library without including the constructor 2) this code is part of the command processing, and as such should be with its kin. Signed-off-by: Patrick Venture <venture@google.com> Change-Id: I10ab19b1868a29b158570109b4211e9c8b01be18
show more ...
|
#
de8a16e2 |
| 07-Mar-2019 |
Patrick Venture <venture@google.com> |
use ipmiblob library from ipmi-blob-tool Drop all code that is now handled by the ipmiblob library provided by the new ipmi-blob-tool. This is a library that can be included on the
use ipmiblob library from ipmi-blob-tool Drop all code that is now handled by the ipmiblob library provided by the new ipmi-blob-tool. This is a library that can be included on the BMC if necessary, but relies on nothing that is strictly meant for the BMC. Change-Id: I2b02ae0d432e84c08e598d27eef85b57c06a70fc Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
#
acebece3 |
| 07-Feb-2019 |
William A. Kennington III <wak@google.com> |
Convert host-ipmid -> libipmid phosphor-host-ipmid now exposes a library along with headers for interfacing with the ipmi daemon. Compile and link against the new library. C
Convert host-ipmid -> libipmid phosphor-host-ipmid now exposes a library along with headers for interfacing with the ipmi daemon. Compile and link against the new library. Change-Id: I663e6607f711bc8bae0a2127db524868f6d4cc32 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
#
cd8dab49 |
| 15-Jan-2019 |
Patrick Venture <venture@google.com> |
stop installing manager header Stop installing the manager header as it is no longer meant to be exported, but rather used only internally within this repository. Change-Id: I2a
stop installing manager header Stop installing the manager header as it is no longer meant to be exported, but rather used only internally within this repository. Change-Id: I2ab21a31fd745e1b3e36fc39ffea5e26d373ff51 Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
#
50539d36 |
| 03-Dec-2018 |
Patrick Venture <venture@google.com> |
bugfix: ipmi: set dataLen to zero when appropriate On failures (or some silent success), set the return buffer length to 0. Change-Id: I118788ffddd2bfc031b3392db4cf13ab04b49287
bugfix: ipmi: set dataLen to zero when appropriate On failures (or some silent success), set the return buffer length to 0. Change-Id: I118788ffddd2bfc031b3392db4cf13ab04b49287 Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
#
8aee057b |
| 28-Nov-2018 |
Patrick Venture <venture@google.com> |
main: receive blob handler path from configure Add blob handler path to configure_ac and use this path for searching. Change-Id: Ie0e33e93822bc6e95ace2fed5abe66f42dae5ca5 Si
main: receive blob handler path from configure Add blob handler path to configure_ac and use this path for searching. Change-Id: Ie0e33e93822bc6e95ace2fed5abe66f42dae5ca5 Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
#
c18e2b64 |
| 21-Nov-2018 |
Patrick Venture <venture@google.com> |
add dynamic library interface to enable testing Add interface defining the methods for dynamic linking to enable testing. Change-Id: If4d090d3cedc019b426435a1f651191803bfc1a9
add dynamic library interface to enable testing Add interface defining the methods for dynamic linking to enable testing. Change-Id: If4d090d3cedc019b426435a1f651191803bfc1a9 Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
#
2536863d |
| 21-Nov-2018 |
Patrick Venture <venture@google.com> |
main: add missing header: blobs-ipmid/manager.hpp Add missing header: blobs-ipmid/manager.hpp. The code receives this header through another header. However, it should declare this
main: add missing header: blobs-ipmid/manager.hpp Add missing header: blobs-ipmid/manager.hpp. The code receives this header through another header. However, it should declare this inclusion requirement itself. Change-Id: Ib82909681a45a18489f65ec42b74a1824285efa1 Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
#
e08863e3 |
| 15-Nov-2018 |
Patrick Venture <venture@google.com> |
drop explicit command entry The command entry for blobTransferCmd was accepted into phosphor-host-ipmid's oem header. Therefore, no longer specify it locally. Change-Id: Ib
drop explicit command entry The command entry for blobTransferCmd was accepted into phosphor-host-ipmid's oem header. Therefore, no longer specify it locally. Change-Id: Ib5879cb31f855c5b5662e659d71c21e5fd6c50a3 Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
#
41258800 |
| 12-Nov-2018 |
Patrick Venture <venture@google.com> |
process: add IPMI error return mechanism and update errors The IPMI packet validation code must return specific IPMI errors corresponding to what error has occurred instead of the invali
process: add IPMI error return mechanism and update errors The IPMI packet validation code must return specific IPMI errors corresponding to what error has occurred instead of the invalid command error. Update all IPMI handler pieces to return more specific errors. Change-Id: I8d21e92015d84cc0880e3b83991aed7288e19eab Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
#
df53de1f |
| 08-Nov-2018 |
Patrick Venture <venture@google.com> |
main: s/blobs-ipmid/blob-ipmid/ for library path Fixup a typo in the library path. The library path will be specified in a later patchset from the configure.ac by default, but that typo
main: s/blobs-ipmid/blob-ipmid/ for library path Fixup a typo in the library path. The library path will be specified in a later patchset from the configure.ac by default, but that typo would have just lived there instead. Change-Id: Ia9f95fc46e3835781e4dbe3b3fdb2d9d36b7e565 Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
#
1c4d3d34 |
| 19-Oct-2018 |
Benjamin Fair <benjaminfair@google.com> |
main: catch exceptions when loading blob handlers If an error occurs while attempting to load the blob handlers (such as a filesystem error), the uncaught exception will crash the entire
main: catch exceptions when loading blob handlers If an error occurs while attempting to load the blob handlers (such as a filesystem error), the uncaught exception will crash the entire IPMI daemon. Instead, catch the exception and print an error message. Tested: ipmid doesn't crash when /usr/lib/blobs-ipmid is missing Signed-off-by: Benjamin Fair <benjaminfair@google.com> Change-Id: Ic316f6e5aa3c4bc6eba4fa2e561b338f4b20f606
show more ...
|
#
73eb687a |
| 01-Oct-2018 |
Patrick Venture <venture@google.com> |
manager: return abstract base type Unit-tests later required knowing the vtable for a BlobManager, and this should avoid that needless complication. Change-Id: I7a208d08c2065b73
manager: return abstract base type Unit-tests later required knowing the vtable for a BlobManager, and this should avoid that needless complication. Change-Id: I7a208d08c2065b7383fd5095e00d17c1ab3b0cf5 Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
#
5100a386 |
| 27-Sep-2018 |
Patrick Venture <venture@google.com> |
main: now seeks out shared library handlers are load-time phosphor-ipmi-blobs now detects blob handlers compiled into shared libraries on the BMC and loads them at start-up when it's loa
main: now seeks out shared library handlers are load-time phosphor-ipmi-blobs now detects blob handlers compiled into shared libraries on the BMC and loads them at start-up when it's loaded by phosphor-host-ipmid. Change-Id: Ib1b6b8f75aa544a263d37f71e133a9a188704de3 Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
#
b3e07e2b |
| 27-Sep-2018 |
Patrick Venture <venture@google.com> |
manager: add getBlobManager as an exported method getBlobManager will allow a library to get ahold of the BlobManager for registration purposes. Change-Id: I75f41601d10d59293c77
manager: add getBlobManager as an exported method getBlobManager will allow a library to get ahold of the BlobManager for registration purposes. Change-Id: I75f41601d10d59293c7752da8307507cc2c88434 Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
#
c0f499b5 |
| 14-Sep-2018 |
Patrick Venture <venture@google.com> |
add example handler This adds an example handler to demonstrate how one can add a specific type of BLOB handler. Change-Id: Ib5421f1b945b45998b40d3939a4dab9cdf39aaa9 Signed-
add example handler This adds an example handler to demonstrate how one can add a specific type of BLOB handler. Change-Id: Ib5421f1b945b45998b40d3939a4dab9cdf39aaa9 Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|
#
ef3aeadc |
| 12-Sep-2018 |
Patrick Venture <venture@google.com> |
initial drop of phosphor-ipmi-blobs This implements a majority of the OEM IPMI BLOBS protocol. The only piece missing from this is the timed expiration of sessions. Change-Id:
initial drop of phosphor-ipmi-blobs This implements a majority of the OEM IPMI BLOBS protocol. The only piece missing from this is the timed expiration of sessions. Change-Id: I82c9d17b625c94fc3340edcfabbbf1ffeb5ad7ac Signed-off-by: Patrick Venture <venture@google.com>
show more ...
|