History log of /openbmc/phosphor-host-ipmid/transporthandler.cpp (Results 1 – 25 of 102)
Revision Date Author Comments
# 69b4c281 03-Mar-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: Ic23653be3ed404980fd0e723d9ed8354e2b32579
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: Ic23653be3ed404980fd0e723d9ed8354e2b32579
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 5087b075 11-Mar-2025 George Liu <liuxiwei@ieisystem.com>

Update the registered IPMI method name

Update registered IPMI method names to use `Lower Camel Case`.

Change-Id: I5539771c4ba8567f6cdb22aa3c8df58db5e883f2
Signed-off-by: George Liu <liuxiwei@ieisys

Update the registered IPMI method name

Update registered IPMI method names to use `Lower Camel Case`.

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

show more ...


# befca3c3 08-Jan-2025 Vince Chang <vince_chang@aspeedtech.com>

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: c

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>

show more ...


# af4a7750 02-Jul-2024 Vernon Mauery <vernon.mauery@linux.intel.com>

update transporthandler.cpp to use lg2

Change-Id: Ib77057c5bccba62473a981451ae79f1b2c19cc28
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>


# 8bd9a9bc 08-Nov-2024 Chanh Nguyen <chanh@os.amperecomputing.com>

transporthandler: Synchronous get IP address and IP address source

In case both DHCP and static IP addresses are assigned, the IPMI
code just returns one of them. The IPMI code always returns the
fi

transporthandler: Synchronous get IP address and IP address source

In case both DHCP and static IP addresses are assigned, the IPMI
code just returns one of them. The IPMI code always returns the
first object dbus on the interface by the fixed index, which is
always 0. That may cause a mismatch between the IP address and
IP address source.

This patch will check if the DHCP or static mode is enabling,
then return the IP address accordingly.

Tested:
1. Change to static source
ipmitool lan set 1 ipsrc static

2. Set a static IP address.
ipmitool lan set 1 ipaddr xx.xx.xx.xx

3. Back to DHCP source
ipmitool lan set 1 ipsrc dhcp

4. Check the IP Lan print.
Expect the IP address and IP source address report accordingly.

ipmitool lan print 1

Fixes openbmc/phosphor-host-ipmid#207

Change-Id: If1d2bcfb9e3ab79e02ebf78682e3ac5638c18b0c
Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>

show more ...


# 1318a5ed 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: I01547e98d27910919e09ebf7907c86292a6c825d
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 32e8f5d3 17-Jul-2024 George Liu <liuxiwei@ieisystem.com>

convert transporthandler.cpp to use lg2

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


# c1c7eac4 04-Feb-2024 George Liu <liuxiwei@ieisystem.com>

Refactor to call the GetSubTree method

Uniformly use the getSubTree method of utils.hpp to obtain objectTree

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

Refactor to call the GetSubTree method

Uniformly use the getSubTree method of utils.hpp to obtain objectTree

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

show more ...


# 0d1d7ad2 19-Jun-2024 Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com>

Fix for invalid VLAN id

Issue: Set LAN configuration, allowing invalid VLAN ID's and giving
exception when user trying to set VLAN.

Fix: Add condition to return proper error for invalid VLAN ID's a

Fix for invalid VLAN id

Issue: Set LAN configuration, allowing invalid VLAN ID's and giving
exception when user trying to set VLAN.

Fix: Add condition to return proper error for invalid VLAN ID's and
add a condition to skip exception temporarily.

Tested:
Verified using ipmitool raw commands.
Command: ipmitool raw 0x0c 0x01 0x1 0x14 0x00 0x80 //Set vlan id=0
Response: Unable to send RAW command (channel=0x0 netfn=0xc lun=0x0
cmd=0x1 rsp=0xcc): Invalid data field in request
//Set Lan, vlan id=4095
Command: ipmitool raw 0x0c 0x01 0x1 0x14 0xff 0x8f
Response: Unable to send RAW command (channel=0x0 netfn=0xc lun=0x0
cmd=0x1 rsp=0xcc): Invalid data field in request

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

show more ...


