History log of /openbmc/phosphor-net-ipmid/ (Results 1 – 25 of 319)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
888f0d3e03-Mar-2025 Patrick Williams <patrick@stwcx.xyz>

meson: reformat with meson formatter

Apply the `meson format` results.

Change-Id: Ia02e00493fe1b5a305e23b5761f42cc830f702ea
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

bac2f1a306-Feb-2025 Lei YU <yulei.sh@bytedance.com>

Enable clang-tidy and apply fixes

Enable clang-tidy, fix the compile issue and fix the clang-tidy issues.

Signed-off-by: Lei YU <yulei.sh@bytedance.com>
Change-Id: I6250c6519a725c07b0cd10abe464fda9

Enable clang-tidy and apply fixes

Enable clang-tidy, fix the compile issue and fix the clang-tidy issues.

Signed-off-by: Lei YU <yulei.sh@bytedance.com>
Change-Id: I6250c6519a725c07b0cd10abe464fda97a2aebd7

show more ...

3145b66f24-Feb-2025 Vernon Mauery <vernon.mauery@gmail.com>

Update Vernon Mauery email

Change-Id: I7eac54968ef04afc23c0662d35042e0ea8dedc03
Signed-off-by: Vernon Mauery <vernon.mauery@gmail.com>

33503e2a03-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 ...

77f3e3c730-Jan-2025 Patrick Williams <patrick@stwcx.xyz>

build: use allowed over enabled or not-disabled

Meson feature options are typically in a tri-state of enabled, disabled,
or auto. The enabled and disabled functions on an option (from
`get_option`)

build: use allowed over enabled or not-disabled

Meson feature options are typically in a tri-state of enabled, disabled,
or auto. The enabled and disabled functions on an option (from
`get_option`) no longer return true for auto features. Instead, the
expectation is to use `allowed()` which is true for both enabled and
auto.

Switch all uses of `enabled` to `allowed`.
Switch all uses of `not disabled` to `allowed`.

Change-Id: I2b784efb6f698a2dacee8c840d3586aa941f88e0
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...

7c75c37430-Jan-2025 Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com>

Fix netipmid crash due to RMCP_PING activation

The netipmid service occasionally crashes following the changes
introduced in commit #73192.
https://gerrit.openbmc.org/c/openbmc/phosphor-net-ipmid/+/

Fix netipmid crash due to RMCP_PING activation

The netipmid service occasionally crashes following the changes
introduced in commit #73192.
https://gerrit.openbmc.org/c/openbmc/phosphor-net-ipmid/+/73192
This commit enabled the RMCP_PING definition, which activated
previously dormant code paths under the RMCP_PING flow.

The crash occurs when the inMessage pointer of the rmcpMsgClass
is dereferenced in the Handler destructor, and inMessage is
NULL. To prevent this crash, this commit adds a check to ensure
inMessage is not NULL before accessing.

Signed-off-by: poram srinivasa rao <poramx.srinivasa.rao@intel.com>
Signed-off-by: Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com>
Change-Id: Ibb14cff628a690acb72aed8c35aff226cfcdcb41

show more ...

128d148c18-Dec-2024 Patrick Williams <patrick@stwcx.xyz>

clang-format: re-format for clang-19

clang-format-19 isn't compatible with the clang-format-18 output, so we
need to reformat the code with the latest version. A few parameters
in clang-tidy have b

clang-format: re-format for clang-19

clang-format-19 isn't compatible with the clang-format-18 output, so we
need to reformat the code with the latest version. A few parameters
in clang-tidy have been deprecated, so adjust the style file
accordingly.

See Ie2f6eb3b043f2d655c9df806815afd7971fd0947 for updated style.
See I88192b41ab7a95599a90915013579608af7bc56f for clang-19 enablement.

Change-Id: Ibae162faf3d02e95e7d468794b8b25d0a16574d1
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...

bd2dde4606-Feb-2024 Patrick Williams <patrick@stwcx.xyz>

remove unused asio/sd_event.hpp include

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I7b0dcb665c630cbe52b2835a9e10a8cce2d70c56

b1cbd6fb19-Nov-2024 George Liu <liuxiwei@ieisystem.com>

Fix the netipmid process failed to start

It is not advisable to declare a local variable 'signals' in the
`setupSignal` method, as this can cause the netipmid process to exit
after the method comple

Fix the netipmid process failed to start

It is not advisable to declare a local variable 'signals' in the
`setupSignal` method, as this can cause the netipmid process to exit
after the method completes execution.

Tested: Loading romulus in qemu and executing out of band ipmitool
successfully returns.

