#
33503e2a |
| 03-Feb-2025 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: update latest spec and reformat
Copy the latest format file from the docs repository and apply.
Change-Id: I2a188ebd3faf376ecba3e20ef6a28ffbaa986628 Signed-off-by: Patrick Williams <p
clang-format: update latest spec and reformat
Copy the latest format file from the docs repository and apply.
Change-Id: I2a188ebd3faf376ecba3e20ef6a28ffbaa986628 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
8425624a |
| 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: I8d0072c279e4de87dc001190845d0ca6da233345 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
0a59062c |
| 22-Jul-2022 |
Patrick Williams <patrick@stwcx.xyz> |
sdbusplus: use shorter type aliases
The sdbusplus headers provide shortened aliases for many types. Switch to using them to provide better code clarity and shorter lines. Possible replacements are
sdbusplus: use shorter type aliases
The sdbusplus headers provide shortened aliases for many types. Switch to using them to provide better code clarity and shorter lines. Possible replacements are for: * bus_t * exception_t * manager_t * match_t * message_t * object_t * slot_t
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ic68a12ef7c12222b1300981282161c971b561dc1
show more ...
|
#
bc8958fe |
| 03-Jul-2022 |
George Liu <liuxiwei@inspur.com> |
Update to latest clang-format
Refer:https://github.com/openbmc/docs/blob/ac5d544553934f8083c61c5986a1420261bc8a4c/style/cpp/.clang-format
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id:
Update to latest clang-format
Refer:https://github.com/openbmc/docs/blob/ac5d544553934f8083c61c5986a1420261bc8a4c/style/cpp/.clang-format
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I1e06864afc29ce7de463e62fa2a0eb6f70e8fd93
show more ...
|
#
c1c2e0a1 |
| 10-Nov-2021 |
Willy Tu <wltu@google.com> |
net_ipmi: initialize ipmiNetworkInstance to zero as default value
Close session failed like
``` Close Session command failed: Unspecified error ```
due to using `closeOtherNetInstanceSession` inst
net_ipmi: initialize ipmiNetworkInstance to zero as default value
Close session failed like
``` Close Session command failed: Unspecified error ```
due to using `closeOtherNetInstanceSession` instead of `closeMyNetInstanceSession`.
After initializing ipmiNetworkInstance to zero by default, the issue is resolved.
Tested: Ran the following multiple times ``` for ((i=0; i<10; i++)); do ./ipmitool -I lanplus -H $IP_ADDRESS%usb0 \ -U root -P 0penBmc fru & done ...
Before the change it will failed to close the session and run out of available sessions.
For example, ``` Close Session command failed: Unspecified error ```
``` Error: Unable to establish IPMI v2 / RMCP+ session ```
After this change, no more errors and all close/create sessions are successful.
Change-Id: Ibaf26fb2e554fa530542587b380891ee6f60ec0d Signed-off-by: Willy Tu <wltu@google.com>
show more ...
|
#
2085ae07 |
| 10-Jun-2021 |
Vernon Mauery <vernon.mauery@linux.intel.com> |
replace tuple-based singleton with individual singletons
The tuple-based singletons did not actually enforce singleton behavior and the requirement of the accessor mechanism to include all of the me
replace tuple-based singleton with individual singletons
The tuple-based singletons did not actually enforce singleton behavior and the requirement of the accessor mechanism to include all of the member types at once was starting to cause a header prerequisite tangle. This removes the cross-dependencies and enforces actual singletons by making a single way to access the class.
Tested: Run ipmitool to show that behavior has not changed
Change-Id: Ie966e1142363d279365b1095066380c8383e9f9b Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
show more ...
|
#
ecc8efad |
| 12-Jun-2021 |
Vernon Mauery <vernon.mauery@linux.intel.com> |
Be more proactive at removing stale sessions
The maximum number of sessions is set to limit total resources that netipmid is allowed to use. But it also opens a door to DoS attacks that would use up
Be more proactive at removing stale sessions
The maximum number of sessions is set to limit total resources that netipmid is allowed to use. But it also opens a door to DoS attacks that would use up all the sessions and then never close them. This new mechanism will allow extra sessions, especially if they are short and active. As the number of sessions grows beyond the desired maximum, the reaping time becomes shorter and shorter to ensure that only actual active sessions are kept.
This introduces a variable max idle time that starts at 60s, according to the IPMI spec, for up to the desired maximum number of sessions per channel (currently 15). Beyond 15 sessions, The idle time is reduced proportionally to the inverse^3 of the number of sessions beyond the desired maximum.
Some sample maximum idle times for active sessions this new scheme: Idle time for up to 15 sessions stays at 60s Idle time for 16 sessions is reduced to 7.5s Idle time for 20 sessions is reduced to 277ms Idle time for 24 sessions is reduced to 60ms
For sessions in setup, the idle times are calculated the same as for active sessions, but use the full session count (active and setup) and are limited to a maximum idle time of 3 seconds.
One other feature added is to schedule session cleaning when a Close Session command is received. Without this, sessions that are in the shutDownPending state would live on for much longer than needed. Really, the session only needs to live long enough to prepare the response message, but curretly there is no mechanism to remove just that one session from that context.
Tested: Open lots of sessions and wait for them to get reaped $ for ((i=0; i<16; i++)); do \ ipmitool -C 17 -I lanplus -H $HOST -U $USR -P $PW sensor list & \ done $ for ((i=0; i<10; i++)); do \ ipmitool -C 17 -I lanplus -H $HOST -U $USR -P $PW mc info & \ done
In this case, the first 16 sessions will open just fine, but with a slightly shorted idle time (no problems). The next ten sessions may or may not all get to open, because the number of setup sessions open simultaneously will severely limit the idle time of the setup sessions, causing some of them to fail to fully open.
Change-Id: Iae2e68c7192f3f5a2cafa8e825aa025454405c84 Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
show more ...
|
#
7408e76a |
| 17-May-2020 |
Andrew Geissler <geissonator@yahoo.com> |
string: ensure string included
Latest upstream yocto appears to have removed a free include of string. This is causing compile failures for files which do not include it properly.
Signed-off-by: An
string: ensure string included
Latest upstream yocto appears to have removed a free include of string. This is causing compile failures for files which do not include it properly.
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I76b1d73d045f98bd457c155086e000a430134918
show more ...
|
#
f8a34fc4 |
| 12-Jun-2019 |
Suryakanth Sekar <suryakanth.sekar@linux.intel.com> |
netipmid: Manage and expose session object
Session (RMCP+) is managed by net-ipmid directly, but session commands has to be supported in both LAN & other session-less interfaces. In order to make se
netipmid: Manage and expose session object
Session (RMCP+) is managed by net-ipmid directly, but session commands has to be supported in both LAN & other session-less interfaces. In order to make session commands to work in other interfaces, session objects must be exposed as D-Bus objects, so that ipmi-providers can query the same.
Tested: 1. Verified that RMCP+ session are perfectly working 2. Verified RMCP+ session establishment fails for wrong password 3. Verified that session privilege level are maintained and access are restricted accordingly 4. Verified session timeout and sessions are destroyed accordingly after timeout 5. verified max session count working behavior 6. verified ipmi-providers responding with proper response for this (or D-Bus objects are exposed correctly during session creation, session deletion,session update, (like privilege, - say even set session privilege level command) 7.Session objects are created dynamically.
Change-Id: I78a8449359877ef6cc4cd8161d8c67e6e54eb52b Signed-off-by: Suryakanth Sekar <suryakanth.sekar@linux.intel.com>
show more ...
|
#
250bf103 |
| 20-Mar-2019 |
Suryakanth Sekar <suryakanth.sekar@linux.intel.com> |
Update IPMI max session count from 5 to 15
According to the IPMI spec,No of possible active session is one byte - BIT5-BIT0 so 63 is the max active session we can have.
- 15 was chosen as it seems
Update IPMI max session count from 5 to 15
According to the IPMI spec,No of possible active session is one byte - BIT5-BIT0 so 63 is the max active session we can have.
- 15 was chosen as it seems to be reasonable.
Tested: Able to establish the 14 LAN sessions and 1 reserved for sessionless connection. Get session Info command should provide 15 as max no of ipmi session
Signed-off-by: Suryakanth Sekar <suryakanth.sekar@linux.intel.com> Change-Id: I1bc2003502f35c1d15de18cdf2874cd6ce74006e
show more ...
|
#
ae1fda44 |
| 15-Oct-2018 |
Vernon Mauery <vernon.mauery@linux.intel.com> |
netipmid: use std::shared_ptr instead of weak_ptr/lock
All of the instances of getSession and startSession were assigning the result to a local shared_ptr via lock on the weak_ptr. It doesn't make s
netipmid: use std::shared_ptr instead of weak_ptr/lock
All of the instances of getSession and startSession were assigning the result to a local shared_ptr via lock on the weak_ptr. It doesn't make sense to demote the shared_ptr (from the sessionsMap) to a weak_ptr via the return, only to promote to a shared_ptr again via lock.
Tested-by: running ipmitool -H a.b.c.d -P 0penBmc -I lanplus mc info Sessions start and stop, same as before.
Change-Id: Ic10779285891d73ee51115f16ed0000b38d1c52a Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
show more ...
|
#
9e801a2b |
| 12-Oct-2018 |
Vernon Mauery <vernon.mauery@linux.intel.com> |
netipmid: apply clang-format rules
Lots of whitespace change. Let clang-format do its job and keep the code looking nice.
Change-Id: Idfcad1a99cab8170d55a06163de8ad3f420b68b7 Signed-off-by: Vernon
netipmid: apply clang-format rules
Lots of whitespace change. Let clang-format do its job and keep the code looking nice.
Change-Id: Idfcad1a99cab8170d55a06163de8ad3f420b68b7 Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
show more ...
|
#
3563f8fe |
| 08-May-2017 |
Tom Joseph <tomjoseph@in.ibm.com> |
Correct doxygen syntax in phosphor-net-ipmid
Resolves openbmc/openbmc#1147
Change-Id: I57ab1b09ec1bf308cc3d97cd30b2d18564beb38b Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
|
#
ba11f792 |
| 24-Jan-2017 |
Tom Joseph <tomjoseph@in.ibm.com> |
Authentication Algo keeps record of the Confidentiality algo
The confidentiality algo negotiated during Open Session Request would be stored in the Authentication algorithm and is activated once the
Authentication Algo keeps record of the Confidentiality algo
The confidentiality algo negotiated during Open Session Request would be stored in the Authentication algorithm and is activated once the session setup is successful.
Change-Id: I4d5efd71a992dd0cf505bcf7a6d9ebb394bcb880 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
show more ...
|
#
dd1be1a2 |
| 10-Jan-2017 |
Tom Joseph <tomjoseph@in.ibm.com> |
Authentication Algorithm keeps record of the Integrity algo
The Integrity algorithm negotiated during Open Session Request would be stored in the Authentication algorithm and is activated once the s
Authentication Algorithm keeps record of the Integrity algo
The Integrity algorithm negotiated during Open Session Request would be stored in the Authentication algorithm and is activated once the session setup is successful.
Change-Id: I780680c8991487f8fd9030217793f2b0d0fa8a25 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
show more ...
|
#
9662c3a9 |
| 06-Dec-2016 |
Tom Joseph <tomjoseph@in.ibm.com> |
Session Commands Implementation
Implements Set Session Privilege Command and Close Session command.
Change-Id: I18aeee7bcae48db3eb8a61292c9333ca2304dcf1 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.
Session Commands Implementation
Implements Set Session Privilege Command and Close Session command.
Change-Id: I18aeee7bcae48db3eb8a61292c9333ca2304dcf1 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
show more ...
|
#
3e61aa0d |
| 08-Aug-2016 |
Tom Joseph <tomjoseph@in.ibm.com> |
Sessions Manager to manage IPMI sessions
IPMI Sessions manager is responsible for managing IPMI sessions and routines for starting and stopping sessions.
Change-Id: Ic5c559fdc0dab0145e463689026c2f1
Sessions Manager to manage IPMI sessions
IPMI Sessions manager is responsible for managing IPMI sessions and routines for starting and stopping sessions.
Change-Id: Ic5c559fdc0dab0145e463689026c2f1c66f24a59 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
show more ...
|