# 796e8240 01-Feb-2024 Jian Zhang <zhangjian.3032@bytedance.com>

Change pack type from UINT8_C to uint8_t

See the stdint.h file:
```
\# define UINT8_C(c) c
\# define UINT16_C(c) c
\# define UINT32_C(c) c ## U
```

The UINT8_C is a macro, it will be replaced by

Change pack type from UINT8_C to uint8_t

See the stdint.h file:
```
\# define UINT8_C(c) c
\# define UINT16_C(c) c
\# define UINT32_C(c) c ## U
```

The UINT8_C is a macro, it will be replaced by the value of c.
The size of UINT8_C is 4 and the size of uint8_t is 1.

Tested:
```
1. send ipmi command on the serial port to get static IPv6 router prefix length.
~# ipmitool raw 0x0c 0x02 0x01 0x43 0x00 0x00
11 00
2. set static IPv6 router address on the bios setup and reboot bios check the
result of static IPv6 router prefix length.
The static IPv6 router address and prefix length can be successfully displayed
on the bios setup.
```

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

show more ...


# 3771f5f2 02-Nov-2023 PavanKumarIntel <pavanx.kumar.martha@intel.com>

Fix the bugs found in static analysis

This commit fixes the following static analyzer reported issues:

Operands don't affect result
some conditions are not required to check as its always true

Fix the bugs found in static analysis

This commit fixes the following static analyzer reported issues:

Operands don't affect result
some conditions are not required to check as its always true
Unsigned compared against 0
Unchecked return value from library
Uninitialized scalar variable

Change-Id: I0b1fd426794bb88f6eafcc817cef5dd2f655e1ba
Signed-off-by: PavanKumarIntel <pavanx.kumar.martha@intel.com>

show more ...


# c72f3602 19-Oct-2023 William A. Kennington III <wak@google.com>

transporthandler: Fix path check

Right now, paths for channel names can sometimes conflict if we have
an interface whose name is a subset of another interface. This makes the
match much more explici

transporthandler: Fix path check

Right now, paths for channel names can sometimes conflict if we have
an interface whose name is a subset of another interface. This makes the
match much more explicit. It also happens to remove the string search
completely.

Change-Id: Ia3a91e4a04a28d0b76eade2c5e716017c5431e71
Signed-off-by: William A. Kennington III <wak@google.com>

show more ...


# 726f2bdd 21-Jun-2023 William A. Kennington III <wak@google.com>

transporthandler: Use stdplus network functions

These are shared with phosphor-networkd.

Change-Id: I2dc796f195c733b5b5b4edcfd59186e3ef30b515
Signed-off-by: William A. Kennington III <wak@google.co

transporthandler: Use stdplus network functions

These are shared with phosphor-networkd.

Change-Id: I2dc796f195c733b5b5b4edcfd59186e3ef30b515
Signed-off-by: William A. Kennington III <wak@google.com>

show more ...


# 6fdbb2d1 21-Jun-2023 William A. Kennington III <wak@google.com>

transporthandler: Let phosphor-networkd do field validation

We can leverage networkd error handling for validating our fields.

Change-Id: I880d6dd9a6418e55dfe821f84bfcb8cb4d2eb618
Signed-off-by: Wi

transporthandler: Let phosphor-networkd do field validation

We can leverage networkd error handling for validating our fields.

Change-Id: I880d6dd9a6418e55dfe821f84bfcb8cb4d2eb618
Signed-off-by: William A. Kennington III <wak@google.com>

show more ...


# 7a3831b5 21-Jun-2023 William A. Kennington III <wak@google.com>

transporthandler: Generic set exception handling

This makes it easier to handle errors across multiple command types as
they all have common return codes for specific types of failures.

Change-Id:

transporthandler: Generic set exception handling

This makes it easier to handle errors across multiple command types as
they all have common return codes for specific types of failures.

Change-Id: I033a171b5fca78a62b52424db970ecfdf7a15e17
Signed-off-by: William A. Kennington III <wak@google.com>

show more ...


# a8a2e5f6 21-Jun-2023 William A. Kennington III <wak@google.com>

transporthandler: Refactor dhcp get / set

