commit | befca3c3f33d5ff63c8e2cf6674487d325a16f6b | [log] [tgz] |
---|---|---|
author | Vince Chang <vince_chang@aspeedtech.com> | Thu Jan 09 08:39:36 2025 +0800 |
committer | cosmo.chou <cosmo.chou@quantatw.com> | Sat Mar 01 00:54:21 2025 +0000 |
tree | 2b7d0dccba81e003347a4fbc3744f8179091b505 | |
parent | ed7dbeffdc1d81444ef2639c65893ebd35db63b5 [diff] |
transporthandler: fix ipmid crash The ipmid crashes when the set LAN configuration command is executed, and the journal log shows the following messages. ``` /usr/include/c++/14.2.0/optional:475: constexpr _Tp& std::_Optional_base_impl<_Tp, _Dp>::_M_get() [with _Tp = ipmi::transport::IfAddr<2>; _Dp = std::_Optional_base<ipmi::transport::IfAddr<2>, false, false>]: Assertion 'this->_M_is_engaged()' failed. ``` Add checks to ensure that the return value of getIfAddr or getIfAddr4 is not null. Tested: 1. Change to static source and set satatic IP ipmitool lan set 1 ipsrc static; ipmitool lan set 1 ipaddr 10.0.0.10; ipmitool lan set 1 netmask 255.255.255.0; ipmitool lan set 1 defgw ipaddr 10.0.0.254 2. Check the IP Lan print. ipmitool lan print 1 Expect the IP address and IP source address report accordingly. Change-Id: I1ddfcf0addbed466a385b1e6b9e232154c440262 Signed-off-by: Vince Chang <vince_chang@aspeedtech.com>
meson builddir ninja -C builddir
meson builddir -Dbuildtype=minsize -Db_lto=true -Dtests=disabled ninja -C builddir
If any of the dependencies are not found on the host system during configuration, meson automatically gets them via its wrap dependencies mentioned in ipmid/subprojects
.
meson builddir -Dwrap_mode=nofallback ninja -C builddir
meson builddir -Dbuildtype=debug ninja -C builddir
meson builddir -Db_coverage=true -Dtests=enabled ninja -C builddir test ninja -C builddir coverage