dce7fe77 | 24-Sep-2024 |
Patrick Williams <patrick@stwcx.xyz> |
sdbusplus: update meson to v9 format
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I9bb63627b2f0b73c549ac9a01b50c4bb18273643 |
e7bd184b | 19-Sep-2024 |
Patrick Williams <patrick@stwcx.xyz> |
sdbusplus: update meson to v8 format
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Id1a2086530218d1e578554501d29552a5f307846 |
5a456061 | 15-Feb-2024 |
Johnathan Mantey <johnathanx.mantey@intel.com> |
Add Set Package and Channel Mask to ncsi-netlink utility
The NCSI driver has added two commands for setting the Package Mask and the Channel Mask within a package. The ncsi-netlink utility does not
Add Set Package and Channel Mask to ncsi-netlink utility
The NCSI driver has added two commands for setting the Package Mask and the Channel Mask within a package. The ncsi-netlink utility does not support these new commands.
Add the ability to set the package and the channel mask values.
Tested: Instrumented the NCSI kernel driver to print mask values. Issued 'ncsi-netlink -x 3 -j 0x3' and saw the NCSI driver print the new package mask. Issued 'ncsi-netlink -x 3 -p 0 -k 0x3' and saw the NCSI driver print the new channel mask.
Change-Id: Icd2188e789de43f631fe26d9e751d564ba5f822f Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
show more ...
|
3865db2a | 27-Sep-2023 |
Johnathan Mantey <johnathanx.mantey@intel.com> |
Replace originIsManuallyAssigned with inline test
The originIsManuallyAssigned function does not need to be present.
When automatic link local addresses are active, the conditional compilation made
Replace originIsManuallyAssigned with inline test
The originIsManuallyAssigned function does not need to be present.
When automatic link local addresses are active, the conditional compilation made sure to only test for addresses of 'static' origin.
When manual link local addresses are active, by definition the address assignment is done using a IPSRC == static action. It is not possible to use IPMI or Redfish to assert a "link local" flag. Thus all link local addresses are merely statically assigned addresses. The systemd-network stack asserts the link local scope based on the IP address assigned.
Tested: Enabled LINK_LOCAL_AUTOCONFIGURATION and used DHCP and static address assignments. When DHCPv4 is turned off, a link local address is assigned to the link. With DHCPv4 turned on, the link local address is disabled.
Explicitly adding a static address inside the 169.254 address space causes systemd to report the address scope to be link local.
Restoring DHCPv4 disables all link local addresses per IETF RFCs.
Manually disabled LINK_LOCAL_AUTOCONFIGURATION, as phosphor-network does provide dynamic control. Disabled DHCPv4 and confirmed there are no link local or DHCPv4 addresses. Assigned a 169.254.x.x address w/o DHCPv4 or LinkLocalAddressing. Confirmed a "scope link" address was reported via 'ip addr'.
Change-Id: I4d7e55dc3014b5b0acdd12bd8ac85ea650c13b9c Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
show more ...
|
8e3c1fbd | 12-Mar-2024 |
Johnathan Mantey <johnathanx.mantey@intel.com> |
Use ActivationPolicy to enable/disable network interfaces
The systemd.network "Unmanaged" control, used to cause a network interface to prevent a NIC from being configured by systemd is too aggressi
Use ActivationPolicy to enable/disable network interfaces
The systemd.network "Unmanaged" control, used to cause a network interface to prevent a NIC from being configured by systemd is too aggressive. The goal is to control the IFF_UP/IFF_DOWN state of the NIC.
The systemd-networkd developers, as part of discussions around "Unmanaged", created an alternate control to perform the required action. The control is called ActivationPolicy.
Switch from using Unmanaged to ActivationPolicy in order to manage IFF_UP/IFF_DOWN conditions.
Tested: The systemd-network.service initial state has no ActivationPolicy entry. The default state is for ActivationPolicy to be enabled.
Issued a Redfish request: PATCH :url/redfish/v1/Managers/bmc/EthernetInterfaces/eth1 { "InterfaceEnabled": false } to assign "ActivationPolicy=down", and causing the link to stay down until another request re-enables it. Confirmed the NIC is IFF_DOWN, and the systemd.network configuration file contains ActivationPolicy=down.
Sending another request to set InterfaceEanbled: "true" causes the entry to be removed from the systemd.network file, and the NIC enters the IFF_UP state.
Change-Id: I8b5bb4d30a1c7282494526169f65e0eda26e04cf Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
show more ...
|
e010e562 | 23-Aug-2023 |
Patrick Williams <patrick@stwcx.xyz> |
build: upgrade to C++23
Meson 1.1.1 and GCC-13 both support C++23 and a sufficient portion of the standard has been implemented. Upgrade the build to leverage it.
Change-Id: I2f370b468cfa5997d4902
build: upgrade to C++23
Meson 1.1.1 and GCC-13 both support C++23 and a sufficient portion of the standard has been implemented. Upgrade the build to leverage it.
Change-Id: I2f370b468cfa5997d490265ef8d734f9fc6e7fae Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
871f163e | 21-Aug-2024 |
Patrick Williams <patrick@stwcx.xyz> |
ibm: hypervisor-network-mgr: adjust includes and fwd declarations
clang-18 with C++23 complains as follows:
``` /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:
ibm: hypervisor-network-mgr: adjust includes and fwd declarations
clang-18 with C++23 complains as follows:
``` /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:97:16: error: invalid application of 'sizeof' to an incomplete type 'phosphor::network::HypSysConfig' 97 | static_assert(sizeof(_Tp)>0, ... ../src/ibm/hypervisor-network-mgr-src/hyp_network_manager.hpp:159:32: note: in instantiation of member function 'std::unique_ptr<phosphor::network::HypSysConfig>::~unique_ptr' requested here 159 | SystemConfPtr systemConf = nullptr; ```
Get rid of the forward declaration and adjust some of the include directives to satisfy clang.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Id2ebe1f5f7fce4962c0e3ffdf04bcaa476772e9a
show more ...
|
ad205028 | 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: I335e0c726360eaae85b9b54c16b5dcbe4a3f182e Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
343f8180 | 05-Aug-2024 |
George Liu <liuxiwei@ieisystem.com> |
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
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: I839143a4afb1ebc7c7f08a2fccac85248b87218f
show more ...
|
0cd5bf9a | 05-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: I7d3d7108f64597c66e18f8ac54c7ddbd53817d8e
show more ...
|
06597710 | 05-Aug-2024 |
George Liu <liuxiwei@ieisystem.com> |
Fix MD026 warnings
The following warnings are generated by using markdownlint analysis: ``` docs/Network-Configuration.md:58:25 MD026/no-trailing-punctuation Trailing punctuation in heading [Punctua
Fix MD026 warnings
The following warnings are generated by using markdownlint analysis: ``` docs/Network-Configuration.md:58:25 MD026/no-trailing-punctuation Trailing punctuation in heading [Punctuation: ':'] ``` Refer to markdown-lint [1] to fix MD026 [1]: https://github.com/updownpress/markdown-lint/blob/master/rules/026-no-trailing-punctuation.md
Signed-off-by: George Liu <liuxiwei@ieisystem.com> Change-Id: I0ceefdccaee128bce0d86228bda819a9482074e2
show more ...
|
11d9db12 | 05-Aug-2024 |
George Liu <liuxiwei@ieisystem.com> |
Fix MD025 warnings
The following warnings are generated by using markdownlint analysis: ``` docs/Network-Configuration.md:26 MD025/single-title/single-h1 Multiple top-level headings in the same docu
Fix MD025 warnings
The following warnings are generated by using markdownlint analysis: ``` docs/Network-Configuration.md:26 MD025/single-title/single-h1 Multiple top-level headings in the same document [Context: "# DbusObjects"] docs/Network-Configuration.md:56 MD025/single-title/single-h1 Multiple top-level headings in the same document [Context: "# UseCases"] ``` Refer to markdown-lint [1] to fix MD025 [1]: https://github.com/updownpress/markdown-lint/blob/master/rules/025-single-h1.md
Signed-off-by: George Liu <liuxiwei@ieisystem.com> Change-Id: I0912159d293b770bf9f5e2b4e398dae344094851
show more ...
|
f74e195a | 05-Aug-2024 |
George Liu <liuxiwei@ieisystem.com> |
Fix MD033 warnings
The following warnings are generated by using markdownlint analysis: ``` docs/Network-Configuration.md:60:70 MD033/no-inline-html Inline HTML [Element: interface] docs/Network-Con
Fix MD033 warnings
The following warnings are generated by using markdownlint analysis: ``` docs/Network-Configuration.md:60:70 MD033/no-inline-html Inline HTML [Element: interface] docs/Network-Configuration.md:62:49 MD033/no-inline-html Inline HTML [Element: ip] docs/Network-Configuration.md:62:55 MD033/no-inline-html Inline HTML [Element: subnetmask] docs/Network-Configuration.md:63:2 MD033/no-inline-html Inline HTML [Element: networkgateway] docs/Network-Configuration.md:66:59 MD033/no-inline-html Inline HTML [Element: ip] docs/Network-Configuration.md:66:79 MD033/no-inline-html Inline HTML [Element: networkGateway] docs/Network-Configuration.md:66:65 MD033/no-inline-html Inline HTML [Element: subnetmask] docs/Network-Configuration.md:85:2 MD033/no-inline-html Inline HTML [Element: DefaultGateway] docs/Network-Configuration.md:109:61 MD033/no-inline-html Inline HTML [Element: HostName] docs/Network-Configuration.md:112:2 MD033/no-inline-html Inline HTML [Element: hostname] docs/Network-Configuration.md:118:47 MD033/no-inline-html Inline HTML [Element: id] docs/Network-Configuration.md:118:30 MD033/no-inline-html Inline HTML [Element: interface] ``` Refer to markdown-lint [1] to fix MD033 [1]: https://github.com/updownpress/markdown-lint/blob/master/rules/033-no-inline-html.md
Signed-off-by: George Liu <liuxiwei@ieisystem.com> Change-Id: I3663a69b9a250a4fbfa071716413ce1ea21a3257
show more ...
|
1ebea28c | 15-Feb-2024 |
Johnathan Mantey <johnathanx.mantey@intel.com> |
Make Send Command feature more flexible
The sendOemCommand command, used to send NCSI_CMD_SEND_CMD payloads, is hardcoded to only send one command.
Update the sendOemCommand function to allow the s
Make Send Command feature more flexible
The sendOemCommand command, used to send NCSI_CMD_SEND_CMD payloads, is hardcoded to only send one command.
Update the sendOemCommand function to allow the sub-operation to be passed as a command line argument. This is done by prepending the sub-operation byte to the front of the Send Cmd payload.
Doing this allows sub-operations without any payload bytes to be called. For example "-o 0a", where the sub-operation for Send Cmd is the 0x0a value.
Tested: Sent 'ncsi-netlink -x 3 -p 0 -c 0 -o 50000001572100' and confirmed the 0x50 byte worked the same way as the original hard-coded value. Sent 'ncsi-netlink -x 3 -p 0 -c 0 -o 0a' and confirmed the 0x0a sub-operation functioned on the submitters SUT.
Change-Id: I20f093fd8296f549fce03dc5729b8e5fedcab313 Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
show more ...
|
d92826d2 | 17-Jun-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Fix spelling mistakes using codespell
This commit corrects various spelling mistakes throughout the repository. The corrections were made automatically using `codespell`[1] tool.
[1]: https://githu
Fix spelling mistakes using codespell
This commit corrects various spelling mistakes throughout the repository. The corrections were made automatically using `codespell`[1] tool.
[1]: https://github.com/codespell-project/codespell
Change-Id: I169e5e1674cfda3599ea585ca3fd7afcfed601c0 Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
91f60564 | 17-Apr-2024 |
Ravi Teja <raviteja28031990@gmail.com> |
IPv4/IPv6 Gateway: Configure GatewayOnLink
Currently when both interfaces configured static ip addresses and one of that static ip address is in private network then while reload network configurati
IPv4/IPv6 Gateway: Configure GatewayOnLink
Currently when both interfaces configured static ip addresses and one of that static ip address is in private network then while reload network configuration further, route order keep changes and interface with private network is not reachable when other gateway route is on the top of routing table.
This commit configures IPv4/IPv6 static gateway using systemd-networkd's Route option and sets GatewayOnLink option and make sure interfaces network reachable irrespective of route order while reloading networkd.
Tested By: configure one interface in static and other interface DHCP. configure both interfaces with static IP and one interface on private network.
Sample IPv4 network route added in systemd-networkd configuration file [Route] GatewayOnLink=true Gateway=9.10.x.1
Change-Id: Id7c9ba74cf7e71e6105536c5affc905754cae908 Signed-off-by: Ravi Teja <raviteja28031990@gmail.com>
show more ...
|
c3c6b4c3 | 18-Apr-2024 |
William A. Kennington III <wak@google.com> |
dhcp_configuration: Use the correct file for DHCP settings
Now that we are writing settings per interface, we should only look at settings for that interface itself, not the latest file in the netwo
dhcp_configuration: Use the correct file for DHCP settings
Now that we are writing settings per interface, we should only look at settings for that interface itself, not the latest file in the network directory.
Change-Id: I51910a28cac7fa8b876d4c2c28617023f24ed61a Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
945878a4 | 17-Apr-2024 |
William A. Kennington III <wak@google.com> |
ethernet_interface: Write an update marker to tmpfs
Currently, many BMC systems use JFFS2 as a filesystem for their RWFS. JFFS2 doesn't support sub-second timestamps, and we sometimes have instances
ethernet_interface: Write an update marker to tmpfs
Currently, many BMC systems use JFFS2 as a filesystem for their RWFS. JFFS2 doesn't support sub-second timestamps, and we sometimes have instances of configuration writes happening within the same second around a networkd reload. The second write is then ignored upon the next networkd reload as the timestamp of the file hasn't changed!
Therefore, we leverage tmpfs which has higher precision timestamps as a mechanism to guarantee networkd sees our updates without making extra changes to networkd or writes to the RWFS.
Tested: Verified that during a gateway set operation (or any other property write) the updated file is set with microsecond granularity. Also verified that subsequent updates change the timestamp and it's set right before networkd reloads for MAC updates.
Change-Id: Ibfd0463166223d0e4a6f7205d780f4de8590a0c1 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
fad525c0 | 17-Apr-2024 |
William A. Kennington III <wak@google.com> |
ethernet_interface: Emit DHCP objects after parent
We don't want the DHCP objects to get emitted onto the bus if the parent hasn't been submitted yet, change the ordering to make more sense.
Change
ethernet_interface: Emit DHCP objects after parent
We don't want the DHCP objects to get emitted onto the bus if the parent hasn't been submitted yet, change the ordering to make more sense.
Change-Id: Ib97b2a82586a41eb5bc2cfe421864b2cb729c0e2 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
44937b1a | 17-Apr-2024 |
William A. Kennington III <wak@google.com> |
dhcp_configuration: SendHostname is valid for v4 and v6
We should present this option for both DHCP types as systemd supports it for both. It would be surprising to an end user if DHCPv6 just ate th
dhcp_configuration: SendHostname is valid for v4 and v6
We should present this option for both DHCP types as systemd supports it for both. It would be surprising to an end user if DHCPv6 just ate this option without passing it along.
Change-Id: I7ae046c0a92ab199e2026ffe3dfb78b8763223a0 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
f179e70c | 17-Apr-2024 |
William A. Kennington III <wak@google.com> |
ethernet_interface: Simplify DHCPConfiguration enumeration
We don't have more than 2 types of DHCP objects, don't use an arbitrary vector and depend on enum values for indices.
Change-Id: I5c519e8b
ethernet_interface: Simplify DHCPConfiguration enumeration
We don't have more than 2 types of DHCP objects, don't use an arbitrary vector and depend on enum values for indices.
Change-Id: I5c519e8b95b273a4684e553f18027f038d025f17 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
86d25bb7 | 24-Mar-2024 |
Ravi Teja <raviteja28031990@gmail.com> |
Remove unused BUFSIZE variable
Change-Id: I84f186a83a7c800048f68350a55d5bad5b032970 Signed-off-by: Ravi Teja <raviteja28031990@gmail.com> |
b6595b29 | 23-Feb-2024 |
Ravi Teja <raviteja28031990@gmail.com> |
DHCP Config: Add DomainEnabled D-bus property
This commit implements DomainEnabled D-bus property for DHCP configuration. When DomainEnabled is set to true then the domain names received from the DH
DHCP Config: Add DomainEnabled D-bus property
This commit implements DomainEnabled D-bus property for DHCP configuration. When DomainEnabled is set to true then the domain names received from the DHCP server
Tested by: Set DomainEnabled D-bus property to true or false Check domain name configured on BMC
Change-Id: Ia3db5f5054d4c758be336851175b05ddc05d2eda Signed-off-by: Ravi Teja <raviteja28031990@gmail.com>
show more ...
|
57dfea94 | 05-May-2023 |
Jishnu CM <jishnunambiarcm@duck.com> |
Configure DHCP4 and DHCP6 parameters independently
At present, DHCP parameters like DNSEnabled, NTPEnabled etc. are shared between DHCPv4 and DHCPv6 in the network configuration.
Hence any update o
Configure DHCP4 and DHCP6 parameters independently
At present, DHCP parameters like DNSEnabled, NTPEnabled etc. are shared between DHCPv4 and DHCPv6 in the network configuration.
Hence any update on the ipv4 parameters impacts the ipv6 and get applied to both the interfaces.
This change is to enable the possibility to configure DHCP attributes independently, by having different dbus objects for dhcp4 and dhcp6 and moving the dhcp configuration from network level to ethernet interface.
tested by:
Used the busctl command to set and get the parameter values individually for both DHCPv4 and DHCPv6. Verified the network configuration file is updated accordingly
Tree Structure: busctl tree xyz.openbmc_project.Network `-/xyz `-/xyz/openbmc_project `-/xyz/openbmc_project/network |-/xyz/openbmc_project/network/config |-/xyz/openbmc_project/network/eth0 | |-/xyz/openbmc_project/network/eth0/dhcp4 | `-/xyz/openbmc_project/network/eth0/dhcp6 `-/xyz/openbmc_project/network/eth1 |-/xyz/openbmc_project/network/eth1/dhcp4 `-/xyz/openbmc_project/network/eth1/dhcp6
Change-Id: If7dbbf596bdaf866ea459d631e716153f54302ec Signed-off-by: Jishnu CM <jishnunambiarcm@duck.com>
show more ...
|
581cb0b3 | 21-Mar-2023 |
nitinkotania <gitnkotania@gmail.com> |
Avoid writing duplicate DNS entries to config file
Currently, we store the dbus DNS values in a vector without checking duplicate entries. which allows duplicate entries to be saved if the user supp
Avoid writing duplicate DNS entries to config file
Currently, we store the dbus DNS values in a vector without checking duplicate entries. which allows duplicate entries to be saved if the user supplies same DNS server settings multiple times.
With this commit, we will check duplicate entries and remove them to get a unique list of DNS values.
Tested By: PATCH -d '{"StaticNameServers":["10.4.5.60", "10.4.5.60"]}' https://${bmc_ip}/redfish/v1/Managers/bmc/EthernetInterfaces/eth0
Change-Id: I0c18eb5fec36c4305f1ded4c5e57bbd046ca4576 Signed-off-by: nitinkotania <gitnkotania@gmail.com>
show more ...
|