phosphor-networkd now exposes dhcp settings as individual properties, we
no longer need to parse an enum / repack an enum to interface with them.

Change-Id

transporthandler: Refactor dhcp get / set

phosphor-networkd now exposes dhcp settings as individual properties, we
no longer need to parse an enum / repack an enum to interface with them.

Change-Id: I2c6d366e936a2de172367cdd19bde06f8abf4dcb
Signed-off-by: William A. Kennington III <wak@google.com>

show more ...


# 523e2d1b 05-Sep-2023 Willy Tu <wltu@google.com>

ipmid: Update sdbuspp namespaces

Fixed all errors when we remove
`SDBUSPP_REMOVE_DEPRECATED_NAMESPACE` in sdbusplus.

Change-Id: I5607585b2709faa7aee347d26e458ef769ca1626
Signed-off-by: Willy Tu <wl

ipmid: Update sdbuspp namespaces

Fixed all errors when we remove
`SDBUSPP_REMOVE_DEPRECATED_NAMESPACE` in sdbusplus.

Change-Id: I5607585b2709faa7aee347d26e458ef769ca1626
Signed-off-by: Willy Tu <wltu@google.com>

show more ...


# cf19d146 30-Jul-2023 Jian Zhang <zhangjian.3032@bytedance.com>

Add Lan channel check for Set/Get Lan Commands

The `ipmitool lan6 print <invalid_lan_channel> command has a lot of
error messages, we should check thar the channel we are using is a
vaild lan channe

Add Lan channel check for Set/Get Lan Commands

The `ipmitool lan6 print <invalid_lan_channel> command has a lot of
error messages, we should check thar the channel we are using is a
vaild lan channel. if not, return `invalid filed`.

BTW, the `ipmitool lan print <invalid_lan_channel>` without the error,
because the `lan print` using the `getChannelInfo` command first,
and checked it in the `ipmitool`, `lan6 print` doesn't.

Anyway, we should check it in BMC side.

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

show more ...


# 4e02b431 13-Jul-2023 Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com>

Fix for Subnet Mask update

User unable to update Subnet Mask and getting error as Unspecified
error. The existing condition is only evaluating the IP Address and
not evaluating the Subnet Mask. This

Fix for Subnet Mask update

User unable to update Subnet Mask and getting error as Unspecified
error. The existing condition is only evaluating the IP Address and
not evaluating the Subnet Mask. This is preventing user to update
subnet mask. Update the condition to consider the case of setting
subnet mask as well.

Tested:
verified by executing set Lan configuration IPMI command
Before fix:
Command : ipmitool raw 0x0C 0x01 0x03 0x06 0xFF 0xFF 0xFE 0x00
Response: Unable to send RAW command (channel=0x0 netfn=0xc lun=0x0
cmd=0x1 rsp=0xff): Unspecified error

After fix:
Command : ipmitool raw 0x0C 0x01 0x03 0x06 0xFF 0xFF 0xFE 0x00
Response: //Success
Command : ipmitool lan print 3
Response:
Set in Progress : Set Complete
Auth Type Support :
Auth Type Enable : Callback :
: User :
: Operator :
: Admin :
: OEM :
IP Address Source : Static Address
IP Address : 10.xxx.xx.xx
Subnet Mask : 255.255.254.0
MAC Address : 00:xx:xx:xx:xx:xx
Default Gateway IP : 10.xxx.xxx.1
Default Gateway MAC : 00:00:00:00:00:00
802.1q VLAN ID : Disabled
RMCP+ Cipher Suites : 17
Cipher Suite Priv Max : aaaaaaaaaaaaaaa
: X=Cipher Suite Unused
: c=CALLBACK
: u=USER
: o=OPERATOR
: a=ADMIN
: O=OEM
Bad Password Threshold : Not Available

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

show more ...


# d05b9dd8 04-Jul-2023 Jian Zhang <zhangjian.3032@bytedance.com>

fix set ipv4 netmask failed

Before `createIfAddr`, we accept the address is nullopt when set the
ipv4 netmask,

