From: "Chang, Abner via groups.io" <abner.chang=amd.com@groups.io>
To: Leif Lindholm <quic_llindhol@quicinc.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>,
Mike Maslenkin <mike.maslenkin@gmail.com>,
"igork@ami.com" <igork@ami.com>,
"Gao, Liming" <gaoliming@byosoft.com.cn>,
"Kinney, Michael D" <michael.d.kinney@intel.com>
Cc: Nickle Wang <nicklew@nvidia.com>
Subject: Re: edk2-stable202311 Code freeze process violation Re: [edk2-devel] [PATCH v5 2/2] RedfishPkg: RedfishDiscoverDxe: Optimize the Redfish Discover flow
Date: Wed, 15 Nov 2023 11:54:56 +0000 [thread overview]
Message-ID: <MN2PR12MB3966E7CD6F3E2F5EB0F4E34FEAB1A@MN2PR12MB3966.namprd12.prod.outlook.com> (raw)
In-Reply-To: <MN2PR12MB3966407DAA50472DC4C04A11EAB1A@MN2PR12MB3966.namprd12.prod.outlook.com>
[AMD Official Use Only - General]
Ok, Liming as we are going to revert that two commits. Is that possible to wait for Igor sending out another patch to address Leif's comment? This may delay the stable release a little bit.
As without this patch, users may encounter the problem when sending request to Redfish service on the platform which have multiple NIC installed,
Let us know, thanks!
Abner
> -----Original Message-----
> From: Chang, Abner
> Sent: Wednesday, November 15, 2023 7:07 PM
> To: Leif Lindholm <quic_llindhol@quicinc.com>; devel@edk2.groups.io; Mike
> Maslenkin <mike.maslenkin@gmail.com>; igork@ami.com; Gao, Liming
> <gaoliming@byosoft.com.cn>; Kinney, Michael D
> <michael.d.kinney@intel.com>
> Cc: Nickle Wang <nicklew@nvidia.com>
> Subject: RE: edk2-stable202311 Code freeze process violation Re: [edk2-
> devel] [PATCH v5 2/2] RedfishPkg: RedfishDiscoverDxe: Optimize the Redfish
> Discover flow
>
> Hi Leif,
> As we requested Liming to wait for this change last week, he accepted to wait
> for the PR. But you are right, suppose I shouldn't be allowed to merge the
> change during code freeze. Maybe only certain people have privilege to merge
> the code during code freeze. If I still can merge the code then the mechanism
> may be broken. I am fine if you would like to revert these commits.
>
> Regards,
> Abner
>
> > -----Original Message-----
> > From: Leif Lindholm <quic_llindhol@quicinc.com>
> > Sent: Wednesday, November 15, 2023 6:59 PM
> > To: devel@edk2.groups.io; Chang, Abner <Abner.Chang@amd.com>; Mike
> > Maslenkin <mike.maslenkin@gmail.com>; igork@ami.com; Gao, Liming
> > <gaoliming@byosoft.com.cn>; Kinney, Michael D
> > <michael.d.kinney@intel.com>
> > Cc: Nickle Wang <nicklew@nvidia.com>
> > Subject: edk2-stable202311 Code freeze process violation Re: [edk2-devel]
> > [PATCH v5 2/2] RedfishPkg: RedfishDiscoverDxe: Optimize the Redfish
> > Discover flow
> >
> > Caution: This message originated from an External Source. Use proper
> caution
> > when opening attachments, clicking links, or responding.
> >
> >
> > On 2023-11-15 03:55, Chang, Abner via groups.io wrote:
> > > [AMD Official Use Only - General]
> > >
> > > Just let you know I just merged this change. Igor can help to follow up the
> > suggestions given by Leif and Mike.
> >
> > I was under the impression merging was disabled for everyone except Mike
> > and Liming during code freeze specifically to avoid this situation.
> > Apparently, that isn't working.
> >
> > Regardless, this is a violation of the stable tag process.
> > Liming: can you please revert these commits?
> >
> > Regards,
> >
> > Leif
> >
> > > Thanks
> > > Abner
> > >
> > >> -----Original Message-----
> > >> From: Chang, Abner
> > >> Sent: Wednesday, November 15, 2023 9:20 AM
> > >> To: Mike Maslenkin <mike.maslenkin@gmail.com>;
> devel@edk2.groups.io;
> > >> igork@ami.com
> > >> Cc: Leif Lindholm <quic_llindhol@quicinc.com>; Nickle Wang
> > >> <nicklew@nvidia.com>
> > >> Subject: RE: [edk2-devel] [PATCH v5 2/2] RedfishPkg:
> RedfishDiscoverDxe:
> > >> Optimize the Redfish Discover flow
> > >>
> > >> Hi Mike and Leif,
> > >> Thanks for your comments on this change. As we are rushing to get this
> > >> change to be pulled in stable release 202312 this week, I will just merge
> this
> > >> code to master branch and let the discussing keeps going.
> > >> I think there is no functionality difference base on your suggestions, but
> it's
> > >> about the coding practice and readability.
> > >>
> > >> Hi Igor,
> > >> Could you please resend the V6 after stable tag is released if Mike and
> Leif's
> > >> comment is reasonable to you?
> > >>
> > >> Thanks
> > >> Abner
> > >>
> > >>> -----Original Message-----
> > >>> From: Mike Maslenkin <mike.maslenkin@gmail.com>
> > >>> Sent: Wednesday, November 15, 2023 7:53 AM
> > >>> To: devel@edk2.groups.io; igork@ami.com
> > >>> Cc: Leif Lindholm <quic_llindhol@quicinc.com>; Chang, Abner
> > >>> <Abner.Chang@amd.com>; Nickle Wang <nicklew@nvidia.com>
> > >>> Subject: Re: [edk2-devel] [PATCH v5 2/2] RedfishPkg:
> RedfishDiscoverDxe:
> > >>> Optimize the Redfish Discover flow
> > >>>
> > >>> Caution: This message originated from an External Source. Use proper
> > >> caution
> > >>> when opening attachments, clicking links, or responding.
> > >>>
> > >>>
> > >>> On Tue, Nov 14, 2023 at 9:57 PM Igor Kulchytskyy via groups.io
> > >>> <igork=ami.com@groups.io> wrote:
> > >>>>
> > >>>> Hi Leif,
> > >>>> Please see my comments below.
> > >>>> Thank you,
> > >>>> Igor
> > >>>>
> > >>>>
> > >>>> -----Original Message-----
> > >>>> From: Leif Lindholm <quic_llindhol@quicinc.com>
> > >>>> Sent: Tuesday, November 14, 2023 12:26 PM
> > >>>> To: devel@edk2.groups.io; Igor Kulchytskyy <igork@ami.com>
> > >>>> Cc: Abner Chang <abner.chang@amd.com>; Nickle Wang
> > >>> <nicklew@nvidia.com>
> > >>>> Subject: [EXTERNAL] Re: [edk2-devel] [PATCH v5 2/2] RedfishPkg:
> > >>> RedfishDiscoverDxe: Optimize the Redfish Discover flow
> > >>>>
> > >>>>
> > >>>> **CAUTION: The e-mail below is from an external source. Please
> exercise
> > >>> caution before opening attachments, clicking links, or following
> > guidance.**
> > >>>>
> > >>>> On 2023-11-14 14:28, Igor Kulchytskyy via groups.io wrote:
> > >>>>> Filter out the network interfaces which are not supported by
> > >>>>> Redfish Host Interface.
> > >>>>>
> > >>>>> Cc: Abner Chang <abner.chang@amd.com>
> > >>>>> Cc: Nickle Wang <nicklew@nvidia.com>
> > >>>>> Signed-off-by: Igor Kulchytskyy <igork@ami.com>
> > >>>>> ---
> > >>>>> RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c | 163
> > >>> ++++++++++++++------
> > >>>>> RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverInternal.h | 6 +
> > >>>>> 2 files changed, 120 insertions(+), 49 deletions(-)
> > >>>>>
> > >>>>> diff --git a/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c
> > >>> b/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c
> > >>>>> index 0f622e05a9..ae83cd3c97 100644
> > >>>>> --- a/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c
> > >>>>> +++ b/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c
> > >>>>
> > >>>>
> > >>>>> @@ -1601,10 +1681,22 @@ 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 (IS_TCP4_MATCH (IpType) || IS_TCP6_MATCH (IpType)) {
> > >>>>
> > >>>> The logic of these macros is inverted compared to their names, though.
> > >>>>
> > >>>> You want this test to read
> > >>>> if (!IS_TCP4_MATCH (IpType) && !IS_TCP6_MATCH (IpType)) {
> > >>>>
> > >>>>> + continue;
> > >>>>> + }
> > >>>>> +
> > >>>>> Status = gBS->OpenProtocol (
> > >>>>> // Already in list?
> > >>>>> ControllerHandle,
> > >>>>
> > >>>>> diff --git a/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverInternal.h
> > >>> b/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverInternal.h
> > >>>>> index 01454acc1d..3093eea0d5 100644
> > >>>>> --- a/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverInternal.h
> > >>>>> +++ b/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverInternal.h
> > >>>>> @@ -39,6 +39,12 @@
> > >>>>> #define REDFISH_DISCOVER_VERSION 0x00010000
> > >>>>> #define EFI_REDFISH_DISCOVER_NETWORK_INTERFACE_TPL
> > >> TPL_NOTIFY
> > >>>>>
> > >>>>> +#define MAC_COMPARE(ThisNetworkInterface,
> > >> TargetNetworkInterface)
> > >>> (CompareMem ((VOID *)&ThisNetworkInterface->MacAddress,
> > >>> &TargetNetworkInterface->MacAddress, ThisNetworkInterface-
> > >>>> HwAddressSize))
> > >>>>> +#define VALID_TCP6(TargetNetworkInterface, ThisNetworkInterface)
> > >>> (TargetNetworkInterface->IsIpv6 && (ThisNetworkInterface-
> > >>>> NetworkProtocolType == ProtocolTypeTcp6))
> > >>>>> +#define VALID_TCP4(TargetNetworkInterface, ThisNetworkInterface)
> > >>> (!TargetNetworkInterface->IsIpv6 && (ThisNetworkInterface-
> > >>>> NetworkProtocolType == ProtocolTypeTcp4))
> > >>>>> +#define IS_TCP4_MATCH(IpType)
> > >>> ((gRequiredProtocol[Index].ProtocolType == ProtocolTypeTcp4) &&
> > >> (IpType !=
> > >>> REDFISH_HOST_INTERFACE_HOST_IP_ADDRESS_FORMAT_IP4))
> > >>>>> +#define IS_TCP6_MATCH(IpType)
> > >>> ((gRequiredProtocol[Index].ProtocolType == ProtocolTypeTcp6) &&
> > >> (IpType !=
> > >>> REDFISH_HOST_INTERFACE_HOST_IP_ADDRESS_FORMAT_IP6))
> > >>>>
> > >>>> And these macros to test for ==, not !=
> > >>>>
> > >>>>
> > >>>> Igor: First version tested "==", but we agreed that it may not work if we
> > >> have
> > >>> a wrong value of IpType.
> > >>>>
> > >>>> Otherwise the code reads like it does the opposite of what it does.
> > >>>>
> > >>>> (You could also keep the logic and call the macros IS_TCP#_MISMATCH,
> > but
> > >>>> that feels a bit convoluted.)
> > >>>>
> > >>>> Igor: I would prefer to go with IS_TCP#_MISMATCH names.
> > >>>>
> > >>>> Regards,
> > >>>>
> > >>>> Leif
> > >>>
> > >>> Sorry, could I add my 2 cents?
> > >>>
> > >>> For me all newly added defines looks bad, just because those
> > >>> implicitly use reference to a global variable
> > >>> plus local variable state (i.e current cycle index).
> > >>>
> > >>> Could we rewrite code in a simple and straight forward manner, similar
> to:
> > >>>
> > >>> if (IpType ==
> > >>> REDFISH_HOST_INTERFACE_HOST_IP_ADDRESS_FORMAT_UNKNOWN)
> {
> > >>> // The protocol type is not specified in SMBIOS table type 42h
> > >>> return EFI_UNSUPPORTED;
> > >>> }
> > >>>
> > >>> for (Index = 0; Index < ListCount; Index++) {
> > >>> if ((gRequiredProtocol[Index].ProtocolType == ProtocolTypeTcp4) &&
> > >>> (IpType !=
> > >> REDFISH_HOST_INTERFACE_HOST_IP_ADDRESS_FORMAT_IP4)) {
> > >>> continue;
> > >>> }
> > >>> if ((gRequiredProtocol[Index].ProtocolType == ProtocolTypeTcp6) &&
> > >>> (IpType !=
> > >> REDFISH_HOST_INTERFACE_HOST_IP_ADDRESS_FORMAT_IP6)) {
> > >>> continue;
> > >>> }
> > >>> <skip>
> > >>>
> > >>> Regards,
> > >>> Mike.
> > >
> > >
> > >
> > >
> > >
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#111265): https://edk2.groups.io/g/devel/message/111265
Mute This Topic: https://groups.io/mt/102602698/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
next prev parent reply other threads:[~2023-11-15 11:55 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-14 14:28 [edk2-devel] [PATCH v5 2/2] RedfishPkg: RedfishDiscoverDxe: Optimize the Redfish Discover flow Igor Kulchytskyy via groups.io
2023-11-14 14:29 ` Chang, Abner via groups.io
2023-11-14 17:26 ` Leif Lindholm
2023-11-14 18:57 ` Igor Kulchytskyy via groups.io
2023-11-14 23:52 ` Mike Maslenkin
2023-11-15 1:19 ` Chang, Abner via groups.io
2023-11-15 1:21 ` Igor Kulchytskyy via groups.io
2023-11-15 3:55 ` Chang, Abner via groups.io
2023-11-15 10:59 ` edk2-stable202311 Code freeze process violation " Leif Lindholm
2023-11-15 11:07 ` Chang, Abner via groups.io
2023-11-15 11:54 ` Chang, Abner via groups.io [this message]
2023-11-15 17:28 ` Michael D Kinney
2023-11-16 0:55 ` 回复: " gaoliming via groups.io
2023-11-15 10:55 ` Leif Lindholm
2023-11-15 12:01 ` Leif Lindholm
2023-11-15 13:51 ` Igor Kulchytskyy via groups.io
2023-11-15 18:27 ` Mike Maslenkin
2023-11-15 18:36 ` Igor Kulchytskyy via groups.io
2023-11-15 19:25 ` Mike Maslenkin
2023-11-15 19:36 ` Igor Kulchytskyy via groups.io
2023-11-16 12:14 ` Leif Lindholm
2023-11-16 12:23 ` Igor Kulchytskyy via groups.io
2023-11-16 12:25 ` 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=MN2PR12MB3966E7CD6F3E2F5EB0F4E34FEAB1A@MN2PR12MB3966.namprd12.prod.outlook.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