Change-Id: I3fb887db0ec2bfbc434e2a6d8b4f021748ba0a86
Signed-off-by: George Liu <liuxiwei@ieisystem.com>

show more ...

01373c2b14-Nov-2024 George Liu <liuxiwei@ieisystem.com>

Fix coredump when using nullptr

If udpSocket is not initialized when executing the setupSignal method
acoredump may occur due to the use of a nullptr.

Change-Id: Id32990ab8ed3dc75767cc1c2e566015722

Fix coredump when using nullptr

If udpSocket is not initialized when executing the setupSignal method
acoredump may occur due to the use of a nullptr.

Change-Id: Id32990ab8ed3dc75767cc1c2e5660157223f473d
Signed-off-by: George Liu <liuxiwei@ieisystem.com>

show more ...

afac94d123-Oct-2024 George Liu <liuxiwei@ieisystem.com>

Fix the coredump problem caused by lock acquisition failure

As net-ipmid depends on ipmid, stress testing found that frequent
start/stop of net-ipmid will cause coredump due to lock acquisition
fail

Fix the coredump problem caused by lock acquisition failure

As net-ipmid depends on ipmid, stress testing found that frequent
start/stop of net-ipmid will cause coredump due to lock acquisition
failure in ipmid's inithannelPersistData.
Since net-ipmid depends on ipmid, stress testing found that if
net-ipmid is started/stopped frequently, it will exit abnormally due
to failure to obtain the lock in the inithannelPersistData method of
ipmid.
```
netipmid-eth1[893]: terminate called after throwing an instance of ‘boost::interprocess::lock_exception’
netipmid-eth1[893]: what(): boost::interprocess::lock_exception
```

Because in the main method of net-ipmid, the ipmi::ipmiChannelInit
method is called first, and then the startEventLoop method is called
to process the signal. This will cause a bug:
1. After net-ipmid@eth0 starts, ipmi::ipmiChannelInit will be
executed to initialize and construct ChannelConfig.
2. The initChannelPersistData method will be executed in the
construction method to obtain the lock and load the configuration.
3. If the stop method of net-ipmid is executed before the
construction method is completed, the held lock will not be
released correctly
4. If start is executed immediately at this time, the ipmid process
will coredump because the current lock is undefined.

This submission moves the signal processing to before the
ipmi::ipmiChannelInit method, which will ensure that if net-ipmid
starts and captures abnormal operations, it will stop io first, so
that the held lock will be released correctly.

Tested:
Using this patch, no ipmid coredump occurs in the stress test.

Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id: I29694405679330c083fa35d04443fb2e31bfca3b

show more ...

8425624a16-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 ...

acb8d90b30-Jul-2024 Andrew Geissler <geissonator@yahoo.com>

gcc14: fix C++ One Definition Rule

The following error occurs when building with gcc14:
```
| message.hpp:117:8: error: type 'struct Message' violates the C++ One Definition Rule [-Werror=odr]
| mes

gcc14: fix C++ One Definition Rule

The following error occurs when building with gcc14:
```
| message.hpp:117:8: error: type 'struct Message' violates the C++ One Definition Rule [-Werror=odr]
| message.hpp:117:8: note: a different type is defined in another translation unit
| message.hpp:261:26: note: the first difference of corresponding definitions is field 'payload'
| message.hpp:250:13: note: a field with different name is defined in another translation unit
```

This is because some files that include this header have included
config.h, and some have not. config.h defines the RMCP_PING compile
flag.

Tested:
- Confirmed this now compiles with gcc14

Change-Id: I7f3705bdc21cc05cc7fedb591f198cbf9dc9365d
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>

show more ...

916d875505-Aug-2024 George Liu <liuxiwei@ieisystem.com>

README.md: Fix MD040 warnings

The following warnings are generated by using markdownlint analysis:
```
MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]

README.md: Fix MD040 warnings

The following warnings are generated by using markdownlint analysis:
```
MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
```
Refer to markdown-lint [1] to fix MD040
[1]: https://github.com/updownpress/markdown-lint/blob/master/rules/040-fenced-code-language.md

Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id: Ic79f28fcb8a68a1757f10bf2e3cd3656a11fec73

show more ...

a8477f2b05-Aug-2024 George Liu <liuxiwei@ieisystem.com>

README.md: Fix MD041 warnings