so, if the address is not null, check the address is `0.0.0.0`,
if null, use the `ifad

fix set ipv4 netmask failed

Before `createIfAddr`, we accept the address is nullopt when set the
ipv4 netmask,

so, if the address is not null, check the address is `0.0.0.0`,
if null, use the `ifaddr->address`.

Tested:
1. Set netmask.
~# ipmitool lan set 1 netmask 255.255.255.0

2. Check the netmask.
~# ipmitool lan print 1 | grep -i sub
Subnet Mask : 255.255.255.0

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

show more ...


# cbfa6e1d 01-Jun-2023 Johnathan Mantey <johnathanx.mantey@intel.com>

Block creating IPv4 address 0.0.0.0 via Set LAN Configuration

The IPMI Set LAN Configuration IP Address operation allows any 32-bit
value to be sent to addressed NIC. The current OpenBMC behavior is

Block creating IPv4 address 0.0.0.0 via Set LAN Configuration

The IPMI Set LAN Configuration IP Address operation allows any 32-bit
value to be sent to addressed NIC. The current OpenBMC behavior is to
treat all values identically, and insert them into the
systemd-networkd configuration file. This only allows IPMI to write
new values, but to never have a way to remove an entry.

Traditionally IPMI has used 0.0.0.0 to remove a static IP address
entry from being applied to the NIC. This commit implements the
ability to remove an active static IPv4 address by assigning 0.0.0.0
to the NIC.

Preventing 0.0.0.0 from being written to the systemd-networkd
configuration file also prevents systemd-networkd from creating one or
more self assigned 192.x.x.x NAT style addresses.

Tested:
Manually inserted several 'Address=' entries containing valid IPv4
addresses. Rebooted the BMC to enable them.
Issued 'ipmitool raw 12 1 1 3 0 0 0 0' and confirmed no
'Address=0.0.0.0' entry was added to the configuration file.
Confirmed no self assigned NAT addresses were created.
Confirmed one static IPv4 address entry was removed from the config
file.
Repeated 'ipmitool' requests removed one static address per request.

Change-Id: I2ae94750b8f7b80d45b94651464477801064f991
Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>

show more ...


# a48bf776 26-May-2023 Jonathan Doman <jonathan.doman@intel.com>

Add support to read SOL non-volatile bitrate

We can read the SOL bit rate over D-Bus from the default obmc-console
instance.

Also enforce that the SOL Privilege Level can only be set to USER or
gre

Add support to read SOL non-volatile bitrate

We can read the SOL bit rate over D-Bus from the default obmc-console
instance.

Also enforce that the SOL Privilege Level can only be set to USER or
greater as per IPMI 2.0 spec.

Tested: With dependency I055f2a95c515636b38a694bf565b71aa648fe7b7
-> With 115200 baud configured:
bmc# ipmitool sol info 3
...
Non-Volatile Bit Rate (kbps) : 115.2
...

-> With 921600 baud configured:
bmc# ipmitool sol info 3
...
Non-Volatile Bit Rate (kbps) : IPMI-Over-Serial-Setting
...

Change-Id: I05a60b02130087474fcbae928d8aa15ef9620c69
Signed-off-by: Jonathan Doman <jonathan.doman@intel.com>

show more ...


# fbc6c9d7 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: I44441096113929ce96eb1439e2932e6ff3c87f27
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# efe26686 11-Aug-2022 Johnathan Mantey <johnathanx.mantey@intel.com>

Update instructions for SetLanOem and GetLanOem

Refreshed the comment describing how to add OEM commands to the Set
Lan Configuration and Get Lan Configuration functions.

Changing to the Meson buil

Update instructions for SetLanOem and GetLanOem

Refreshed the comment describing how to add OEM commands to the Set
Lan Configuration and Get Lan Configuration functions.

Changing to the Meson build system altered the method.

Tested:
Nothing to test with regard to this commit as it is only altering
documentaton.

Change-Id: I4ec36b5f8b211cf3f1bcec0422e8f1fa71124dc4
Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>

show more ...


# 5d82f474 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: Ibd2a0b512bfb7caf65bfab64b271d194da520aac

show more ...


12345