History log of /openbmc/bmcweb/features/redfish/lib/ethernet.hpp (Results 26 – 50 of 207)
Revision Date Author Comments
# 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 ...


123456789