The following warnings are generated by using markdownlint analysis:
```
MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Cont

README.md: Fix MD041 warnings

The following warnings are generated by using markdownlint analysis:
```
MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "## To Build"]
```
Refer to markdown-lint [1] to fix MD041
[1]: https://github.com/updownpress/markdown-lint/blob/master/rules/041-first-line-h1.md

Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id: I5238df966bd7a21b2217b2668fec2b95d3ed6ac9

show more ...

6d934bd716-Jul-2024 Benjamin Fair <benjaminfair@google.com>

Remove 'Wants' on phosphor-ipmi-host

The service file for phosphor-ipmi-host already has
WantedBy=multi-user.target, which will instruct systemd to queue a start
task for phosphor-ipmi-host. Having

Remove 'Wants' on phosphor-ipmi-host

The service file for phosphor-ipmi-host already has
WantedBy=multi-user.target, which will instruct systemd to queue a start
task for phosphor-ipmi-host. Having a 'Wants' statement here is
therefore unnecessary.

This duplicate start task can become a problem if phosphor-ipmi-host
fails to start in time and is restarted by systemd. When
phosphor-ipmi-net tries to start later, it can trigger another start
task for phosphor-ipmi-host within the start burst limit, putting
phosphor-ipmi-host into a permanent timeout state.

Tested: With this change, phosphor-ipmi-host no longer has "Start
request repeated too quickly" across 1,000 powercycles.

Signed-off-by: Benjamin Fair <benjaminfair@google.com>
Change-Id: Iabcc57e2ba73522d373d91d02b12fa6e6f389979

show more ...

1499dc2b22-Jul-2024 George Liu <liuxiwei@ieisystem.com>

auth_algo: Remove unused variables

Since the userName variable was declared in[1] and deprecated in[2],
this commit removes the deprecated variable.

[1]: https://gerrit.openbmc.org/c/openbmc/phosph

auth_algo: Remove unused variables

Since the userName variable was declared in[1] and deprecated in[2],
this commit removes the deprecated variable.

[1]: https://gerrit.openbmc.org/c/openbmc/phosphor-net-ipmid/+/9643
[2]: https://gerrit.openbmc.org/c/openbmc/phosphor-net-ipmid/+/13094/7/command/rakp12.cpp#b66

Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id: Ia606607ae49e1f1923eae792a0f178fab52bbc3f

show more ...

4c2ed9c325-Apr-2024 Konstantin Aladyshev <aladyshev22@gmail.com>

meson: Enable link time optimization

Currently local boost subproject compilation fails with a message:
"""
../subprojects/boost-1.84.0/libs/container/src/dlmalloc_ext_2_8_6.c:
1085:41: error: itera

meson: Enable link time optimization

Currently local boost subproject compilation fails with a message:
"""
../subprojects/boost-1.84.0/libs/container/src/dlmalloc_ext_2_8_6.c:
1085:41: error: iteration 2305843009213693951 invokes undefined
behavior [-Werror=aggressive-loop-optimizations]
1085 | size = request2size(sizes[i]*element_size);

...

cc1: all warnings being treated as errors
"""
To solve the issue enable link time optimization.

Change-Id: I88a6779ae91936a8067ae4dbd8c685823cd2f28c
Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>

show more ...

426fcab813-Mar-2024 Konstantin Aladyshev <aladyshev22@gmail.com>

SOL: Another attempt to fix coredump issue

The commit "SOL: Fix coredump due to recursive call deadlock"
(5499bf862d1240bdbc061afc6e3d4f332c31329a) tried to fix coredump
issue when the buffer size i

SOL: Another attempt to fix coredump issue

The commit "SOL: Fix coredump due to recursive call deadlock"
(5499bf862d1240bdbc061afc6e3d4f332c31329a) tried to fix coredump
issue when the buffer size is larger than the send threshold (i.e. user
types too fast in the SoL session). Despite of the commit message the
provided solution doesn't seem to fix the crashdump issue.
Revert 5499bf862d and implement a proper solution.

Normally 'enableAccumulateTimer()' launches a timer to accumulate data
before send, and after the timeout the 'charAccTimerHandler()' sends
all the data via the 'sendOutboundPayload()' function.
If the buffer is not ready at that moment, the 'charAccTimerHandler()'
relaunches the timer via the 'enableAccumulateTimer()' call.
At the same time the 'enableAccumulateTimer()' function has an
optimization: if the data size is more than 'sendThreshold' there is no
point in timer, data can be send directly from the function. For that
the current code calls the 'charAccTimerHandler()'.
In the end this can create an endless recursion in times when buffer is
not ready:
enableAccumulateTimer()
charAccTimerHandler()
sendOutboundPayload()
enableAccumulateTimer()
...
To solve the issue we need to be careful about when we call the
'enableAccumulateTimer()' function:
- first of all we don't need to call it from 'sendOutboundPayload()'
since it is already called from the 'charAccTimerHandler()',
- secondary in the 'enableAccumulateTimer' optimization case we don't
need to call 'charAccTimerHandler()' which can re-launch timer but can
just use 'sendOutboundPayload()' directly.

Tested:
SOL console in ipmitool works fine if holding arrow up/down key
for a long time.

Change-Id: Ibec03fc1394f23ba39b6f2d5a929928588e00590
Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>

show more ...

c055285103-Feb-2024 George Liu <liuxiwei@ieisystem.com>

meson: Add CLI11 dependency

Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id: I3b4016acc026c46cd312ffe3b829e00bf2281617

80798ec103-Feb-2024 George Liu <liuxiwei@ieisystem.com>

Remove libmapper dependency

phosphor-net-ipmid does not use the API in libmapper. This patch
removes the dependence on libmapper.

Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id: Iffae

Remove libmapper dependency

phosphor-net-ipmid does not use the API in libmapper. This patch
removes the dependence on libmapper.

Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id: Iffaee8f84e0485c1b36a469d328b82ec4dad218c

show more ...

34a2c41208-Sep-2023 Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com>

Handle SOL payload deactivation for stale session

User is unable to deactivate active SOL session using IPMI command.
To get SOL session ptr, getSession() from session manager was used,
which throwi

Handle SOL payload deactivation for stale session

User is unable to deactivate active SOL session using IPMI command.
To get SOL session ptr, getSession() from session manager was used,
which throwing Session ID is not found error and Deactivate payload
command not returning any response.

So provided fix to use SOL session ptr obtained from Context to check
if current session user has privilege to deactivate SOL payload.

Tested:
Verified using SOL IPMI commands.
//Activate SOL
~$ipmitool -I lanplus -H <BMC-IP> -U <UserID> -P <PWD> -C 17 raw 0x06
0x48 0x01 0x01 0xc0 0x00 0x00 0x00
Response: 00 00 00 00 ff 00 ff 00 6f 02 ff ff
//Deactivate SOL
~$ipmitool -I lanplus -H <BMC-IP> -U <UserID> -P <PWD> -C 17 raw 0x06
0x49 0x01 0x01 0x00 0x00 0x00 0x00
Response: Unable to send RAW command (channel=0x0 netfn=0x6 lun=0x0
cmd=0x49 rsp=0x80): Unknown (0x80)
//Check Payload Activation status
~$ipmitool -I lanplus -H <BMC-IP> -U <UserID> -P <PWD> -C 17 raw 0x06
0x4A 0x01
Response: 01 00 00

Signed-off-by: athuljox <athulx.joseph@intel.com>
Signed-off-by: Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com>
Change-Id: I49b34a9f17fe356fc86cdecb44aac627c581ba0a

show more ...

5499bf8624-Jan-2024 Jian Zhang <zhangjian.3032@bytedance.com>

SOL: Fix coredump due to recursive call deadlock

When the data buffer size is always larger than the send threshold.
The recursive call deadlock when any input event is received.

the backtrace is a

SOL: Fix coredump due to recursive call deadlock

When the data buffer size is always larger than the send threshold.
The recursive call deadlock when any input event is received.

the backtrace is as below:
- enableAccumulateTimer
- charAccTimerHandler
- sendOutboundPayload
- enableAccumulateTimer

using io.post avoid the recursive call deadlock.

Change-Id: Ic67d2c6dfce5c658b7ef4813bf3a62ad93ced8ad
Signed-off-by: Jian Zhang <zhangjian.3032@bytedance.com>

show more ...

7b53409520-Oct-2023 Patrick Williams <patrick@stwcx.xyz>

clang-format: copy latest and re-format

clang-format-17 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-17 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: I5278656122f19da46fcd0a84bc96af420d4cb8bd
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...

54e7a51f15-Aug-2023 George Liu <liuxiwei@inspur.com>

meson_options.txt: Support for reading options from meson.options

Support has been added for reading options from meson.options instead
of meson_options.txt[1]. These are equivalent, but not using t

meson_options.txt: Support for reading options from meson.options

Support has been added for reading options from meson.options instead
of meson_options.txt[1]. These are equivalent, but not using the .txt
extension for a build file has a few advantages, chief among them
many tools and text editors expect a file with the .txt extension to
be plain text files, not build scripts.

[1] https://mesonbuild.com/Release-notes-for-1-1-0.html#support-for-reading-options-from-mesonoptions

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I82fefec49af420c862922ea2b73343a2daa3d246

show more ...

12345678910>>...13