From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web10.5948.1606973123326643322 for ; Wed, 02 Dec 2020 21:25:23 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=sQ4jNHZi; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: ray.ni@intel.com) IronPort-SDR: EG/rdNi9P3S7GjiGugmcx6Qv/+KdhXswU1HFWt4Y44wCEmAupML7q3MkLu+zA0yfzO7AKA92Hg o/Mr8ZIIqDkw== X-IronPort-AV: E=McAfee;i="6000,8403,9823"; a="172355154" X-IronPort-AV: E=Sophos;i="5.78,388,1599548400"; d="scan'208";a="172355154" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Dec 2020 21:25:22 -0800 IronPort-SDR: LFPgRx+l5fk3MrqzDy/7Unm+Ye3pEU7e3q8E3ZPp2Q8v7Mq0Gx+vw+kgGkku6w9vxr++Yi3e8x Fdt0DdDEt1cA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,388,1599548400"; d="scan'208";a="481831077" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga004.jf.intel.com with ESMTP; 02 Dec 2020 21:25:22 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 2 Dec 2020 21:25:21 -0800 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 2 Dec 2020 21:25:21 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 2 Dec 2020 21:25:19 -0800 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.106) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Wed, 2 Dec 2020 21:25:19 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W3bkhvPRS+qVfh2uZGMpTIiBEk06tc7cVtWLhOL/JizCjpEDCutr+vcXYVXG9sAdLNhEiMPijSNOBG9+rsiknUJvnmFZNT9W98A38y9OQxgAbixW1/tBDi95KvouGoLvtItVusZuKykdKByQzxfBMAbqZa2rvNqnw3VPk5y/T2Hs+msUC+Fc6QZZfhWY+X4KhcXVAotNVU/aTobkeo7SYkA/G36qlvuUl1n6xPPPXzHmn4qGZi47ByK9DmzOcY/KFPNNUM23VQTcCpoUQZ0+3WoFMYd3dDlV4PKe0TR7lth3p08nx+DDPA3e+LakGkUPZlX242hdX34ZQH8DeFvh6g== 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-SenderADCheck; bh=DMsPIVe6dlqn+5mtNxGYST3qB79zbsZuHqdW2koUgaY=; b=Dd5rjBn1JXK20mqgytgvu1P1JPdJgaXjMxBDhIGBEVdR88bzenvT3qgSpUqD4aIwf++GtcCJU4PAZ0v2FpV3r2uYa2IbOIOxNXaTGjQJyVFE6HBCyUGrCkF+FHcBtEwwAXtLd8jU4g0iIHNP0bPCDK7GtEBRxy5yG0sjcHpYjxy0dMJVjgRhdYMTpxfOCDc3NWttu6rzjG31lIn7VfevmQoK4p8wurYu/n+3Byapdl/pUdbW5pv3yXGBR7clxMkR9vAjSO3tx79YY5fFEsl9dRCiwSvMl9l2y9jIqzckg+wZGR1uNI0HA67zL3G1Z7nQLybbjpINfLjwzM/g78t8BQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DMsPIVe6dlqn+5mtNxGYST3qB79zbsZuHqdW2koUgaY=; b=sQ4jNHZiyWycSJJVvmqH3iVfl4ukBpAqYvUtwf8EjlZIMWVYm6qO7JAhX9lgDqOF4VKuui1/Ln8eo4OXJbUPODsQblkyE1pA0LndP8gHnf7L3WcawzpX1l+mdjYNp0bMSK6hIcGCB35H8+oVRqDFpXeRPM1fNNv/S/I2tgqHTiE= Received: from CO1PR11MB4930.namprd11.prod.outlook.com (2603:10b6:303:9b::11) by MWHPR11MB1935.namprd11.prod.outlook.com (2603:10b6:300:10c::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.17; Thu, 3 Dec 2020 05:25:16 +0000 Received: from CO1PR11MB4930.namprd11.prod.outlook.com ([fe80::d18:1234:c1d6:5936]) by CO1PR11MB4930.namprd11.prod.outlook.com ([fe80::d18:1234:c1d6:5936%7]) with mapi id 15.20.3611.031; Thu, 3 Dec 2020 05:25:16 +0000 From: "Ni, Ray" To: "devel@edk2.groups.io" , "Chang, Abner (HPS SW/FW Technologist)" CC: "Justen, Jordan L" , Andrew Fish , "Wang, Nickle (HPS SW)" , "O'Hanley, Peter (EXL)" Subject: Re: [edk2-devel] [Platform Redfish Host Interface PATCH 4/6] EmulatorPkg/Application: Publish Redfish Host Interface Record Thread-Topic: [edk2-devel] [Platform Redfish Host Interface PATCH 4/6] EmulatorPkg/Application: Publish Redfish Host Interface Record Thread-Index: AQHWyTSuJDCwhV7SAEWMR5wbIWsNaA== Date: Thu, 3 Dec 2020 05:25:16 +0000 Message-ID: References: <20201105143853.2180-1-abner.chang@hpe.com> <1644A5FE1ACD3DCB.8528@groups.io> In-Reply-To: <1644A5FE1ACD3DCB.8528@groups.io> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.194] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: abf63b4b-6a56-4173-eb9f-08d8974bd170 x-ms-traffictypediagnostic: MWHPR11MB1935: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1002; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: upZe8RNXdV20fb5sloUmaMZ2JgQGH4/lRiNFE27XMnKsRWj32bMQzen9fSjiZwMiyf3sa01ybeMGvmmADT45BNZvGfHwm4vvfmG94KYAwtIXTCO8yUpW6z/vYLRgPYkQP9bIknH8CKLUFKyPteXkzvjuhv0h27COT0wKJijqdUoAJj4TXqUxM1ack3X1or8mHhRcRm3S6PKliiaF2zqWYGfdjuq2Ke2feAYc7VyR+NINXHul6I4zikBEjCZtNBShOw1mSFCUJWMp6G4xTJBlCCrVJA+Uy4ZlSOrfuIpS/WTValCC8QQonjPJ9sk8nhyGZYejWZHLO7ZVDrpnUgMT6dqAa4dw6Ri+lwFz06Bh3Uu6lQl5SYnq472strGjDnVUwuzw8qO4t+GN7byb0B7VZg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4930.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(376002)(39860400002)(346002)(136003)(396003)(71200400001)(83380400001)(86362001)(76116006)(66556008)(7696005)(52536014)(66446008)(64756008)(66946007)(66476007)(5660300002)(55016002)(9686003)(19627235002)(30864003)(8936002)(8676002)(4326008)(2906002)(186003)(53546011)(6506007)(966005)(54906003)(110136005)(478600001)(26005)(33656002)(316002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?TjtX6oXAgwBTmsCg3VcUZ1o3XMQHriPUrbRSTgmjc9l2a/Zuyr08obcLCKDC?= =?us-ascii?Q?T+idokt+T1VGzwQap3IgJqNBQ6fJ65fbAoKcI8Hlxp6Nr7G602nz9rFy3Dip?= =?us-ascii?Q?XBUR2gStlq+jo29BkoIiWV8MQP2F7HhFtL5gBnCLd+GIcNxwphTyxvzQIYL1?= =?us-ascii?Q?eKHRTO5I39cfGUZH7Y+wPyVpAwIwnA9wynFf/x9nbZImTwrl2MfZde59jQyq?= =?us-ascii?Q?mqaDxdLOfVaRm/nS31N+ipmxiUdMZghi1m3T8UncXl+ucxHrAf4Wfw6Dv577?= =?us-ascii?Q?rJq00sFHLfJCT/VD7iF5qQu0HQ5pXfG/WXDSAPz8w6WX0XvdHmzWIJvxyK73?= =?us-ascii?Q?AkuStYgz6PMKUgaDmz+Vjikr+9GFoqApjuGTTLOSBBidpw1vbc9uS4U512nd?= =?us-ascii?Q?UPNc4/+KFoeCA6jBk8NolxwoMfv5LvtSkVZEJlg492hIjn9pLKPTMYpaxhjE?= =?us-ascii?Q?pqtTn8epbeWSvgL83U275jIoAuLL6iJ/yQ7NR0qxLCh+exWY8L10vUzfd4nI?= =?us-ascii?Q?/z/FKBpRGhWEebVpLxgO8yBkblEY4gYXgwrGeHvlgWgU7qXyK6O/NTBvWG+S?= =?us-ascii?Q?BZ8o5MuyCw4BnWxVMrMw9E6oByx9/Wafvh0cuMtKkA7YaTcZ2BBry04OKNTy?= =?us-ascii?Q?LCyAmVBbeFkZDgUm5+7SeDM6mIUUhoL+An7K/4b1TtMYNvvdHwmI2gczNKCZ?= =?us-ascii?Q?+0OWQ2rVTpSFJMOPcN/sEHgqzFbtfK3jVB8n0Hxk0JbypaVzD0BNACysIibn?= =?us-ascii?Q?gJUGp5zhGEPLox/IEQmOgZfVFkeJ7e4bIGw4GJ/4Xi2GtKvX3onxbmTBOV0O?= =?us-ascii?Q?uyP9ZWUB4evoAD+ZxHENIxaUF3Axum2Gk9pp9E2FuOwBnPj053i35lTCkL+u?= =?us-ascii?Q?lRTthLrCoLXNmhFb5kiNJYphVIAG1dVYlX7EtV2qa4WLDecVmwZblwlzsiLo?= =?us-ascii?Q?EG9TPE+qDttk57aJVeX6B+vLUlo97jTCbthwgLfNCv6ab3ucguHHzvo9g2rq?= =?us-ascii?Q?w8iE?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4930.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: abf63b4b-6a56-4173-eb9f-08d8974bd170 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Dec 2020 05:25:16.4288 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Ese+hUY3yrbxr2aIrVKIYv05aOa3d1TdLbUggR2WzEebz5mrsZPb1C9y5XHJlrecEdTpLKrASHpTX937AMevWw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB1935 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Acked-by: Ray Ni > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Chang, > Abner (HPS SW/FW Technologist) > Sent: Thursday, November 5, 2020 10:39 PM > To: devel@edk2.groups.io > Cc: Justen, Jordan L ; Andrew Fish > ; Ni, Ray ; Wang, Nickle (HPS SW) > ; O'Hanley, Peter (EXL) > Subject: [edk2-devel] [Platform Redfish Host Interface PATCH 4/6] > EmulatorPkg/Application: Publish Redfish Host Interface Record >=20 > Signed-off-by: Jiaxin Wu > Signed-off-by: Ting Ye > Signed-off-by: Siyuan Fu > Signed-off-by: Fan Wang > Signed-off-by: Abner Chang >=20 > Cc: Jordan Justen > Cc: Andrew Fish > Cc: Ray Ni > Cc: Nickle Wang > Cc: Peter O'Hanley > --- > .../RedfishPlatformConfig.c | 298 ++++++++++++++++++ > .../RedfishPlatformConfig.inf | 42 +++ > 2 files changed, 340 insertions(+) > create mode 100644 > EmulatorPkg/Application/RedfishPlatformConfig/RedfishPlatformConfig.c > create mode 100644 > EmulatorPkg/Application/RedfishPlatformConfig/RedfishPlatformConfig.inf >=20 > diff --git > a/EmulatorPkg/Application/RedfishPlatformConfig/RedfishPlatformConfig.c > b/EmulatorPkg/Application/RedfishPlatformConfig/RedfishPlatformConfig.c > new file mode 100644 > index 0000000000..89d4c760a7 > --- /dev/null > +++ > b/EmulatorPkg/Application/RedfishPlatformConfig/RedfishPlatformConfig.c > @@ -0,0 +1,298 @@ > +/** @file > + The implementation for Redfish Platform Configuration application. > + > + Copyright (c) 2019, Intel Corporation. All rights reserved.
> + (C) Copyright 2020 Hewlett Packard Enterprise Development LP
> + > + SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > + > +UINTN Argc; > +CHAR16 **Argv; > + > +/** > + > + This function parse application ARG. > + > + @return Status > +**/ > +EFI_STATUS > +GetArg ( > + VOID > + ) > +{ > + EFI_STATUS Status; > + EFI_SHELL_PARAMETERS_PROTOCOL *ShellParameters; > + > + Status =3D gBS->HandleProtocol ( > + gImageHandle, > + &gEfiShellParametersProtocolGuid, > + (VOID**)&ShellParameters > + ); > + if (EFI_ERROR(Status)) { > + return Status; > + } > + > + Argc =3D ShellParameters->Argc; > + Argv =3D ShellParameters->Argv; > + return EFI_SUCCESS; > +} > + > +/** > + > + This function print the help message. > + > +**/ > +VOID > +PrintHelp ( > + VOID > + ) > +{ > + Print (L"\n"); > + Print (L"Format (Only Ipv4 Address is supported):\n"); > + Print (L"RedfishPlatformConfig.efi -s HostIpAddress HostIpMask > RedfishServiceIpAddress RedfishServiceIpMask RedfishServiceIpPort\n"); > + Print (L"OR:\n"); > + Print (L"RedfishPlatformConfig.efi -a RedfishServiceIpAddress > RedfishServiceIpMask RedfishServiceIpPort\n"); > + Print (L"\n"); > +} > + > +/** > + The user Entry Point for Application. The user code starts with this = function > + as the real entry point for the application. > + > + @param[in] ImageHandle The firmware allocated handle for the EFI i= mage. > + @param[in] SystemTable A pointer to the EFI System Table. > + > + @retval EFI_SUCCESS The entry point is executed successfully. > + @retval other Some error occurs when executing this entry= point. > + > +**/ > +EFI_STATUS > +EFIAPI > +UefiMain ( > + IN EFI_HANDLE ImageHandle, > + IN EFI_SYSTEM_TABLE *SystemTable > + ) > +{ > + EFI_STATUS Status; > + RETURN_STATUS ReturnStatus; > + > + UINT8 HostIpAssignmentType; > + EFI_IPv4_ADDRESS HostIpAddress; > + EFI_IPv4_ADDRESS HostIpMask; > + EFI_IPv4_ADDRESS RedfishServiceIpAddress; > + EFI_IPv4_ADDRESS RedfishServiceIpMask; > + UINTN RedfishServiceIpPort; > + > + Status =3D GetArg(); > + if (EFI_ERROR(Status)) { > + return Status; > + } > + > + // > + // Format is like : > + // RedfishPlatformConfig.efi -s HostIpAddress HostIpMask > RedfishServiceIpAddress RedfishServiceIpMask RedfishServiceIpPort > + // RedfishPlatformConfig.efi -a RedfishServiceIpAddress > RedfishServiceIpMask RedfishServiceIpPort > + // > + if (Argc !=3D 7 && Argc !=3D 5) { > + > + PrintHelp(); > + return EFI_UNSUPPORTED; > + } > + > + if (StrCmp(Argv[1], L"-s") =3D=3D 0) { > + > + HostIpAssignmentType =3D 1; > + > + Status =3D NetLibStrToIp4 (Argv[2], &HostIpAddress); > + if (EFI_ERROR (Status)) { > + PrintHelp(); > + return Status; > + } > + Status =3D NetLibStrToIp4 (Argv[3], &HostIpMask); > + if (EFI_ERROR (Status)) { > + PrintHelp(); > + return Status; > + } > + Status =3D NetLibStrToIp4 (Argv[4], &RedfishServiceIpAddress); > + if (EFI_ERROR (Status)) { > + PrintHelp(); > + return Status; > + } > + Status =3D NetLibStrToIp4 (Argv[5], &RedfishServiceIpMask); > + if (EFI_ERROR (Status)) { > + PrintHelp(); > + return Status; > + } > + ReturnStatus =3D StrDecimalToUintnS (Argv[6], NULL, &RedfishService= IpPort); > + if (RETURN_ERROR (ReturnStatus)) { > + PrintHelp(); > + return Status; > + } > + > + Status =3D gRT->SetVariable ( > + L"HostIpAssignmentType", > + &gEmuRedfishServiceGuid, > + EFI_VARIABLE_NON_VOLATILE | > EFI_VARIABLE_BOOTSERVICE_ACCESS, > + sizeof (UINT8), > + &HostIpAssignmentType > + ); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + Status =3D gRT->SetVariable ( > + L"HostIpAddress", > + &gEmuRedfishServiceGuid, > + EFI_VARIABLE_NON_VOLATILE | > EFI_VARIABLE_BOOTSERVICE_ACCESS, > + sizeof (EFI_IPv4_ADDRESS), > + &HostIpAddress > + ); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + Status =3D gRT->SetVariable ( > + L"HostIpMask", > + &gEmuRedfishServiceGuid, > + EFI_VARIABLE_NON_VOLATILE | > EFI_VARIABLE_BOOTSERVICE_ACCESS, > + sizeof (EFI_IPv4_ADDRESS), > + &HostIpMask > + ); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + Status =3D gRT->SetVariable ( > + L"RedfishServiceIpAddress", > + &gEmuRedfishServiceGuid, > + EFI_VARIABLE_NON_VOLATILE | > EFI_VARIABLE_BOOTSERVICE_ACCESS, > + sizeof (EFI_IPv4_ADDRESS), > + &RedfishServiceIpAddress > + ); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + Status =3D gRT->SetVariable ( > + L"RedfishServiceIpMask", > + &gEmuRedfishServiceGuid, > + EFI_VARIABLE_NON_VOLATILE | > EFI_VARIABLE_BOOTSERVICE_ACCESS, > + sizeof (EFI_IPv4_ADDRESS), > + &RedfishServiceIpMask > + ); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + Status =3D gRT->SetVariable ( > + L"RedfishServiceIpPort", > + &gEmuRedfishServiceGuid, > + EFI_VARIABLE_NON_VOLATILE | > EFI_VARIABLE_BOOTSERVICE_ACCESS, > + sizeof (UINT16), > + &RedfishServiceIpPort > + ); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + Print (L"\n"); > + Print (L"HostIpAssignmentType is Static!\n"); > + Print (L"HostIpAddress: %s has been set Successfully!\n", Argv[2]); > + Print (L"HostIpMask: %s has been set Successfully!\n", Argv[3]); > + Print (L"RedfishServiceIpAddress: %s has been set Successfully!\n",= Argv[4]); > + Print (L"RedfishServiceIpMask: %s has been set Successfully!\n", Ar= gv[5]); > + Print (L"RedfishServiceIpPort: %s has been set Successfully!\n", Ar= gv[6]); > + Print (L"Please Restart!\n"); > + > + } else if (StrCmp(Argv[1], L"-a") =3D=3D 0) { > + > + HostIpAssignmentType =3D 3; > + > + Status =3D NetLibStrToIp4 (Argv[2], &RedfishServiceIpAddress); > + if (EFI_ERROR (Status)) { > + PrintHelp(); > + return Status; > + } > + Status =3D NetLibStrToIp4 (Argv[3], &RedfishServiceIpMask); > + if (EFI_ERROR (Status)) { > + PrintHelp(); > + return Status; > + } > + ReturnStatus =3D StrDecimalToUintnS (Argv[4], NULL, &RedfishService= IpPort); > + if (RETURN_ERROR (ReturnStatus)) { > + PrintHelp(); > + return Status; > + } > + > + Status =3D gRT->SetVariable ( > + L"HostIpAssignmentType", > + &gEmuRedfishServiceGuid, > + EFI_VARIABLE_NON_VOLATILE | > EFI_VARIABLE_BOOTSERVICE_ACCESS, > + sizeof (UINT8), > + &HostIpAssignmentType > + ); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + Status =3D gRT->SetVariable ( > + L"RedfishServiceIpAddress", > + &gEmuRedfishServiceGuid, > + EFI_VARIABLE_NON_VOLATILE | > EFI_VARIABLE_BOOTSERVICE_ACCESS, > + sizeof (EFI_IPv4_ADDRESS), > + &RedfishServiceIpAddress > + ); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + Status =3D gRT->SetVariable ( > + L"RedfishServiceIpMask", > + &gEmuRedfishServiceGuid, > + EFI_VARIABLE_NON_VOLATILE | > EFI_VARIABLE_BOOTSERVICE_ACCESS, > + sizeof (EFI_IPv4_ADDRESS), > + &RedfishServiceIpMask > + ); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + Status =3D gRT->SetVariable ( > + L"RedfishServiceIpPort", > + &gEmuRedfishServiceGuid, > + EFI_VARIABLE_NON_VOLATILE | > EFI_VARIABLE_BOOTSERVICE_ACCESS, > + sizeof (UINT16), > + &RedfishServiceIpPort > + ); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + Print (L"\n"); > + Print (L"HostIpAssignmentType is Auto!\n"); > + Print (L"RedfishServiceIpAddress: %s has been set Successfully!\n",= Argv[2]); > + Print (L"RedfishServiceIpMask: %s has been set Successfully!\n", Ar= gv[3]); > + Print (L"RedfishServiceIpPort: %s has been set Successfully!\n", Ar= gv[4]); > + Print (L"Please Restart!\n"); > + } else if (StrCmp(Argv[1], L"-h") =3D=3D 0 || StrCmp(Argv[1], L"-help= ") =3D=3D 0) { > + > + PrintHelp(); > + } else { > + > + PrintHelp(); > + return EFI_UNSUPPORTED; > + } > + > + return EFI_SUCCESS; > +} > diff --git > a/EmulatorPkg/Application/RedfishPlatformConfig/RedfishPlatformConfig.in= f > b/EmulatorPkg/Application/RedfishPlatformConfig/RedfishPlatformConfig.in= f > new file mode 100644 > index 0000000000..386c9bdd8c > --- /dev/null > +++ > b/EmulatorPkg/Application/RedfishPlatformConfig/RedfishPlatformConfig.in= f > @@ -0,0 +1,42 @@ > +## @file > +# Sample UEFI Application Reference EDKII Module. > +# > +# Copyright (c) 2019, Intel Corporation. All rights reserved.
> +# (C) Copyright 2020 Hewlett Packard Enterprise Development LP
> +# > +# SPDX-License-Identifier: BSD-2-Clause-Patent > +# > +# > +## > + > +[Defines] > + INF_VERSION =3D 0x0001000b > + BASE_NAME =3D RedfishPlatformConfig > + FILE_GUID =3D C02B67BB-3D19-4ACC-A080-1BDB575F8F= 36 > + MODULE_TYPE =3D UEFI_APPLICATION > + VERSION_STRING =3D 1.0 > + ENTRY_POINT =3D UefiMain > + > +[Sources] > + RedfishPlatformConfig.c > + > +[Packages] > + EmulatorPkg/EmulatorPkg.dec > + MdePkg/MdePkg.dec > + MdeModulePkg/MdeModulePkg.dec > + NetworkPkg/NetworkPkg.dec > + RedfishPkg/RedfishPkg.dec > + > +[LibraryClasses] > + DebugLib > + NetLib > + UefiApplicationEntryPoint > + UefiLib > + UefiBootServicesTableLib > + UefiRuntimeServicesTableLib > +[Protocols] > + gEfiShellParametersProtocolGuid ## CONSUMES > + gEfiShellProtocolGuid ## CONSUMES > + > +[Guids] > + gEmuRedfishServiceGuid > -- > 2.17.1 >=20 >=20 >=20 >=20 >=20