From nobody Fri May 17 21:56:00 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+112128+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1701875171225378.1803787964641; Wed, 6 Dec 2023 07:06:11 -0800 (PST) Return-Path: DKIM-Signature: a=rsa-sha256; bh=E+xaYWKbUhM/Tdbbvg7ItFIsmLZfhNtxJlG0Zueco/0=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:Received-SPF:From:To:CC:Subject:Date:Message-ID:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Type:Content-Transfer-Encoding; s=20140610; t=1701875170; v=1; b=aLw2C1VUff0q7x4n/r0Opzowe4eE9aVwhc/3Y+z4KBNsaDgva8N6kYvkFdtc7Xp4HDwnsL29 fGFq5Buduxg6qoOy7rUzGSKOgTrCYdBUhOI1PJ8fidWSC9dA6yXQG8FAobaF2XM8F60GVQEQbHK VbW7FNuE+PYIgQ/Nz3BzwPkE= X-Received: by 127.0.0.2 with SMTP id EOutYY1788612xjvP22pH9dz; Wed, 06 Dec 2023 07:06:10 -0800 X-Received: from NAM11-BN8-obe.outbound.protection.outlook.com (NAM11-BN8-obe.outbound.protection.outlook.com [40.107.236.41]) by mx.groups.io with SMTP id smtpd.web11.33570.1701875169865094667 for ; Wed, 06 Dec 2023 07:06:10 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GSIsayTUKd+rlFMKYP6IgKXtREfGYSPfw859wM1evwK5XkniGTYQXr0QWIfAQWTcEuFyxNfzxFGIxfEr8bYYooZkNS36uziIIn0goSAPUXDmNXLQgQSeKttFelPDTBxEyjTE4uLYUcT9O3Yxf0+gVRPkYNEG+TMxDdNttgiXhM9j24dd12FeXpQkuJxGnexmsudWOAoEf3tbAx84ZW5blq5VLQL1lMzbrAT3uZ8y12E+5u6dvT3+Lp+A41GhqWQ7AYlo5OjpnuBOEql9ZO+8s/w4bPFk5AZD325VZfhbAKiW3f9syAwlIEpqyTxI0pInMYvd9Yy1p25Yv9gdBFX1cg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ez5ZubNXqbljIbKkdk6tXAOWYRRUhHG7fKyh5rHhlEw=; b=bhL6fj+cDzBwwY5qcBlzuNrQAKmWxKwcKdbm8NSwaDNKPuYFjiZElanYExs2w0nQoHvL96p/9nH1YcxmLtddjUBFy/DWtqTcyuiKjsAXA6TZbcqa4X6RnDrJ72JaDnoB0CcyONt8fw0YOu7lqlc3l3Chy/x0UDcAHhgkCTs8u2WCDL//mpPabt0aBz6JpBMWg7PEX2f2a2siVEDuYFrjGeZF+ax0tRbZt8UJ4WKhQiNqSKbogcvgbm3SpM2blKxqc2GwbHoun7EaedAJ17fNxMo9X0KTLvnqBQrmzL2nBBFxbrPOx4fEX/gsKeWp58jBm5gK9KvozDO8NhaC4olH1A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) X-Received: from SA0PR11CA0051.namprd11.prod.outlook.com (2603:10b6:806:d0::26) by DM4PR12MB7549.namprd12.prod.outlook.com (2603:10b6:8:10f::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.25; Wed, 6 Dec 2023 15:06:05 +0000 X-Received: from SA2PEPF00001509.namprd04.prod.outlook.com (2603:10b6:806:d0:cafe::75) by SA0PR11CA0051.outlook.office365.com (2603:10b6:806:d0::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.33 via Frontend Transport; Wed, 6 Dec 2023 15:06:04 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+112128+1787277+3901457@groups.io; helo=mail02.groups.io; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C X-Received: from SATLEXMB04.amd.com (165.204.84.17) by SA2PEPF00001509.mail.protection.outlook.com (10.167.242.41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7068.20 via Frontend Transport; Wed, 6 Dec 2023 15:06:04 +0000 X-Received: from TPE-L1-ABNCHANG.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Wed, 6 Dec 2023 09:05:32 -0600 From: "Chang, Abner via groups.io" To: CC: Nickle Wang , Igor Kulchytskyy , Mike Maslenkin Subject: [edk2-devel] [PATCH] RedfishPkg/RedfishDicovery: Remedy Redfish service discovery flow Date: Wed, 6 Dec 2023 23:05:13 +0800 Message-ID: <20231206150513.1429-1-abner.chang@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PEPF00001509:EE_|DM4PR12MB7549:EE_ X-MS-Office365-Filtering-Correlation-Id: f46dc0a7-eafc-4f05-62e6-08dbf66cdddb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: MyFmDKY7sQbYh5wQ4whdmrLNb5p5zwsXEKu9X4uhWLHIfzRhdyTYrhCnwlE/wwPhZMYvG1JjbIugbSz1DMlGBJwEq05o8H4bw2zi8sK1JUqJeTiVie/yztx7xYrRmNAOntCm8CUWJb/V+TgMjwTLOoKTvOyq5+Z81PEXQxtiKxm0wVAvB9xvDbRAYtxvcNTfyVUkNXVoeot39YAKiuJMUkDkxbo/wvv3pFza0ZoQTrFL/140I3HY9nWnyLwaus2LppO+oDqP9ZC0/rW2F/dRlzVUOkLkJsvGl3zhehShTmNunt2WoJPCjJLecopzyCvT2gK4+9QI0Cc8vKyqNWNayCXfYnmlvAJPO94kuTIAFmPtK8HLOMX+LbCJquklc+q1UNQ7B0lObfRhWhtVDl3toVkGfwVkGUDpawCqu0yxDgFZOad9Mm1aFBRRoh/sYQhV0YJtzk3m3FaZAM6sl5e1l4rcm98A8W/hxBvG7l7G8l5Lo/yXLF7y5CeaP39clraTALmlZixch4dTG9nMiUuw+EtkVqxakNqHuRqBAkVByNT/OBBAZaEWK3D3encbGRUM+ApCdvV10u165kAPgY8ggeWbFbamIwLAFrpS+B1Jp7XNguHxbMJlbgqprd15ou9xjwdAcB0E3LjPinsEpa6tEXELSJZjfG7vdsRGAXJDSZ83i5NDQbIg3Y1xGUpdwuiXpCDT55n845FW8G++OH3qZ7XYd07H+QUd1Cr4K87E27H5ruaoMEptSZdo0ezBStQBvVa3SPC1vI5g9X7CJzslww== X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2023 15:06:04.0694 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f46dc0a7-eafc-4f05-62e6-08dbf66cdddb X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SA2PEPF00001509.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7549 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,abner.chang@amd.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: YANnlWVD4gGFSDlybVZIdH0jx1787277AA= Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1701875172336100001 Content-Type: text/plain; charset="utf-8" From: Abner Chang Remedy Redfish service discovery flow changes made in commit 8736b8fd. The above fix creates the dependency with SMBIOS 42h record, which has a problem as SMBIOS 42h may not be created when RedfishDiscovery.Supported() is invoked even all of the required protocols are ready on the ControllerHandle. We can=E2=80=99t guarantee SMBIOS 42 structure will be always created before ConnectController(). USB NIC maybe detected late and it means PlatformHostInterfaceBmcUsbNicLib can populate SMBIOS 42h information late as well. Calling to RedfishServiceGetNetworkInterface with the previous fix may result in no network interface for BMC-exposed NIC as SMBIOS 42h is not ready yet.This is the first issue. Second, to skip the network interface when NetworkInterfaceGetSubnetInfo() returns a failure also has problem, as the NIC may be configured via RestEx->Configure(). This happens after the Host interface is discovered, as at this moment we have the sufficient network information to configure BMC-exposed NIC. Base on Redfish spec in 31.1.5.2, =E2=80=9CEFI Redfish Client may provide selection UI of network interfaces for Redfish service discovery.", This means edk2 Redfish client gets all network interfaces through RedfishServiceGetNetworkInterface and choose the desired network interface at its discretion for Redfish service. So the fix here is: 1. In BuildNetworkInterface(), we don=E2=80=99t skip any network interface. In RedfishServiceGetNetworkInterface, we don=E2=80=99t skip any network interface even the subnet information is not retrieved. We will still return all of network interfaces to client. 2. In RedfishServiceAcquireService for EFI_REDFISH_RISCOVER_HOST_INTERFACE case, we don=E2=80=99t skip any network interface even the subnet information is not retrieved. 3. Added some more debug information. Note: The subnet information is used for the scenario the system is managed by a centralized Redfish service (not on BMC), says the multiple Redfish computer system instances. As it mentions in 31.1.5.2, Redfish client they may have to know the subnet information so they can know the network domain the NIC is connected. There may have multiple subnets in the corporation network environment. So the subnet information provides client an idea when they choose the network interface, so does VLAN ID. Signed-off-by: Abner Chang Cc: Nickle Wang Cc: Igor Kulchytskyy Cc: Mike Maslenkin Reviewed-by: Igor Kulchytskyy --- .../RedfishDiscoverDxe/RedfishDiscoverDxe.c | 105 ++++++------------ 1 file changed, 37 insertions(+), 68 deletions(-) diff --git a/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c b/RedfishPk= g/RedfishDiscoverDxe/RedfishDiscoverDxe.c index 833ae2b969f..1cfcbcdc794 100644 --- a/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c +++ b/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c @@ -487,43 +487,6 @@ CheckIsIpVersion6 ( return FALSE; } =20 -/** - This function returns the IP type supported by the Host Interface. - - @retval 00h is Unknown - 01h is Ipv4 - 02h is Ipv6 - -**/ -STATIC -UINT8 -GetHiIpProtocolType ( - VOID - ) -{ - EFI_STATUS Status; - REDFISH_OVER_IP_PROTOCOL_DATA *Data; - REDFISH_INTERFACE_DATA *DeviceDescriptor; - - Data =3D NULL; - DeviceDescriptor =3D NULL; - if (mSmbios =3D=3D NULL) { - Status =3D gBS->LocateProtocol (&gEfiSmbiosProtocolGuid, NULL, (VOID *= *)&mSmbios); - if (EFI_ERROR (Status)) { - return REDFISH_HOST_INTERFACE_HOST_IP_ADDRESS_FORMAT_UNKNOWN; - } - } - - Status =3D RedfishGetHostInterfaceProtocolData (mSmbios, &DeviceDescript= or, &Data); // Search for SMBIOS type 42h - if (!EFI_ERROR (Status) && (Data !=3D NULL) && - (Data->HostIpAssignmentType =3D=3D RedfishHostIpAssignmentStatic)) - { - return Data->HostIpAddressFormat; - } - - return REDFISH_HOST_INTERFACE_HOST_IP_ADDRESS_FORMAT_UNKNOWN; -} - /** Check if Network Protocol Type matches with SMBIOS Type 42 IP Address Ty= pe. =20 @@ -583,7 +546,10 @@ DiscoverRedfishHostInterface ( } =20 Status =3D RedfishGetHostInterfaceProtocolData (mSmbios, &DeviceDescript= or, &Data); // Search for SMBIOS type 42h - if (!EFI_ERROR (Status) && (Data !=3D NULL) && (DeviceDescriptor !=3D NU= LL)) { + if (EFI_ERROR (Status) || (Data =3D=3D NULL) || (DeviceDescriptor =3D=3D= NULL)) { + DEBUG ((DEBUG_ERROR, "%a: RedfishGetHostInterfaceProtocolData is faile= d.\n", __func__)); + return Status; + } else { // Check IP Type and skip an unnecessary network protocol if does not = match if (FilterProtocol (Instance->NetworkInterface->NetworkProtocolType, D= ata->HostIpAddressFormat)) { return EFI_UNSUPPORTED; @@ -737,10 +703,7 @@ DiscoverRedfishHostInterface ( IsHttps ); } - } else { - DEBUG ((DEBUG_ERROR, "%a: RedfishGetHostInterfaceProtocolData is faile= d.\n", __func__)); } - return Status; } =20 @@ -891,6 +854,12 @@ AddAndSignalNewRedfishService ( DEBUG ((DEBUG_MANAGEABILITY, "Redfish service location: %s.\n", Disc= overedInstance->Information.Location)); } =20 + if (UseHttps) { + DEBUG ((DEBUG_MANAGEABILITY, "Redfish service port: 443\n")); + } else { + DEBUG ((DEBUG_MANAGEABILITY, "Redfish service port: 80\n")); + } + if (Uuid !=3D NULL) { DiscoveredInstance->Information.Uuid =3D (CHAR16 *)AllocatePool (Asc= iiStrSize ((const CHAR8 *)Uuid) * sizeof (CHAR16)); AsciiStrToUnicodeStrS ((const CHAR8 *)Uuid, DiscoveredInstance->Info= rmation.Uuid, AsciiStrSize ((const CHAR8 *)Uuid) * sizeof (CHAR16)); @@ -1015,9 +984,11 @@ AddAndSignalNewRedfishService ( (EFI_REST_EX_CONFIG_DATA)(UINT8 *)RestExHttpConfi= gData ); if (EFI_ERROR (Status)) { - DEBUG ((DEBUG_ERROR, "%a:REST EX configured..\n", __func__)); + DEBUG ((DEBUG_ERROR, "%a: REST EX is not configured..\n", __func__= )); DeleteRestEx =3D TRUE; goto EXIT_FREE_ALL; + } else { + DEBUG ((DEBUG_MANAGEABILITY, "%a: REST EX is configured..\n", __fu= nc__)); } =20 // @@ -1207,6 +1178,8 @@ RedfishServiceGetNetworkInterface ( EFI_REDFISH_DISCOVER_NETWORK_INTERFACE *ThisNetworkInterface; EFI_REDFISH_DISCOVER_REST_EX_INSTANCE_INTERNAL *RestExInstance; =20 + DEBUG ((DEBUG_MANAGEABILITY, "%a: Entry.\n", __func__)); + if ((This =3D=3D NULL) || (NetworkIntfInstances =3D=3D NULL) || (NumberO= fNetworkIntfs =3D=3D NULL) || (ImageHandle =3D=3D NULL)) { @@ -1244,29 +1217,23 @@ RedfishServiceGetNetworkInterface ( while (TRUE) { // If Get Subnet Info failed then skip this interface Status =3D NetworkInterfaceGetSubnetInfo (ThisNetworkInterfaceIntn, Im= ageHandle); // Get subnet info - if (EFI_ERROR (Status)) { - if (IsNodeAtEnd (&mEfiRedfishDiscoverNetworkInterface, &ThisNetworkI= nterfaceIntn->Entry)) { - break; + if (!EFI_ERROR (Status)) { + if (!ThisNetworkInterface->IsIpv6) { + IP4_COPY_ADDRESS (&ThisNetworkInterface->SubnetId.v4, &ThisNetwork= InterfaceIntn->SubnetAddr.v4); // IPv4 subnet information. + } else { + IP6_COPY_ADDRESS (&ThisNetworkInterface->SubnetId.v6, &ThisNetwork= InterfaceIntn->SubnetAddr.v6); // IPv6 subnet information in IPv6 address i= nformation. } =20 - ThisNetworkInterfaceIntn =3D (EFI_REDFISH_DISCOVER_NETWORK_INTERFACE= _INTERNAL *)GetNextNode (&mEfiRedfishDiscoverNetworkInterface, &ThisNetwork= InterfaceIntn->Entry); - continue; + ThisNetworkInterface->SubnetPrefixLength =3D ThisNetworkInterfaceInt= n->SubnetPrefixLength; } =20 + CopyMem ((VOID *)&ThisNetworkInterface->MacAddress, &ThisNetworkInterf= aceIntn->MacAddress, ThisNetworkInterfaceIntn->HwAddressSize); ThisNetworkInterface->IsIpv6 =3D FALSE; if (CheckIsIpVersion6 (ThisNetworkInterfaceIntn)) { ThisNetworkInterface->IsIpv6 =3D TRUE; } =20 - CopyMem ((VOID *)&ThisNetworkInterface->MacAddress, &ThisNetworkInterf= aceIntn->MacAddress, ThisNetworkInterfaceIntn->HwAddressSize); - if (!ThisNetworkInterface->IsIpv6) { - IP4_COPY_ADDRESS (&ThisNetworkInterface->SubnetId.v4, &ThisNetworkIn= terfaceIntn->SubnetAddr.v4); // IPv4 subnet information. - } else { - IP6_COPY_ADDRESS (&ThisNetworkInterface->SubnetId.v6, &ThisNetworkIn= terfaceIntn->SubnetAddr.v6); // IPv6 subnet information in IPv6 address inf= ormation. - } - - ThisNetworkInterface->SubnetPrefixLength =3D ThisNetworkInterfaceIntn-= >SubnetPrefixLength; - ThisNetworkInterface->VlanId =3D ThisNetworkInterfaceIntn-= >VlanId; + ThisNetworkInterface->VlanId =3D ThisNetworkInterfaceIntn->VlanId; RestExInstance->NumberOfNetworkInterfaces++; if (IsNodeAtEnd (&mEfiRedfishDiscoverNetworkInterface, &ThisNetworkInt= erfaceIntn->Entry)) { break; @@ -1378,9 +1345,16 @@ RedfishServiceAcquireService ( // Status1 =3D NetworkInterfaceGetSubnetInfo (TargetNetworkInterfaceInt= ernal, ImageHandle); if (EFI_ERROR (Status1)) { - DEBUG ((DEBUG_ERROR, "%a: Get subnet information fail.\n", __func_= _)); - FreePool (Instance); - continue; + // + // Get subnet information could be failed for EFI_REDFISH_DISCOVER= _HOST_INTERFACE case. + // We will configure network in AddAndSignalNewRedfishService. So = don't skip this + // target network interface. + // + if ((Flags & EFI_REDFISH_DISCOVER_HOST_INTERFACE) =3D=3D 0) { + DEBUG ((DEBUG_ERROR, "%a: Get subnet information fail.\n", __fun= c__)); + FreePool (Instance); + continue; + } } =20 NewInstance =3D TRUE; @@ -1448,6 +1422,7 @@ RedfishServiceAbortAcquire ( IN EFI_REDFISH_DISCOVER_NETWORK_INTERFACE *TargetNetworkInterface OPTIO= NAL ) { + DEBUG ((DEBUG_MANAGEABILITY, "%a: Entry.\n", __func__)); // This function is used to abort Redfish service discovery through SSDP // on the network interface. SSDP is optionally suppoted by EFI_REDFISH_= DISCOVER_PROTOCOL, // we dont have implementation for SSDP now. @@ -1477,6 +1452,8 @@ RedfishServiceReleaseService ( EFI_REDFISH_DISCOVERED_INSTANCE *ThisRedfishInstance; EFI_REDFISH_DISCOVERED_INTERNAL_LIST *DiscoveredRedfishInstance; =20 + DEBUG ((DEBUG_MANAGEABILITY, "%a: Entry.\n", __func__)); + if (IsListEmpty (&mRedfishInstanceList)) { DEBUG ((DEBUG_ERROR, "%a:No any discovered Redfish service.\n", __func= __)); return EFI_NOT_FOUND; @@ -1723,22 +1700,13 @@ BuildupNetworkInterface ( EFI_REDFISH_DISCOVER_REST_EX_INSTANCE_INTERNAL *RestExInstance; EFI_TPL OldTpl; BOOLEAN NewNetworkInterfaceInst= alled; - UINT8 IpType; UINTN ListCount; =20 ListCount =3D (sizeof (mRequiredProtocol) / sizeof (R= EDFISH_DISCOVER_REQUIRED_PROTOCOL)); NewNetworkInterfaceInstalled =3D FALSE; Index =3D 0; =20 - // Get IP Type to filter out unnecessary network protocol if possible - IpType =3D GetHiIpProtocolType (); - for (Index =3D 0; Index < ListCount; Index++) { - // Check IP Type and skip an unnecessary network protocol if does not = match - if (FilterProtocol (mRequiredProtocol[Index].ProtocolType, IpType)) { - continue; - } - Status =3D gBS->OpenProtocol ( // Already in list? ControllerHandle, @@ -2164,6 +2132,7 @@ RedfishDiscoverDriverBindingStart ( IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL ) { + DEBUG ((DEBUG_MANAGEABILITY, "%a:Entry.\n", __func__)); return BuildupNetworkInterface (This, ControllerHandle); } =20 --=20 2.37.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#112128): https://edk2.groups.io/g/devel/message/112128 Mute This Topic: https://groups.io/mt/103014230/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-