History log of /openbmc/phosphor-ipmi-blobs/process.hpp (Results 1 – 12 of 12)
Revision Date Author Comments
# 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 ...


# 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 ...


# aceb4baa 27-Sep-2018 Patrick Venture <venture@google.com>

move blobs and manager header into installation dir

The blobs and manager header will be used by handlers once we've
transitioned to dynamic loading.

Change-Id: Ieae8fcfe3830077

move blobs and manager header into installation dir

The blobs and manager header will be used by handlers once we've
transitioned to dynamic loading.

Change-Id: Ieae8fcfe383007731cb4f8b2619612c3bfa47f50
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 ...