| 4882ffbc | 19-Sep-2025 |
Jian Zhang <zhangjian.3032@bytedance.com> |
ncsi: fix ncsi-netlink hang
Some commands, such as `ncsi-netlink -s -x 4 -p 0 -c 0`, may hang.
In the kernel, if a registered command (like `ncsi_set_interface_nl`) has no `dumpit` callback and if
ncsi: fix ncsi-netlink hang
Some commands, such as `ncsi-netlink -s -x 4 -p 0 -c 0`, may hang.
In the kernel, if a registered command (like `ncsi_set_interface_nl`) has no `dumpit` callback and if auto ack is disabled, there will be no message returned at all, causing `recvmsg` to block indefinitely.
I believe only commands such as `NCSI_CMD_SEND_CMD`, whose responses are returned asynchronously, actually need auto ack to be disabled.
Tested: ncsi-netlink and ncsi-cmd all works. Signed-off-by: Jian Zhang <zhangjian.3032@bytedance.com> Change-Id: I44762e04490c229e936a73d95794c03821276f3a
show more ...
|
| f02fc4a5 | 17-Dec-2025 |
Ravi Teja <raviteja28031990@gmail.com> |
Remove IPv4 Linklocal address when interface has static IP
This commit removes IPv4 linklocal IP when ethernet interface already has routable ip address assigned on the interface.
Keeping linklocal
Remove IPv4 Linklocal address when interface has static IP
This commit removes IPv4 linklocal IP when ethernet interface already has routable ip address assigned on the interface.
Keeping linklocal ip address along with static ip addresses causing network routing issues.
systemd-networkd must drop linklocal IP when interface has routable static IP address, but currently its not implemented. Here is systemd issue systemd/systemd#25424
Tested By: Verified both interfaces in different static subnets Change-Id: I908cde6e695a0c72fdf80b706150ee3d654e5e42 Signed-off-by: Ravi Teja <raviteja28031990@gmail.com>
show more ...
|
| 970c7b60 | 05-Jan-2026 |
Ravi Teja <raviteja28031990@gmail.com> |
Add support for FullDuplex property
Adds support for FullDuplex property. This is already implemented by calling ethtool ioctl but not populated on DBus so far. This property is used for Redfish's F
Add support for FullDuplex property
Adds support for FullDuplex property. This is already implemented by calling ethtool ioctl but not populated on DBus so far. This property is used for Redfish's FullDuplex property.
Tested: Verified FullDuplex is populated on DBus.
Change-Id: Iff6939b88083520837811503a290670ff65e16eb Signed-off-by: Ravi Teja <raviteja28031990@gmail.com>
show more ...
|
| 434dd67a | 26-Nov-2025 |
Rashid MP <rashidmp@ami.com> |
Fix VLAN info not added to interfacesByIdx map
VLAN interfaces were initially created with a temporary index, which only updated the `interfaces` map and not `interfacesByIdx`. This change updates `
Fix VLAN info not added to interfacesByIdx map
VLAN interfaces were initially created with a temporary index, which only updated the `interfaces` map and not `interfacesByIdx`. This change updates `interfacesByIdx` once `createInterface` is triggered after VLAN creation.
Tested: 1. Enabled VLAN. 2. Verified VLAN IP by launching WebUI with VLAN IP. 3. Checked VLAN D-Bus objects are created. 4. Disabled VLAN. 5. Checked VLAN D-Bus objects are deleted.
Change-Id: I077adc400ff1248c9c7dda726206f9c54d8fb361 Signed-off-by: Rashid MP <rashidmp@ami.com>
show more ...
|
| 6c4859ed | 16-Nov-2025 |
Adi Fogel <afogel@nvidia.com> |
Adding verbose option to ncsi-cmd
Add a -v/--verbose flag to ncsi-cmd that prints the NC-SI response data directly to stdout in addition to debug logging. The logger remains unchanged and continues
Adding verbose option to ncsi-cmd
Add a -v/--verbose flag to ncsi-cmd that prints the NC-SI response data directly to stdout in addition to debug logging. The logger remains unchanged and continues to record all responses in the journal log.
Test: ''' root@dpu-bmc:~# timeout 5 ncsi-cmd -v -m 100 -p 3 raw 0 Response 24 bytes: 00 01 00 f8 80 7f 00 04 00 00 00 00 00 00 00 00 00 01 00 02 ff ff 7e 81 ''' Change-Id: If9f6541e351b3ef42ce24d869cd91a675a6fd9da Signed-off-by: Adi Fogel <afogel@nvidia.com>
show more ...
|
| 4a27fdc5 | 17-Nov-2025 |
Rashid MP <rashidmp@ami.com> |
Fix cppcheck warnings
This patch fixes the following cppcheck issues:
git/src/argument.cpp:52:35: Parameter 'argv' can be const. [constParameter]
git/src/ncsi_util.hpp:104,105,158,159: Missing
Fix cppcheck warnings
This patch fixes the following cppcheck issues:
git/src/argument.cpp:52:35: Parameter 'argv' can be const. [constParameter]
git/src/ncsi_util.hpp:104,105,158,159: Missing 'override' on virtuals. [missingOverride]
git/src/ncsi_util.cpp:387:33: C-style cast used. [cstyleCast]
git/src/ncsi_util.cpp:654:26: 'respPayload' not assigned. [unassignedVariable]
static_gateway.cpp:17:60: Param 'addr' should be const ref. [passedByValue]
Change-Id: Icb96e9fb891512924febef48b09aaf291a50add1 Signed-off-by: Rashid MP <rashidmp@ami.com>
show more ...
|
| 137d9441 | 04-Nov-2025 |
Patrick Williams <patrick@stwcx.xyz> |
use sdbusplus unpack syntax
Rather than defining a variable and then reading it from a message, sdbusplus also supports directly unpack-ing from the message. Use this syntax instead as it is more e
use sdbusplus unpack syntax
Rather than defining a variable and then reading it from a message, sdbusplus also supports directly unpack-ing from the message. Use this syntax instead as it is more efficient and succinct.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I9e1c7447883c0d80b47951ecb661304b8e8e84da
show more ...
|
| 3c4f35eb | 04-Nov-2025 |
Patrick Williams <patrick@stwcx.xyz> |
remove is_method_error call
An `is_method_error` is not appropriate after an sdbus `call` since `call` will always throw an exception. Remove the pointless call and instead catch the exception.
Si
remove is_method_error call
An `is_method_error` is not appropriate after an sdbus `call` since `call` will always throw an exception. Remove the pointless call and instead catch the exception.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I6ece20bca5a99da3b7a6f3b6aa55b22842f3b422
show more ...
|
| 64dd8c9e | 29-Oct-2025 |
Hariharan Rangasamy <hariharanr@ami.com> |
Fix cppcheck errors
Error message:
src/ncsi_util.cpp:224:36: error: Uninitialized struct member: chan.version_major [uninitStructMember] pkg.channels.push_back(chan);
Fix cppcheck errors
Error message:
src/ncsi_util.cpp:224:36: error: Uninitialized struct member: chan.version_major [uninitStructMember] pkg.channels.push_back(chan); ^ src/ncsi_util.cpp:224:36: error: Uninitialized struct member: chan.version_minor [uninitStructMember] pkg.channels.push_back(chan); ^ src/ncsi_util.cpp:224:36: error: Uninitialized struct member: chan.link_state [uninitStructMember] pkg.channels.push_back(chan);
Change-Id: I8364084e6a8e79d5fea9b788297ac0f1c5069c11 Signed-off-by: Hariharan Rangasamy <hariharanr@ami.com>
show more ...
|
| 306542d0 | 30-Oct-2025 |
Alexander Hansen <alexander.hansen@9elements.com> |
Copyright: Move to SPDX-License-Identifier
Original copyright holders have been preserved, this patch moves the copyright notice to the compact SPDX notation.
Change-Id: I77f6405c57e376852a778b708e
Copyright: Move to SPDX-License-Identifier
Original copyright holders have been preserved, this patch moves the copyright notice to the compact SPDX notation.
Change-Id: I77f6405c57e376852a778b708e9ecdec076f2cdd Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
show more ...
|
| 9958f452 | 17-Sep-2025 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
OWNERS: update asmitha's contact information
The previous commit (a9694a529eee95904d48f820a165399d689ec0fb) did not remove sunitha's email and Discord information. This change removes sunitha's deta
OWNERS: update asmitha's contact information
The previous commit (a9694a529eee95904d48f820a165399d689ec0fb) did not remove sunitha's email and Discord information. This change removes sunitha's details, adds asmitha's contact information, and sorts the entries alphabetically.
Change-Id: I22f36efac7b6ef5e85f3b5f7fbba21ccefe73fe7 Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
| a9694a52 | 09-Sep-2025 |
Asmitha Karunanithi <asmitk01@in.ibm.com> |
Remove Sunitha & add Asmitha to reviewers list
Change-Id: I58f5ee9c2be2147f652ba86db24093ecd4f6a470 Signed-off-by: Asmitha Karunanithi <asmitk01@in.ibm.com> |
| ef080362 | 05-Jun-2025 |
Anderson Kuo <Anderson.Kuo@quantatw.com> |
Refactor inventory path matching for precise MAC retrieval
Refactored inventory path matching to perform exact string comparison on the final path segment, ensuring the MAC is retrieved from the cor
Refactor inventory path matching for precise MAC retrieval
Refactored inventory path matching to perform exact string comparison on the final path segment, ensuring the MAC is retrieved from the correct inventory path. Previously, partial prefix matching caused retrieval of the MAC from incorrect paths, for example, intending to retrieve Minerva_CMM but retrieving Minerva_CMM_SCM instead. This change matches the string after the last '/' to select only the intended inventory path.
Tested: * Configured inventory paths with xyz.openbmc_project.Inventory.Item.NetworkInterface and MACAddress properties: - /xyz/openbmc_project/inventory/system/board/Minerva_CMM_SCM - /xyz/openbmc_project/inventory/system/board/Minerva_CMM_BSM - /xyz/openbmc_project/inventory/system/board/Minerva_CMM
* Logs: ''' Before: Case 1: Inventory MAC existed before phosphor-network started root@bmc:~# journalctl -u xyz.openbmc_project.Network bmc systemd[1]: Starting Phosphor Network Manager... bmc phosphor-network-manager[537]: Check VPD for MAC: Force sync enabled bmc phosphor-network-manager[537]: Registering the Inventory Signals Matcher bmc phosphor-network-manager[537]: Get info on interface Minerva_CMM, object /xyz/openbmc_project/inventory/system/board/Minerva_CMM_SCM bmc phosphor-network-manager[537]: Mac Address 74:d4:dd:f4:39:8c in Inventory on Interface eth0 bmc phosphor-network-manager[537]: Wrote networkd file: /etc/systemd/network/00-bmc-eth0.network bmc phosphor-network-manager[537]: Setting MAC 74:d4:dd:f4:39:8c on interface eth0 bmc phosphor-network-manager[537]: Removing the match for ethernet interfaces bmc phosphor-network-manager[537]: Setting NIC down on eth0 bmc systemd[1]: Started Phosphor Network Manager. bmc phosphor-network-manager[537]: Reloaded systemd-networkd
Case 2: Inventory MAC didn't exist before phosphor-network started root@bmc:~# journalctl -u xyz.openbmc_project.Network bmc systemd[1]: Starting Phosphor Network Manager... bmc phosphor-network-manager[428]: Check VPD for MAC: Force sync enabled bmc phosphor-network-manager[428]: Registering the Inventory Signals Matcher bmc phosphor-network-manager[428]: No Object has implemented the interface xyz.openbmc_project.Inventory.Item.NetworkInterface bmc phosphor-network-manager[428]: The operation failed internally. bmc phosphor-network-manager[428]: Exception occurred during getting of MAC address from Inventory bmc systemd[1]: Started Phosphor Network Manager. bmc phosphor-network-manager[428]: Setting MAC 74D4DDF4398C on interface eth0 bmc phosphor-network-manager[428]: Wrote networkd file: /etc/systemd/network/00-bmc-eth0.network bmc phosphor-network-manager[428]: Setting MAC 74D4DDF4398D on interface eth0 bmc phosphor-network-manager[428]: Wrote networkd file: /etc/systemd/network/00-bmc-eth0.network bmc phosphor-network-manager[428]: Setting MAC 74D4DDF4398E on interface eth0 bmc phosphor-network-manager[428]: Setting NIC down on eth0 bmc phosphor-network-manager[428]: Setting NIC down on eth0 bmc phosphor-network-manager[428]: Reloaded systemd-networkd
After: Case 1: Inventory MAC existed before phosphor-network started root@bmc:~# journalctl -u xyz.openbmc_project.Network bmc systemd[1]: Starting Phosphor Network Manager... bmc phosphor-network-manager[447]: Check VPD for MAC: Force sync enabled bmc phosphor-network-manager[447]: Registering the Inventory Signals Matcher bmc phosphor-network-manager[447]: No Object has implemented the interface xyz.openbmc_project.Inventory.Item.NetworkInterface bmc phosphor-network-manager[447]: The operation failed internally. bmc phosphor-network-manager[447]: Exception occurred during getting of MAC address from Inventory bmc systemd[1]: Started Phosphor Network Manager. bmc phosphor-network-manager[447]: Wrote networkd file: /etc/systemd/network/00-bmc-eth0.network bmc phosphor-network-manager[447]: Setting MAC 74D4DDF4398D on interface eth0 bmc phosphor-network-manager[447]: Check xyz.openbmc_project.Network.IP for sdbus response bmc phosphor-network-manager[447]: Check xyz.openbmc_project.Object.Delete for sdbus response bmc phosphor-network-manager[447]: Setting NIC down on eth0 bmc phosphor-network-manager[447]: Reloaded systemd-networkd
Case 2: Inventory MAC didn't exist before phosphor-network started root@bmc:~# journalctl -u xyz.openbmc_project.Network bmc systemd[1]: Starting Phosphor Network Manager... bmc phosphor-network-manager[1040]: Check VPD for MAC: Force sync enabled bmc phosphor-network-manager[1040]: Registering the Inventory Signals Matcher bmc phosphor-network-manager[1040]: Get info on interface Minerva_CMM, object /xyz/openbmc_project/inventory/system/board/Minerva_CMM_SCM bmc phosphor-network-manager[1040]: Get info on interface Minerva_CMM, object /xyz/openbmc_project/inventory/system/board/Minerva_CMM_BSM bmc phosphor-network-manager[1040]: Get info on interface Minerva_CMM, object /xyz/openbmc_project/inventory/system/board/Minerva_CMM bmc phosphor-network-manager[1040]: Mac Address 74:d4:dd:f4:39:8d in Inventory on Interface eth0 bmc phosphor-network-manager[1040]: Setting MAC 74:d4:dd:f4:39:8d on interface eth0 bmc phosphor-network-manager[1040]: Removing the match for ethernet interfaces bmc systemd[1]: Started Phosphor Network Manager. '''
Change-Id: Ibe9171372bd244dbaa524d9b8c7ed58d94aa5b91 Signed-off-by: Anderson Kuo <Anderson.Kuo@quantatw.com>
show more ...
|
| 84f58c2d | 09-Jul-2025 |
Patrick Williams <patrick@stwcx.xyz> |
meson: use non-deprecated systemd packageconfig
Systemd's packageconfig file has both `systemdsystemunitdir` and `systemd_system_unit_dir` defined. The non-underscore one appears to be a deprecated
meson: use non-deprecated systemd packageconfig
Systemd's packageconfig file has both `systemdsystemunitdir` and `systemd_system_unit_dir` defined. The non-underscore one appears to be a deprecated alias[1]. Move to the non-deprecated / underscore-separated variant.
[1]: https://github.com/systemd/systemd/commit/4908de44b0a0409f84a7cdc5641b114d6ce8ba03
Change-Id: I63dbeffffe3470904df0fc18d337fb2c40cc72b9 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
| e4aee231 | 30-May-2025 |
Patrick Williams <patrick@stwcx.xyz> |
clang-tidy: format with config-clang-tidy
Reformat the .clang-tidy file for consistency using the config-clang-tidy tool from openbmc-build-scripts.
Change-Id: I0f91e2a93ee4d0bacec9266a0204f54fede7
clang-tidy: format with config-clang-tidy
Reformat the .clang-tidy file for consistency using the config-clang-tidy tool from openbmc-build-scripts.
Change-Id: I0f91e2a93ee4d0bacec9266a0204f54fede75d99 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
| 618ac419 | 27-Apr-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: I29c7168fd2fe69b1738a026e1d1360a6de7b5f5e 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: I29c7168fd2fe69b1738a026e1d1360a6de7b5f5e Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
| 64f61264 | 06-Nov-2022 |
William A. Kennington III <wak@google.com> |
ethernet_interface: Runtime detect uboot-env
We don't need a build time option as systems not using it don't include uboot fw_setenv.
Change-Id: I922fb9ebb0309ab1a792892c28417794f5ed6ef0 Signed-off
ethernet_interface: Runtime detect uboot-env
We don't need a build time option as systems not using it don't include uboot fw_setenv.
Change-Id: I922fb9ebb0309ab1a792892c28417794f5ed6ef0 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
| f7116de8 | 08-Dec-2024 |
Ravi Teja <raviteja28031990@gmail.com> |
Add LLDP configuration support
This commit implements EmitLLDP D-bus property to support configuration of enable/disable LLDP of each ethernet interface.
Tested by: Set EmitLLDP D-bus property on x
Add LLDP configuration support
This commit implements EmitLLDP D-bus property to support configuration of enable/disable LLDP of each ethernet interface.
Tested by: Set EmitLLDP D-bus property on xyz.openbmc_project.Network.EthernetInterface
Change-Id: I4ebedff9d3f914219f2f84c861fdee126584a94b Signed-off-by: Ravi Teja <raviteja28031990@gmail.com>
show more ...
|
| 4fe8613f | 15-Sep-2024 |
Jishnu CM <jishnunambiarcm@duck.com> |
Filter static ntp servers from ntpservers
EthernetInterface::ntpServers contains both static and dynamic ntpservers. EthernetInterface::ntpServers is returned as network provided ntp servers in red
Filter static ntp servers from ntpservers
EthernetInterface::ntpServers contains both static and dynamic ntpservers. EthernetInterface::ntpServers is returned as network provided ntp servers in redfish response.
In bmcweb, NTPServers = ntpServers = StaticNTPServers of networkd NetworkSuppliedServers = dynamicNtpServers = NTPServers of networkd
This commit filter out static ntp servers from the ntpServers to have it contain only network provided ntp servers.
Tested by:
1. Enable DHCP to fetch NTP servers list from the DHCP server. Do a GET on NetworkProtocol and verify the NetworkSuppliedServers contains NTP servers from DHCP only.
2. Verified it has not altered the behavior of static NTPServers list
"Id": "NetworkProtocol", "NTP": { "NTPServers": [<Static NTP Servers>], "NetworkSuppliedServers": [<NTP servers from DHCP>], "ProtocolEnabled": false },
Change-Id: I0cf186cae9159bd56a3166d5921d32d51216cf47 Signed-off-by: Jishnu CM <jishnunambiarcm@duck.com>
show more ...
|
| e034990a | 12-Apr-2025 |
Milton D. Miller II <mdmii@outlook.com> |
Identify MAC address as invalid
The problem is with the Media Access Controller address not an Internet Protocol address.
Probably introduced due to incomplete editing of a similar message.
Change
Identify MAC address as invalid
The problem is with the Media Access Controller address not an Internet Protocol address.
Probably introduced due to incomplete editing of a similar message.
Change-Id: If4648f73a3f33da8832078d8ce540570bdb449bd Signed-off-by: Milton Miller <mdmii@outlook.com>
show more ...
|
| 0779db7f | 07-Jan-2025 |
kokilav <kokilavaradhan@gmail.com> |
Handle IPv4 address for IPv6 Static Default Gateway
Error is not thrown when an IPV4 address is provided. This commit addresses the issue by explicitly handling such cases and returning an InvalidAr
Handle IPv4 address for IPv6 Static Default Gateway
Error is not thrown when an IPV4 address is provided. This commit addresses the issue by explicitly handling such cases and returning an InvalidArgument error when a IPV4address is configured for IPV6 Static Default Gateway field.
Tested By: Verified the test case and ensured proper invalid argument error is thrown.
Change-Id: Ibc3d2a77ae56f5b23c3f8bca12409693aa2f3ad9 Signed-off-by: kokilav <kokilavaradhan@gmail.com>
show more ...
|
| f51a2c6a | 12-Dec-2024 |
kokilav <kokilavaradhan@gmail.com> |
Handle InvalidArgument Error for Out-of-Range MAC addresses
Error is not thrown when an out-of-range MAC address is provided. This commit addresses the issue by explicitly handling such cases and re
Handle InvalidArgument Error for Out-of-Range MAC addresses
Error is not thrown when an out-of-range MAC address is provided. This commit addresses the issue by explicitly handling such cases and returning an InvalidArgument error when a MAC address falls outside the valid range.
Tested By: Verified the out-of-range MAC address case and ensured proper invalid argument error is thrown.
Change-Id: I508cf267878811fcf70fcce7dfa7ff804b160bc1 Signed-off-by: kokilav <kokilavaradhan@gmail.com>
show more ...
|
| 0c121efb | 06-Apr-2025 |
Ravi Teja <raviteja28031990@gmail.com> |
OWNERS: add Raviteja as an owner
I have worked on various features and fixed several issues in this Networkd repository and redfish EthernetInterface service
There are still some patches that need
OWNERS: add Raviteja as an owner
I have worked on various features and fixed several issues in this Networkd repository and redfish EthernetInterface service
There are still some patches that need to be reviewed by the community, and some are ready to be merged
I have thorough understanding of Networkd and systemd-networkd I am also active reviewer of this repo from last two years Thus, I apply to be a maintainer of this repo. Hope I can contribute more and help the OpenBMC community.
Here are my contributions to phosphor-networkd repository [1]: [1]: https://github.com/openbmc/phosphor-networkd/commits?author=raviteja-b
Change-Id: I7fe5364a45140356617e1b72cd949a2e28c46a42 Signed-off-by: Ravi Teja <raviteja28031990@gmail.com>
show more ...
|
| 36658cc7 | 08-Feb-2025 |
eddylu <puzzy8338@gmail.com> |
ncsi-cmd: Add 'discover' subcommand for MCTP
This commit introduces a new 'discover' subcommand to the ncsi-cmd tool, enabling scanning for available NC-SI packages and channels via MCTP. The discov
ncsi-cmd: Add 'discover' subcommand for MCTP
This commit introduces a new 'discover' subcommand to the ncsi-cmd tool, enabling scanning for available NC-SI packages and channels via MCTP. The discovery process starts from Package 0 and iterates through channels to identify functional combinations. Once a valid package and channel are found, the process stops.
Testing: ./ncsi-cmd -m 91 discover
Change-Id: I2e38b23c5995f3f34e2dc3d22fed4eead8194835 Signed-off-by: eddy lu <puzzy8338@gmail.com>
show more ...
|
| ef2be3cd | 12-Dec-2024 |
eddylu <puzzy8338@gmail.com> |
Implement Receive Data from NC Command (0x4D) for NC-SI
This commit implements the "Receive Data from NC" command (0x4D) as specified in the NC-SI standard. It also includes related unit tests to en
Implement Receive Data from NC Command (0x4D) for NC-SI
This commit implements the "Receive Data from NC" command (0x4D) as specified in the NC-SI standard. It also includes related unit tests to ensure functionality.
The dump subcommand has been enhanced to allow specifying the data handle and output file name when sending the command.
Testing: ./ncsi-cmd -m 91 -p 0 -c 1f core-dump mctp_core.log ./ncsi-cmd -i 2 -p 0 -c 1f core-dump rbt_core.log
Change-Id: I43a9e8ba08772f3edc65ed5efb5b83cb4ae52e03 Signed-off-by: eddy lu <puzzy8338@gmail.com>
show more ...
|