[AMD Official Use Only - General] 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_llind...@quicinc.com> > Sent: Wednesday, November 15, 2023 6:59 PM > To: devel@edk2.groups.io; Chang, Abner <abner.ch...@amd.com>; Mike > Maslenkin <mike.maslen...@gmail.com>; ig...@ami.com; Gao, Liming > <gaolim...@byosoft.com.cn>; Kinney, Michael D > <michael.d.kin...@intel.com> > Cc: Nickle Wang <nick...@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.maslen...@gmail.com>; devel@edk2.groups.io; > >> ig...@ami.com > >> Cc: Leif Lindholm <quic_llind...@quicinc.com>; Nickle Wang > >> <nick...@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.maslen...@gmail.com> > >>> Sent: Wednesday, November 15, 2023 7:53 AM > >>> To: devel@edk2.groups.io; ig...@ami.com > >>> Cc: Leif Lindholm <quic_llind...@quicinc.com>; Chang, Abner > >>> <abner.ch...@amd.com>; Nickle Wang <nick...@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....@groups.io> wrote: > >>>> > >>>> Hi Leif, > >>>> Please see my comments below. > >>>> Thank you, > >>>> Igor > >>>> > >>>> > >>>> -----Original Message----- > >>>> From: Leif Lindholm <quic_llind...@quicinc.com> > >>>> Sent: Tuesday, November 14, 2023 12:26 PM > >>>> To: devel@edk2.groups.io; Igor Kulchytskyy <ig...@ami.com> > >>>> Cc: Abner Chang <abner.ch...@amd.com>; Nickle Wang > >>> <nick...@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.ch...@amd.com> > >>>>> Cc: Nickle Wang <nick...@nvidia.com> > >>>>> Signed-off-by: Igor Kulchytskyy <ig...@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 (#111255): https://edk2.groups.io/g/devel/message/111255 Mute This Topic: https://groups.io/mt/102602698/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-