From: "Leif Lindholm" <quic_llindhol@quicinc.com>
To: <devel@edk2.groups.io>, <gaoliming@byosoft.com.cn>,
<nicklew@nvidia.com>,
"'Kinney, Michael D'" <michael.d.kinney@intel.com>,
'Andrew Fish' <afish@apple.com>
Cc: 'Igor Kulchytskyy' <igork@ami.com>,
"'Chang, Abner'" <abner.chang@amd.com>
Subject: Re: [edk2-devel] 回复: [edk2-stable202311] [PATCH v3] RedfishPkg: RedfishDiscoverDxe: Fix issue if IPv4 installed after RestEx
Date: Thu, 9 Nov 2023 14:48:20 +0000 [thread overview]
Message-ID: <d5a05692-3b21-4d30-8e66-89fa14b4c87d@quicinc.com> (raw)
In-Reply-To: <011b01da1313$a157c080$e4074180$@byosoft.com.cn>
(You have my old now-dysfunctional @nuviainc.com email address on cc,
please delete that one if you can.)
I think it's fine to merge this bugfix, but I have a couple of review
comments I will make on the v3 code itself, replying to that submission.
(I am however not the maintainer of RedFishPkg, so Nickle is free to
ignore me and push this version.)
/
Leif
On 2023-11-09 13:49, gaoliming via groups.io wrote:
> Nickle:
>
> This is a bug fix. Its impact is only in RedfishDiscoverDxe. I think
> it can be merged for this stable tag.
>
> Thanks
>
> Liming
>
> *发件人:*devel@edk2.groups.io <devel@edk2.groups.io> *代表 *Nickle Wang
> via groups.io
> *发送时间:*2023年11月8日10:44
> *收件人:*Liming Gao <gaoliming@byosoft.com.cn>; Kinney, Michael D
> <michael.d.kinney@intel.com>; devel@edk2.groups.io
> *抄送:*Igor Kulchytskyy <igork@ami.com>; Chang, Abner <abner.chang@amd.com>
> *主题:*Re: [edk2-devel] [PATCH v3] RedfishPkg: RedfishDiscoverDxe: Fix
> issue if IPv4 installed after RestEx
>
> Hi @Liming Gao <mailto:gaoliming@byosoft.com.cn>, @Kinney, Michael D
> <mailto:michael.d.kinney@intel.com>
>
>> If the patch is sent before Soft Feature Freeze, and plans to catch this stable tag, the patch contributor need reply to his patch and notify edk2 community
>
> We would like to include this fix to edk2-stable202311 release. Could
> you please help us to merge this patch? This patch review was started on
> November 1: https://edk2.groups.io/g/devel/message/110440
> <https://edk2.groups.io/g/devel/message/110440>. Anber and I gave
> reviewed-by to this patch today. We have a pull request ready for
> merging here: https://github.com/tianocore/edk2/pull/4994
> <https://github.com/tianocore/edk2/pull/4994>
>
> Thanks,
>
> Nickle
>
>> -----Original Message-----
>
>> From: devel@edk2.groups.io <mailto:devel@edk2.groups.io> <devel@edk2.groups.io
> <mailto:devel@edk2.groups.io>> On Behalf Of Chang, Abner
>
>> via groups.io
>
>> Sent: Wednesday, November 8, 2023 8:14 AM
>
>> To: Igor Kulchytskyy <igork@ami.com <mailto:igork@ami.com>>; devel@edk2.groups.io
> <mailto:devel@edk2.groups.io>
>
>> Cc: Nickle Wang <nicklew@nvidia.com <mailto:nicklew@nvidia.com>>
>
>> Subject: Re: [edk2-devel] [PATCH v3] RedfishPkg: RedfishDiscoverDxe: Fix issue if
>
>> IPv4 installed after RestEx
>
>>
>
>> External email: Use caution opening links or attachments
>
>>
>
>>
>
>> [AMD Official Use Only - General]
>
>>
>
>> Reviewed-by: Abner Chang <abner.chang@amd.com <mailto:abner.chang@amd.com>>
>
>>
>
>> > -----Original Message-----
>
>> > From: Igor Kulchytskyy <igork@ami.com <mailto:igork@ami.com>>
>
>> > Sent: Tuesday, November 7, 2023 8:06 PM
>
>> > To: devel@edk2.groups.io <mailto:devel@edk2.groups.io>
>
>> > Cc: Chang, Abner <Abner.Chang@amd.com <mailto:Abner.Chang@amd.com>>; Nickle Wang
>
>> > <nicklew@nvidia.com <mailto:nicklew@nvidia.com>>
>
>> > Subject: [PATCH v3] RedfishPkg: RedfishDiscoverDxe: Fix issue if IPv4
>
>> > installed after RestEx
>
>> >
>
>> > Caution: This message originated from an External Source. Use proper
>
>> > caution when opening attachments, clicking links, or responding.
>
>> >
>
>> >
>
>> > Supported function of the driver changed to wait for all newtwork
>
>> > interface to be installed.
>
>> > Filer out the network interfaces which are not supported by Redfish
>
>> > Host Interface.
>
>> >
>
>> > Cc: Abner Chang <abner.chang@amd.com <mailto:abner.chang@amd.com>>
>
>> > Cc: Nickle Wang <nicklew@nvidia.com <mailto:nicklew@nvidia.com>>
>
>> > Signed-off-by: Igor Kulchytskyy <igork@ami.com <mailto:igork@ami.com>>
>
>> > ---
>
>> > RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c | 165
>
>> > ++++++++++++++------
>
>> > 1 file changed, 117 insertions(+), 48 deletions(-)
>
>> >
>
>> > diff --git a/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c
>
>> > b/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c
>
>> > index 23da3b968f..85e47843e4 100644
>
>> > --- a/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c
>
>> > +++ b/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c
>
>> > @@ -322,9 +322,16 @@ GetTargetNetworkInterfaceInternal ( {
>
>> > EFI_REDFISH_DISCOVER_NETWORK_INTERFACE_INTERNAL
>
>> > *ThisNetworkInterface;
>
>> >
>
>> > + if (IsListEmpty (&mEfiRedfishDiscoverNetworkInterface)) {
>
>> > + return NULL;
>
>> > + }
>
>> > +
>
>> > ThisNetworkInterface =
>
>> > (EFI_REDFISH_DISCOVER_NETWORK_INTERFACE_INTERNAL *)GetFirstNode
>
>> > (&mEfiRedfishDiscoverNetworkInterface);
>
>> > while (TRUE) {
>
>> > - if (CompareMem ((VOID *)&ThisNetworkInterface->MacAddress,
>
>> > &TargetNetworkInterface->MacAddress, ThisNetworkInterface-
>
>> > >HwAddressSize) == 0) {
>
>> > + if ((CompareMem ((VOID *)&ThisNetworkInterface->MacAddress,
>
>> > &TargetNetworkInterface->MacAddress, ThisNetworkInterface-
>
>> > >HwAddressSize) == 0) &&
>
>> > + ((TargetNetworkInterface->IsIpv6 && (ThisNetworkInterface-
>
>> > >NetworkProtocolType == ProtocolTypeTcp6)) ||
>
>> > + (!TargetNetworkInterface->IsIpv6 && (ThisNetworkInterface-
>
>> > >NetworkProtocolType == ProtocolTypeTcp4))))
>
>> > + {
>
>> > return ThisNetworkInterface;
>
>> > }
>
>> >
>
>> > @@ -354,6 +361,10 @@ GetTargetNetworkInterfaceInternalByController (
>
>> > {
>
>> > EFI_REDFISH_DISCOVER_NETWORK_INTERFACE_INTERNAL
>
>> > *ThisNetworkInterface;
>
>> >
>
>> > + if (IsListEmpty (&mEfiRedfishDiscoverNetworkInterface)) {
>
>> > + return NULL;
>
>> > + }
>
>> > +
>
>> > ThisNetworkInterface =
>
>> > (EFI_REDFISH_DISCOVER_NETWORK_INTERFACE_INTERNAL *)GetFirstNode
>
>> > (&mEfiRedfishDiscoverNetworkInterface);
>
>> > while (TRUE) {
>
>> > if (ThisNetworkInterface->OpenDriverControllerHandle ==
>
>> > ControllerHandle) {
>
>> > @@ -476,6 +487,42 @@ CheckIsIpVersion6 (
>
>> > return FALSE;
>
>> > }
>
>> >
>
>> > +/**
>
>> > + This function returns the IP type supported by the Host Interface.
>
>> > +
>
>> > + @retval 00h is Unknown
>
>> > + 01h is Ipv4
>
>> > + 02h is Ipv6
>
>> > +
>
>> > +**/
>
>> > +UINT8
>
>> > +GetHiIpProtocolType (
>
>> > + VOID
>
>> > + )
>
>> > +{
>
>> > + EFI_STATUS Status;
>
>> > + REDFISH_OVER_IP_PROTOCOL_DATA *Data;
>
>> > + REDFISH_INTERFACE_DATA *DeviceDescriptor;
>
>> > +
>
>> > + Data = NULL;
>
>> > + DeviceDescriptor = NULL;
>
>> > + if (mSmbios == NULL) {
>
>> > + Status = gBS->LocateProtocol (&gEfiSmbiosProtocolGuid, NULL,
>
>> > + (VOID
>
>> > **)&mSmbios);
>
>> > + if (EFI_ERROR (Status)) {
>
>> > + return
>
>> > REDFISH_HOST_INTERFACE_HOST_IP_ADDRESS_FORMAT_UNKNOWN;
>
>> > + }
>
>> > + }
>
>> > +
>
>> > + Status = RedfishGetHostInterfaceProtocolData (mSmbios,
>
>> > &DeviceDescriptor, &Data); // Search for SMBIOS type 42h
>
>> > + if (!EFI_ERROR (Status) && (Data != NULL) &&
>
>> > + (Data->HostIpAssignmentType == RedfishHostIpAssignmentStatic))
>
>> > + {
>
>> > + return Data->HostIpAddressFormat; }
>
>> > +
>
>> > + return
>
>> > REDFISH_HOST_INTERFACE_HOST_IP_ADDRESS_FORMAT_UNKNOWN;
>
>> > +}
>
>> > +
>
>> > /**
>
>> > This function discover Redfish service through SMBIOS host interface.
>
>> >
>
>> > @@ -512,6 +559,18 @@ DiscoverRedfishHostInterface (
>
>> >
>
>> > Status = RedfishGetHostInterfaceProtocolData (mSmbios,
>
>> > &DeviceDescriptor, &Data); // Search for SMBIOS type 42h
>
>> > if (!EFI_ERROR (Status) && (Data != NULL) && (DeviceDescriptor !=
>
>> > NULL)) {
>
>> > + if ((Instance->NetworkInterface->NetworkProtocolType ==
>
>> > ProtocolTypeTcp4) &&
>
>> > + (Data->HostIpAddressFormat !=
>
>> > REDFISH_HOST_INTERFACE_HOST_IP_ADDRESS_FORMAT_IP4)) // IPv4 case
>
>> > + {
>
>> > + DEBUG ((DEBUG_ERROR, "%a: Network Interface is IPv4, but Host
>
>> > Interface requires Ipv6\n", __func__));
>
>> > + return EFI_UNSUPPORTED;
>
>> > + } else if ((Instance->NetworkInterface->NetworkProtocolType ==
>
>> > ProtocolTypeTcp6) &&
>
>> > + (Data->HostIpAddressFormat !=
>
>> > REDFISH_HOST_INTERFACE_HOST_IP_ADDRESS_FORMAT_IP6)) // IPv6 case
>
>> > + {
>
>> > + DEBUG ((DEBUG_ERROR, "%a: Network Interface is IPv6, but Host
>
>> > Interface requires IPv4\n", __func__));
>
>> > + return EFI_UNSUPPORTED;
>
>> > + }
>
>> > +
>
>> > //
>
>> > // Check if we can reach out Redfish service using this network interface.
>
>> > // Check with MAC address using Device Descriptor Data Device
>
>> > Type 04 and Type 05.
>
>> > @@ -1102,6 +1161,7 @@ RedfishServiceGetNetworkInterface (
>
>> > OUT EFI_REDFISH_DISCOVER_NETWORK_INTERFACE
>
>> > **NetworkIntfInstances
>
>> > )
>
>> > {
>
>> > + EFI_STATUS Status;
>
>> > EFI_REDFISH_DISCOVER_NETWORK_INTERFACE_INTERNAL
>
>> > *ThisNetworkInterfaceIntn;
>
>> > EFI_REDFISH_DISCOVER_NETWORK_INTERFACE
>
>> > *ThisNetworkInterface;
>
>> > EFI_REDFISH_DISCOVER_REST_EX_INSTANCE_INTERNAL *RestExInstance;
>
>> > @@ -1141,13 +1201,23 @@ RedfishServiceGetNetworkInterface (
>
>> >
>
>> > ThisNetworkInterfaceIntn =
>
>> > (EFI_REDFISH_DISCOVER_NETWORK_INTERFACE_INTERNAL *)GetFirstNode
>
>> > (&mEfiRedfishDiscoverNetworkInterface);
>
>> > while (TRUE) {
>
>> > + // If Get Subnet Info failed then skip this interface
>
>> > + Status = NetworkInterfaceGetSubnetInfo (ThisNetworkInterfaceIntn,
>
>> > ImageHandle); // Get subnet info
>
>> > + if (EFI_ERROR (Status)) {
>
>> > + if (IsNodeAtEnd (&mEfiRedfishDiscoverNetworkInterface,
>
>> > &ThisNetworkInterfaceIntn->Entry)) {
>
>> > + break;
>
>> > + }
>
>> > +
>
>> > + ThisNetworkInterfaceIntn =
>
>> > (EFI_REDFISH_DISCOVER_NETWORK_INTERFACE_INTERNAL *)GetNextNode
>
>> > (&mEfiRedfishDiscoverNetworkInterface,
>
>> > &ThisNetworkInterfaceIntn->Entry);
>
>> > + continue;
>
>> > + }
>
>> > +
>
>> > ThisNetworkInterface->IsIpv6 = FALSE;
>
>> > if (CheckIsIpVersion6 (ThisNetworkInterfaceIntn)) {
>
>> > ThisNetworkInterface->IsIpv6 = TRUE;
>
>> > }
>
>> >
>
>> > CopyMem ((VOID *)&ThisNetworkInterface->MacAddress,
>
>> > &ThisNetworkInterfaceIntn->MacAddress, ThisNetworkInterfaceIntn-
>
>> > >HwAddressSize);
>
>> > - NetworkInterfaceGetSubnetInfo (ThisNetworkInterfaceIntn, ImageHandle);
>
>> > // Get subnet info.
>
>> > if (!ThisNetworkInterface->IsIpv6) {
>
>> > IP4_COPY_ADDRESS (&ThisNetworkInterface->SubnetId.v4,
>
>> > &ThisNetworkInterfaceIntn->SubnetAddr.v4); // IPv4 subnet information.
>
>> > } else {
>
>> > @@ -1230,7 +1300,12 @@ RedfishServiceAcquireService (
>
>> >
>
>> > if (TargetNetworkInterface != NULL) {
>
>> > TargetNetworkInterfaceInternal =
>
>> > GetTargetNetworkInterfaceInternal (TargetNetworkInterface);
>
>> > - NumNetworkInterfaces = 1;
>
>> > + if (TargetNetworkInterfaceInternal == NULL) {
>
>> > + DEBUG ((DEBUG_ERROR, "%a:No network interface on platform.\n",
>
>> > __func__));
>
>> > + return EFI_UNSUPPORTED;
>
>> > + }
>
>> > +
>
>> > + NumNetworkInterfaces = 1;
>
>> > } else {
>
>> > TargetNetworkInterfaceInternal =
>
>> > (EFI_REDFISH_DISCOVER_NETWORK_INTERFACE_INTERNAL *)GetFirstNode
>
>> > (&mEfiRedfishDiscoverNetworkInterface);
>
>> > NumNetworkInterfaces = NumberOfNetworkInterface ();
>
>> > @@ -1260,7 +1335,13 @@ RedfishServiceAcquireService (
>
>> > // Get subnet information in case subnet information is not set because
>
>> > // RedfishServiceGetNetworkInterfaces hasn't been called yet.
>
>> > //
>
>> > - NetworkInterfaceGetSubnetInfo (TargetNetworkInterfaceInternal,
>
>> > ImageHandle);
>
>> > + Status1 = NetworkInterfaceGetSubnetInfo
>
>> > (TargetNetworkInterfaceInternal, ImageHandle);
>
>> > + if (EFI_ERROR (Status1)) {
>
>> > + DEBUG ((DEBUG_ERROR, "%a: Get subnet information fail.\n",
>
>> > __func__));
>
>> > + FreePool (Instance);
>
>> > + continue;
>
>> > + }
>
>> > +
>
>> > NewInstance = TRUE;
>
>> > }
>
>> >
>
>> > @@ -1547,25 +1628,26 @@ TestForRequiredProtocols (
>
>> > ControllerHandle,
>
>> > EFI_OPEN_PROTOCOL_TEST_PROTOCOL
>
>> > );
>
>> > + if (EFI_ERROR (Status)) {
>
>> > + return EFI_UNSUPPORTED;
>
>> > + }
>
>> > +
>
>> > + Status = gBS->OpenProtocol (
>
>> > + ControllerHandle,
>
>> > + gRequiredProtocol[Index].DiscoveredProtocolGuid,
>
>> > + (VOID **)&Id,
>
>> > + This->DriverBindingHandle,
>
>> > + ControllerHandle,
>
>> > + EFI_OPEN_PROTOCOL_GET_PROTOCOL
>
>> > + );
>
>> > if (!EFI_ERROR (Status)) {
>
>> > - Status = gBS->OpenProtocol (
>
>> > - ControllerHandle,
>
>> > - gRequiredProtocol[Index].DiscoveredProtocolGuid,
>
>> > - (VOID **)&Id,
>
>> > - This->DriverBindingHandle,
>
>> > - ControllerHandle,
>
>> > - EFI_OPEN_PROTOCOL_GET_PROTOCOL
>
>> > - );
>
>> > - if (EFI_ERROR (Status)) {
>
>> > - if (Index == ListCount - 1) {
>
>> > - DEBUG ((DEBUG_INFO, "%a: all required protocols are found on this
>
>> > controller handle: %p.\n", __func__, ControllerHandle));
>
>> > - return EFI_SUCCESS;
>
>> > - }
>
>> > - }
>
>> > + // Already installed
>
>> > + return EFI_UNSUPPORTED;
>
>> > }
>
>> > }
>
>> >
>
>> > - return EFI_UNSUPPORTED;
>
>> > + DEBUG ((DEBUG_MANAGEABILITY, "%a: all required protocols are found
>
>> > + on
>
>> > this controller handle: %p.\n", __func__, ControllerHandle));
>
>> > + return EFI_SUCCESS;
>
>> > }
>
>> >
>
>> > /**
>
>> > @@ -1600,10 +1682,24 @@ BuildupNetworkInterface (
>
>> > EFI_REDFISH_DISCOVER_REST_EX_INSTANCE_INTERNAL *RestExInstance;
>
>> > EFI_TPL OldTpl;
>
>> > BOOLEAN NewNetworkInterfaceInstalled;
>
>> > + UINT8 IpType;
>
>> > + UINTN ListCount;
>
>> >
>
>> > + ListCount = (sizeof (gRequiredProtocol) / sizeof
>
>> > (REDFISH_DISCOVER_REQUIRED_PROTOCOL));
>
>> > NewNetworkInterfaceInstalled = FALSE;
>
>> > Index = 0;
>
>> > - do {
>
>> > +
>
>> > + // Get IP Type to filter out unnecessary network protocol if
>
>> > + possible IpType = GetHiIpProtocolType ();
>
>> > +
>
>> > + for (Index = 0; Index < ListCount; Index++) {
>
>> > + // Check IP Type and skip an unnecessary network protocol if does
>
>> > + not
>
>> > match
>
>> > + if (((gRequiredProtocol[Index].ProtocolType == ProtocolTypeTcp4)
>
>> > + &&
>
>> > (IpType == REDFISH_HOST_INTERFACE_HOST_IP_ADDRESS_FORMAT_IP6)) ||
>
>> > + ((gRequiredProtocol[Index].ProtocolType == ProtocolTypeTcp6)
>
>> > + &&
>
>> > (IpType == REDFISH_HOST_INTERFACE_HOST_IP_ADDRESS_FORMAT_IP4)))
>
>> > + {
>
>> > + continue;
>
>> > + }
>
>> > +
>
>> > Status = gBS->OpenProtocol (
>
>> > // Already in list?
>
>> > ControllerHandle, @@ -1614,11 +1710,6 @@
>
>> > BuildupNetworkInterface (
>
>> > EFI_OPEN_PROTOCOL_GET_PROTOCOL
>
>> > );
>
>> > if (!EFI_ERROR (Status)) {
>
>> > - Index++;
>
>> > - if (Index == (sizeof (gRequiredProtocol) / sizeof
>
>> > (REDFISH_DISCOVER_REQUIRED_PROTOCOL))) {
>
>> > - break;
>
>> > - }
>
>> > -
>
>> > continue;
>
>> > }
>
>> >
>
>> > @@ -1631,11 +1722,6 @@ BuildupNetworkInterface (
>
>> > EFI_OPEN_PROTOCOL_GET_PROTOCOL
>
>> > );
>
>> > if (EFI_ERROR (Status)) {
>
>> > - Index++;
>
>> > - if (Index == (sizeof (gRequiredProtocol) / sizeof
>
>> > (REDFISH_DISCOVER_REQUIRED_PROTOCOL))) {
>
>> > - break;
>
>> > - }
>
>> > -
>
>> > continue;
>
>> > }
>
>> >
>
>> > @@ -1694,11 +1780,6 @@ BuildupNetworkInterface (
>
>> > ProtocolDiscoverIdPtr
>
>> > );
>
>> > if (EFI_ERROR (Status)) {
>
>> > - Index++;
>
>> > - if (Index == (sizeof (gRequiredProtocol) / sizeof
>
>> > (REDFISH_DISCOVER_REQUIRED_PROTOCOL))) {
>
>> > - break;
>
>> > - }
>
>> > -
>
>> > continue;
>
>> > }
>
>> >
>
>> > @@ -1755,25 +1836,13 @@ BuildupNetworkInterface (
>
>> > }
>
>> > } else {
>
>> > DEBUG ((DEBUG_MANAGEABILITY, "%a: Not REST EX, continue
>
>> > with next\n", __func__));
>
>> > - Index++;
>
>> > - if (Index == (sizeof (gRequiredProtocol) / sizeof
>
>> > (REDFISH_DISCOVER_REQUIRED_PROTOCOL))) {
>
>> > - break;
>
>> > - }
>
>> > -
>
>> > continue;
>
>> > }
>
>> > }
>
>> >
>
>> > return Status;
>
>> > - } else {
>
>> > - Index++;
>
>> > - if (Index == (sizeof (gRequiredProtocol) / sizeof
>
>> > (REDFISH_DISCOVER_REQUIRED_PROTOCOL))) {
>
>> > - break;
>
>> > - }
>
>> > -
>
>> > - continue;
>
>> > }
>
>> > - } while (Index < (sizeof (gRequiredProtocol) / sizeof
>
>> > (REDFISH_DISCOVER_REQUIRED_PROTOCOL)));
>
>> > + }
>
>> >
>
>> > return EFI_DEVICE_ERROR;
>
>> > }
>
>> > --
>
>> > 2.37.1.windows.1
>
>> > -The information contained in this message may be confidential and
>
>> > proprietary to American Megatrends (AMI). This communication is
>
>> > intended to be read only by the individual or entity to whom it is
>
>> > addressed or by their designee. If the reader of this message is not
>
>> > the intended recipient, you are on notice that any distribution of
>
>> > this message, in any form, is strictly prohibited. Please promptly
>
>> > notify the sender by reply e-mail or by telephone at 770-246-8600, and then
>
>> delete or destroy all copies of the transmission.
>
>>
>
>>
>
>>
>
>>
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#110988): https://edk2.groups.io/g/devel/message/110988
Mute This Topic: https://groups.io/mt/102485712/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/leave/12367111/7686176/1913456212/xyzzy [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
next prev parent reply other threads:[~2023-11-09 14:48 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-07 12:06 [edk2-devel] [PATCH v3] RedfishPkg: RedfishDiscoverDxe: Fix issue if IPv4 installed after RestEx Igor Kulchytskyy via groups.io
2023-11-07 13:03 ` Nickle Wang via groups.io
2023-11-07 14:00 ` Mike Maslenkin
2023-11-08 0:13 ` Chang, Abner via groups.io
2023-11-08 2:43 ` Nickle Wang via groups.io
2023-11-09 13:49 ` [edk2-devel] 回复: [edk2-stable202311] " gaoliming via groups.io
2023-11-09 14:48 ` Leif Lindholm [this message]
2023-11-09 15:12 ` [edk2-devel] " Leif Lindholm
2023-11-10 0:39 ` Chang, Abner via groups.io
2023-11-10 13:53 ` Leif Lindholm
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d5a05692-3b21-4d30-8e66-89fa14b4c87d@quicinc.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox