#
1847f2a0
|
| 26-Mar-2024 |
Asmitha Karunanithi <asmitk01@in.ibm.com> |
ethernet: Move to setProperty dbus utility method
This commit changes sdbusplus setProperty calls in ethernet.hpp file to "setDbusProperty" method in Redfish namespace that handles all DBus errors i
ethernet: Move to setProperty dbus utility method
This commit changes sdbusplus setProperty calls in ethernet.hpp file to "setDbusProperty" method in Redfish namespace that handles all DBus errors in a consistent manner.
Tested By: Tested a few PATCH operations on the redfish endpoints defined in this file and verified that bmcweb returns appropriate Redfish errors.
Change-Id: Ie456db75d59dc247cdce5dd5cc0b2f6894f5265f Signed-off-by: Asmitha Karunanithi <asmitk01@in.ibm.com>
show more ...
|
#
d02aad39
|
| 13-Feb-2024 |
Ed Tanous <ed@tanous.net> |
Create Redfish specific setProperty call
There are currently 78 sdbusplus::asio::setProperty calls in redfish-core. The error handler for nearly all of them looks something like:
``` if (ec) {
Create Redfish specific setProperty call
There are currently 78 sdbusplus::asio::setProperty calls in redfish-core. The error handler for nearly all of them looks something like:
``` if (ec) { const sd_bus_error* dbusError = msg.get_error(); if ((dbusError != nullptr) && (dbusError->name == std::string_view( "xyz.openbmc_project.Common.Error.InvalidArgument"))) { BMCWEB_LOG_WARNING("DBUS response error: {}", ec); messages::propertyValueIncorrect(asyncResp->res, "<PropertyName>", <PropertyValue>); return; } messages::internalError(asyncResp->res); return; } messages::success(asyncResp->res);
```
In some cases there are more errors handled that translate to more error messages, but the vast majority only handle InvalidArgument. Many of these, like the ones in account_service.hpp, do the error handling in a lambda, which causes readability problems. This commit starts to make things more consistent, and easier for trivial property sets.
This commit invents a setDbusProperty method in the redfish namespace that tries to handle all DBus errors in a consistent manner. Looking for input on whether this will work before changing over the other 73 calls. Overall this is less code, fewer inline lambdas, and defaults that should work for MOST use cases of calling an OpenBMC daemon, and fall back to more generic errors when calling a "normal" dbus daemon.
As part of this, I've ported over several examples. Some things that might be up in the air: 1. Do we always return 204 no_content on property sets? Today there's a mix of 200, with a Base::Success message, and 204, with an empty body. 2. Do all DBus response codes map to the same error? A majority are covered by xyz.openbmc_project.Common.Error.InvalidArgument, but there are likely differences. If we allow any daemon to return any return code, does that cause compatibility problems later?
Tested: ``` curl -k --user "root:0penBmc" -H "Content-Type: application/json" -X PATCH -d '{"HostName":"openbmc@#"}' https://192.168.7.2/redfish/v1/Managers/bmc/EthernetInterfaces/eth0 ```
Returns the appropriate error in the response Base.1.16.0.PropertyValueIncorrect
Change-Id: If033a1112ba516792c9386c997d090c8f9094f3a Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
#
5a8b6412
|
| 27-Mar-2024 |
Ed Tanous <ed@tanous.net> |
Fix clang-formatting in ethernet
Current code has
//clang-format on
When it should have
// clang-format on
The difference is subtle, but disables formatting for this whole file. Re-enable and fi
Fix clang-formatting in ethernet
Current code has
//clang-format on
When it should have
// clang-format on
The difference is subtle, but disables formatting for this whole file. Re-enable and fix the couple of problems.
Tested: Whitespace only.
Change-Id: Ia155226327d4d611eb2c0f5232274459866e81cc Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
#
d547d8d2
|
| 16-Mar-2024 |
Ed Tanous <ed@tanous.net> |
Check optionals in tidy
clang-tidy-18 makes this feature stable enough for us to use in general. Enable the check, and fix the couple of regressions that have snuck in since we last ran the check.
Check optionals in tidy
clang-tidy-18 makes this feature stable enough for us to use in general. Enable the check, and fix the couple of regressions that have snuck in since we last ran the check.
Tidy seems to not be able to understand that ASSERT will not continue, so if we ASSERT a std::optional, it's not a bug. Add explicit checks to keep tidy happy.
Tested: clang-tidy passes.
Change-Id: I0986453851da5471056a7b47b8ad57a9801df259 Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
#
ce73d5c8
|
| 07-Apr-2023 |
Sunitha Harish <sunithaharish04@gmail.com> |
Support PATCH on IPv6StaticDefaultGateways
Currently there is no support to setting up the Static Default IPv6 gateway via redfish.
This commit adds IPv6StaticDefaultGateways parameter to the ether
Support PATCH on IPv6StaticDefaultGateways
Currently there is no support to setting up the Static Default IPv6 gateway via redfish.
This commit adds IPv6StaticDefaultGateways parameter to the ethernet interface, on which user can send PATCH request and setup the Static IPv6 gateway for the interface.
Tested:
GET https://${bmc}/redfish/v1/Managers/bmc/EthernetInterfaces/<id> ``` "IPv6StaticDefaultGateways": [ { "Address": "2002:903:15F:325:9:3:29:1", "PrefixLength": 24 }, { "Address": "2002:90:15F:325:9:3:29:1", "PrefixLength": 24 } ], ```
PATCH https://${bmc}/redfish/v1/Managers/bmc/EthernetInterfaces/<id> -d '{"IPv6StaticDefaultGateways": [{"Address": "2002:903:15F:325:9:3:29:1", "PrefixLength": 24}]}'
PATCH https://${bmc}/redfish/v1/Managers/bmc/EthernetInterfaces/<id> -d '{"IPv6StaticDefaultGateways": [{"Address": "2002:903:15F:325:9:3:29:1"}]}'
PATCH https://${bmc}/redfish/v1/Managers/bmc/EthernetInterfaces/<id> -d '{"IPv6StaticDefaultGateways": [{}, {"Address": "2002:903:15F:325:9:3:29:1","PrefixLength": 24}]}'
PATCH https://${bmc}/redfish/v1/Managers/bmc/EthernetInterfaces/<id> -d '{"IPv6StaticDefaultGateways": [null, {}]}'
PATCH https://${bmc}/redfish/v1/Managers/bmc/EthernetInterfaces/<id> -d '{"IPv6StaticDefaultGateways": [{"PrefixLength": 24}]}' --> this will return PropertyMissing error
Redfish validator passed.
Change-Id: If6aaa6981a9272a733594f0ee313873a09f67758 Signed-off-by: Sunitha Harish <sunithaharish04@gmail.com> Signed-off-by: Ravi Teja <raviteja28031990@gmail.com> Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
#
91c441ec
|
| 23-Feb-2024 |
Ravi Teja <raviteja28031990@gmail.com> |
DHCP Conf: Fix UseDomainName configuration
This commit modifies to use DomainEnabled D-bus property
Currently "UseDomainName" configuration is actually not controlling DomainName setting in the bac
DHCP Conf: Fix UseDomainName configuration
This commit modifies to use DomainEnabled D-bus property
Currently "UseDomainName" configuration is actually not controlling DomainName setting in the backend networkd and networkd. Networkd app does not have DomainName D-bus property implemented and wrong D-bus property is being used in the bmcweb.
This fix make sure bmcweb uses DomainEnabled property and controls UseDomainName configuration.
Here is backend networkd fix for DomainEnabled property https://gerrit.openbmc.org/c/openbmc/phosphor-networkd/+/69604
Tested by: Enabled DHCPv4 on one of the interface Enable/Disable UseDomainName Check if DHCP configured domain name configuration on BMC.
Change-Id: I68b86d4107a17db921ec463f5660a58aaa1396e3 Signed-off-by: Ravi Teja <raviteja28031990@gmail.com>
show more ...
|
#
e4588158
|
| 11-May-2023 |
Jishnu CM <jishnunabiarcm@duck.com> |
Configure DHCP4 and DHCP6 parameters independently
At present, DHCP parameters like DNSEnabled, NTPEnabled and HostNameEnabled are at the system level at the network backend. It is common across bot
Configure DHCP4 and DHCP6 parameters independently
At present, DHCP parameters like DNSEnabled, NTPEnabled and HostNameEnabled are at the system level at the network backend. It is common across both IPv4 and IPv6 network types. Thus when a redfish command is sent to enable the DNSEnabled property for IPv4 on eth0 interface, it internally sets the DNSEnabled to true for both IPv4 and IPv6 on eth0 and eth1.
Here the change in parameter value for a non-requested network type in the non-requested interface might be an unexpected behaviour for the user. Also, with the current implementation in bmcweb and networkd, the user has no option to configure DHCP parameters differently for different interfaces and network types though it is supported by the redfish.
With this change, the Redfish query for updating DHCP parameters will only modify the requested parameter for the specified network type and interface. User must make separate requests to modify the DHCP parameters as per the DMTF schema
Current behavior: Request: curl -k -H "X-Auth-Token: $bmc_token" -X PATCH -d '{"DHCPv4":{"UseDNSServers":false}}' https://${bmc}/redfish/v1/Managers/bmc/EthernetInterfaces/eth0
Result: UseDNSServers value is set to false for DHCPv4 and DHCPv6 for all interfaces.
After this commit: Request: curl -k -H "X-Auth-Token: $bmc_token" -X PATCH -d '{"DHCPv4":{"UseDNSServers":false}}' https://${bmc}/redfish/v1/Managers/bmc/EthernetInterfaces/eth0
Result: UseDNSServers value is set to false only for DHCPv4 only in eth0 as mentioned in the redfish request.
The DHCP configuration was in the network manager level earlier, it has been moved to interface level with https://gerrit.openbmc.org/c/openbmc/phosphor-networkd/+/63124. This bmcweb change is to separate out the values for IPv4 and IPv6 and to move the dbus object to the interface level.
Tested by:
Patching the DHCP parameters with redfish request:
curl -k -H "X-Auth-Token: $bmc_token" -X PATCH -d '{"<network_type>":{"<DHCP_param>":<value>}}' https://${bmc}/redfish/v1/Managers/bmc/EthernetInterfaces/<interface_id>
Verify the value is updated in the network configuration.
Retrieve the DHCP parametrer value with the Get Request: curl -k -H "X-Auth-Token: $bmc_token" -X GET https://${bmc}/redfish/v1/Managers/bmc/EthernetInterfaces/<interface_id>
Change-Id: I5db29b6dfc8966ff5af51041da11e5b79da7d1dd Signed-off-by: Jishnu CM <jishnunambiarcm@duck.com>
show more ...
|
#
18f8f608
|
| 18-Jul-2023 |
Ed Tanous <edtanous@google.com> |
Remove some boost includes
The less we rely on boost, and more on std algorithms, the less people have to look up, and the more likely that our code will deduplicate.
Replace all uses of boost::alg
Remove some boost includes
The less we rely on boost, and more on std algorithms, the less people have to look up, and the more likely that our code will deduplicate.
Replace all uses of boost::algorithms with std alternatives.
Tested: Redfish Service Validator passes.
Change-Id: I8a26f39b5709adc444b4178e92f5f3c7b988b05b Signed-off-by: Ed Tanous <edtanous@google.com>
show more ...
|
#
3e7a8da6
|
| 23-Oct-2023 |
Anthony <anthonyhkf@google.com> |
ethernet: change MTU type to size_t
Modify the type to get this working on 64-bit system.
In phosphor-dbus-interfaces, the type is `size`: https://github.com/openbmc/phosphor-dbus-interfaces/blob/8
ethernet: change MTU type to size_t
Modify the type to get this working on 64-bit system.
In phosphor-dbus-interfaces, the type is `size`: https://github.com/openbmc/phosphor-dbus-interfaces/blob/8a2674b/yaml/xyz/openbmc_project/Network/EthernetInterface.interface.yaml#L26
phoshor-networkd has this correct and no other places use. https://github.com/openbmc/phosphor-networkd/blob/6f256bc591bec72dd1448522d941874b21145a81/src/ethernet_interface.hpp#L146
Tested: ``` Before: curl localhost/redfish/v1/Managers/bmc/EthernetInterfaces/eth0 -s | grep MTU "MTUSize": 0, After: curl localhost/redfish/v1/Managers/bmc/EthernetInterfaces/eth0 -s | grep MTU "MTUSize": 1500, ```
Change-Id: If3506c6274d2083b61c5c27cc6d8e178495ccea0 Signed-off-by: Anthony <anthonyhkf@google.com> Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
#
5a39f77a
|
| 20-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: I2f9540cf0d545a2da4d6289fc87b754f684bc9a7 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
6fd29553
|
| 04-Oct-2023 |
Ed Tanous <edtanous@google.com> |
Update to boost 1.83.0
In boost 1.83.0, the boost::url maintainers deprecated the header only usage of the library without warning. A discussion with the maintainers[1] made it clear that they remo
Update to boost 1.83.0
In boost 1.83.0, the boost::url maintainers deprecated the header only usage of the library without warning. A discussion with the maintainers[1] made it clear that they removed the abiliy on purpose, and they're not going to add it back or add a deprecation strategy (they did say they would update the documentation to actually match the intent), and that from here on in we should be using the cmake boost project to pull in the non-header-only boost libraries we use (which at this point is ONLY boost url).
This commit updates to remove the usage of boost::urls::result typedef, which was deprecated in this release (which causes a compile error) and moves it to boost::system::result.
In addition, it updates our meson files to pull in the boost project as a cmake dependency.
[1] https://cpplang.slack.com/archives/C01JR6C9C4U/p1696441238739129
Tested: Not yet.
Change-Id: Ia7adfc0348588915440687c3ab83a1de3e6b845a Signed-off-by: Ed Tanous <edtanous@google.com>
show more ...
|
#
77eb0153
|
| 06-Sep-2023 |
Ed Tanous <edtanous@google.com> |
Fix regression in ip address delete
9c5e585c3faa73941cedcc70cdff680f403c17bc flipped around two parameters as part of a bug fix. This fixes #263.
Tested: Inspection only.
Change-Id: I2c8dea2e947f
Fix regression in ip address delete
9c5e585c3faa73941cedcc70cdff680f403c17bc flipped around two parameters as part of a bug fix. This fixes #263.
Tested: Inspection only.
Change-Id: I2c8dea2e947fd34784475c0eb0144baa3b68dcb5 Signed-off-by: Ed Tanous <edtanous@google.com>
show more ...
|
#
3544d2a7
|
| 06-Aug-2023 |
Ed Tanous <edtanous@google.com> |
Use ranges
C++20 brought us std::ranges for a lot of algorithms. Most of these conversions were done using comby, similar to:
``` comby -verbose 'std::lower_bound(:[a].begin(),:[b].end(),:[c])' 's
Use ranges
C++20 brought us std::ranges for a lot of algorithms. Most of these conversions were done using comby, similar to:
``` comby -verbose 'std::lower_bound(:[a].begin(),:[b].end(),:[c])' 'std::ranges::lower_bound(:[a], :[c])' $(git ls-files | grep "\.[hc]\(pp\)\?$") -in-place ```
Change-Id: I0c99c04e9368312555c08147d474ca93a5959e8d Signed-off-by: Ed Tanous <edtanous@google.com>
show more ...
|
#
e01d0c36
|
| 30-Jun-2023 |
Ed Tanous <edtanous@google.com> |
Fix bugprone-unchecked-optional-access findings
Clang-tidy has the aforementioned check, which shows a few places in the core where we ignored the required optional checks. Fix all uses. Note, we c
Fix bugprone-unchecked-optional-access findings
Clang-tidy has the aforementioned check, which shows a few places in the core where we ignored the required optional checks. Fix all uses. Note, we cannot enable the check that this time because of some weird code in health.hpp that crashes tidy[1]. That will need to be a future improvement.
There are tests that call something like ASSERT(optional) EXPECT(optional->foo())
While this isn't an actual violation, clang-tidy doesn't seem to be smart enough to deal with it, so add some explicit checks.
[1] https://github.com/llvm/llvm-project/issues/55530
Tested: Redfish service validator passes.
Change-Id: Ied579cd0b957efc81aff5d5d1091a740a7a2d7e3 Signed-off-by: Ed Tanous <edtanous@google.com>
show more ...
|
#
b10d8db0
|
| 24-May-2022 |
Ravi Teja <raviteja28031990@gmail.com> |
Add IPv6 StatelessAddressAutoConfiguration
This commit has following changes 1.Adds "StatelessAddressAutoConfig" support as per latest EthernetInterface schema. 2.Remove support for deprecated State
Add IPv6 StatelessAddressAutoConfiguration
This commit has following changes 1.Adds "StatelessAddressAutoConfig" support as per latest EthernetInterface schema. 2.Remove support for deprecated Stateful and Stateless enums of DHCPv6 "OperatingMode"
Tested by: ``` GET PATCH -d '{"StatelessAddressAutoConfig": {"IPv6AutoConfigEnabled": true}}' PATCH -d '{"StatelessAddressAutoConfig": { "IPv6AutoConfigEnabled": false}}' PATCH -d '{"DHCPv6" : {"OperatingMode":"Enabled"}}' PATCH -d '{"DHCPv6" : {"OperatingMode":"Disabled"}}' ``` Redfish Validator passed
Change-Id: I29d471750ef513074bc5e49c31a16fa15d3d760c Signed-off-by: Ravi Teja <raviteja28031990@gmail.com>
show more ...
|
#
62598e31
|
| 17-Jul-2023 |
Ed Tanous <ed@tanous.net> |
Replace logging with std::format
std::format is a much more modern logging solution, and gives us a lot more flexibility, and better compile times when doing logging.
Unfortunately, given its level
Replace logging with std::format
std::format is a much more modern logging solution, and gives us a lot more flexibility, and better compile times when doing logging.
Unfortunately, given its level of compile time checks, it needs to be a method, instead of the stream style logging we had before. This requires a pretty substantial change. Fortunately, this change can be largely automated, via the script included in this commit under scripts/replace_logs.py. This is to aid people in moving their patchsets over to the new form in the short period where old patches will be based on the old logging. The intention is that this script eventually goes away.
The old style logging (stream based) looked like.
BMCWEB_LOG_DEBUG << "Foo " << foo;
The new equivalent of the above would be: BMCWEB_LOG_DEBUG("Foo {}", foo);
In the course of doing this, this also cleans up several ignored linter errors, including macro usage, and array to pointer deconstruction.
Note, This patchset does remove the timestamp from the log message. In practice, this was duplicated between journald and bmcweb, and there's no need for both to exist.
One design decision of note is the addition of logPtr. Because the compiler can't disambiguate between const char* and const MyThing*, it's necessary to add an explicit cast to void*. This is identical to how fmt handled it.
Tested: compiled with logging meson_option enabled, and launched bmcweb
Saw the usual logging, similar to what was present before: ``` [Error include/webassets.hpp:60] Unable to find or open /usr/share/www/ static file hosting disabled [Debug include/persistent_data.hpp:133] Restored Session Timeout: 1800 [Debug redfish-core/include/event_service_manager.hpp:671] Old eventService config not exist [Info src/webserver_main.cpp:59] Starting webserver on port 18080 [Error redfish-core/include/event_service_manager.hpp:1301] inotify_add_watch failed for redfish log file. [Info src/webserver_main.cpp:137] Start Hostname Monitor Service... ``` Signed-off-by: Ed Tanous <ed@tanous.net>
Change-Id: I86a46aa2454be7fe80df608cb7e5573ca4029ec8
show more ...
|
#
fc23ef8a
|
| 29-Jun-2023 |
Nitin Kumar Kotania <gitnkotania@gmail.com> |
Static IPv6 config: Send relevant error on patch.
This commit will send back relevant redfish error back if the client tries to configure the IPv6 static ip with invalid IPv6 address.
Tested By:
P
Static IPv6 config: Send relevant error on patch.
This commit will send back relevant redfish error back if the client tries to configure the IPv6 static ip with invalid IPv6 address.
Tested By:
PATCH -D patch.txt -d '{"IPv6StaticAddresses": [{"Address": "1A:1B:1C:1D:10.5.5.6","PrefixLength": 64}]}' https://${bmc}/redfish/v1/Systems/hypervisor/EthernetInterfaces/eth1
Current behaviour:
response: 500 Internal Server Error The request failed due to an internal service error
Modified behaviour:
response: 400 Bad Request The value '1A:1B:1C:1D:10.5.5.6' for the property Address is of a different format than the property can accept.
Change-Id: Ibbd6b82acea51fb16785ffbfaca9ae43956c7cb6 Signed-off-by: Nitin Kumar Kotania <gitnkotania@gmail.com>
show more ...
|
#
8b24275d
|
| 27-Jun-2023 |
Ed Tanous <edtanous@google.com> |
Rename all error_code instances to ec
We're not consistent here, which leads to people copying and pasting code all over, which has lead to a bunch of different names for error codes.
This commit c
Rename all error_code instances to ec
We're not consistent here, which leads to people copying and pasting code all over, which has lead to a bunch of different names for error codes.
This commit changes to coerce them all to "ec", because that's what boost uses for a naming convention.
Tested: Rename only, code compiles.
Change-Id: I7053cc738faa9f7a82f55fc46fc78618bdf702a5 Signed-off-by: Ed Tanous <edtanous@google.com>
show more ...
|
#
9ae226fa
|
| 21-Jun-2023 |
George Liu <liuxiwei@inspur.com> |
Refactor setProperty method
SetProperty is a method we should use more, and use consistently in the codebase, this commit makes it consistently used from the utility namespace.
Tested: Refactor. C
Refactor setProperty method
SetProperty is a method we should use more, and use consistently in the codebase, this commit makes it consistently used from the utility namespace.
Tested: Refactor. Code compiles.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I5939317d23483e16bd98a8298f53e75604ef374d
show more ...
|
#
f818b04d
|
| 27-Jun-2022 |
Ed Tanous <edtanous@google.com> |
Make propertyValueFormatError more typesafe
Similar to other patches, make propertyValueFormatError accept a nlohmann::json object, which removes a lot of the unsafe dump code that we have littered
Make propertyValueFormatError more typesafe
Similar to other patches, make propertyValueFormatError accept a nlohmann::json object, which removes a lot of the unsafe dump code that we have littered about.
Tested: No easy to replicate error. Code is identical to previous patchsets. Inspection and code compilation only.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: Ic9d0f196b6e198073189f744b738db7ffa2f1b74
show more ...
|
#
2e8c4bda
|
| 27-Jun-2022 |
Ed Tanous <edtanous@google.com> |
Make propertyValueTypeError more typesafe
Similar to the prior patchset in this series, propertyValueTypeError can be moved to safer constructs. This ensures that we are minimizing how many places
Make propertyValueTypeError more typesafe
Similar to the prior patchset in this series, propertyValueTypeError can be moved to safer constructs. This ensures that we are minimizing how many places we are calling dump() from, and allows us to reduce the amount of code written for error handling.
Tested: PATCH /redfish/v1/SessionService {"SessionTimeout": "foo"}
Returns PropertyValueTypeError in the same behavior as prior to this patch.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: Iddff4b787f35c49bf923663d61bba156687f358c
show more ...
|
#
b5ca3fdc
|
| 08-Mar-2023 |
Jiaqing Zhao <jiaqing.zhao@intel.com> |
POST EthernetInterfaceCollection for VLAN
With EthernetInterface 1.9.0, creation of VLAN interface is done by POST EthernetInterfaceCollection. This patch implements the POST handler to do so.
Test
POST EthernetInterfaceCollection for VLAN
With EthernetInterface 1.9.0, creation of VLAN interface is done by POST EthernetInterfaceCollection. This patch implements the POST handler to do so.
Tested: * With valid RelatedInterfaces and VLANId provided, new VLAN interface is successfully created. * Creating VLAN over another VLAN or non-existent interface returns error. * Creating an existing VLAN returns ResourceAlreadyExists error. * Invalid RelatedInterfaces links are rejected.
Change-Id: I6b1064193eccf7ec487b43139a73d9932b6eea84 Signed-off-by: Jiaqing Zhao <jiaqing.zhao@intel.com> Signed-off-by: Ed Tanous <edtanous@google.com>
show more ...
|
#
e7caf250
|
| 08-Mar-2023 |
Jiaqing Zhao <jiaqing.zhao@intel.com> |
Implement DELETE EthernetInterface for VLAN
After using EthernetInterface to represent a VLAN interface, DELETE handler is required for deleting VLAN interfaces.
Tested: * VLAN interfaces can be de
Implement DELETE EthernetInterface for VLAN
After using EthernetInterface to represent a VLAN interface, DELETE handler is required for deleting VLAN interfaces.
Tested: * VLAN interfaces can be deleted successfully via DELETE request. * Deleting a physical interface returns ResourceCannotBeDeleted error. * Deleting a non-existent interface returns ResourceNotFound error.
Change-Id: Ib22063eb3ddea0614c390ba83d4e6af29d007165 Signed-off-by: Jiaqing Zhao <jiaqing.zhao@intel.com> Signed-off-by: Ed Tanous <edtanous@google.com>
show more ...
|
#
7857cb8d
|
| 02-Mar-2023 |
Jiaqing Zhao <jiaqing.zhao@intel.com> |
Expose VLAN interfaces as EthernetInterface
In OpenBMC, VLAN is a virtual interface that has its own configuration like IP address. Redfish schema 2021.2+ also suggests using individual EthernetInte
Expose VLAN interfaces as EthernetInterface
In OpenBMC, VLAN is a virtual interface that has its own configuration like IP address. Redfish schema 2021.2+ also suggests using individual EthernetInterface to show VLAN information. This patch exposes VLAN interfaces as EthernetInterface for configuring them.
Now bmcweb also shows BMC VLAN interfaces under /redfish/v1/Managers /bmc/EthernetInterfaces.
Fixes bmcweb issue #79 (Unable configure IP on VLAN interface via redfish).
Tested: * Both physical and VLAN interfaces are now in the interface collection * Only VLAN interfaces have the VLAN property and RelatedInterfaces property pointing to its parent interface * IP address of both physical and VLAN interfaces can be modified by PATCH request successfully * Redfish validator passed
Change-Id: I608892275cfbef4af8e7a03a10d67a9c2fa3ff53 Signed-off-by: Jiaqing Zhao <jiaqing.zhao@intel.com> Signed-off-by: Ed Tanous <edtanous@google.com>
show more ...
|
#
93bbc953
|
| 23-Feb-2023 |
Jiaqing Zhao <jiaqing.zhao@intel.com> |
ethernet: Bump EthernetInterface schema 1.6.0 -> 1.9.0
After removing all usages of VLanNetworkInterface that deprecated in EthernetInterface 1.7.0, time to bump it to 1.9.0 for implementing the new
ethernet: Bump EthernetInterface schema 1.6.0 -> 1.9.0
After removing all usages of VLanNetworkInterface that deprecated in EthernetInterface 1.7.0, time to bump it to 1.9.0 for implementing the new API design.
Tested: Redfish validator passed.
Change-Id: Ia89d56a1325918c23ce54c9b8c0dde4342e32764 Signed-off-by: Jiaqing Zhao <jiaqing.zhao@intel.com>
show more ...
|