[AMD Official Use Only - General] Reviewed-by: Abner Chang <abner.ch...@amd.com>
> -----Original Message----- > From: Mike Maslenkin <mike.maslen...@gmail.com> > Sent: Monday, December 25, 2023 6:59 AM > To: devel@edk2.groups.io > Cc: Chang, Abner <abner.ch...@amd.com>; nick...@nvidia.com; > ig...@ami.com; Mike Maslenkin <mike.maslen...@gmail.com> > Subject: [PATCH v3 16/16] RedfishPkg: RedfishDiscoverDxe: add [] brackets to > URI for IPv6 addresses > > Caution: This message originated from an External Source. Use proper caution > when opening attachments, clicking links, or responding. > > > URI is generated based on the RedfishLocation containing an ASCII string > representing the IP address. So, in the case of IPv4 the canonical > representation of an IPv4 address was inserted into the resulting Unicode > string i.e: "http{,s}://X.X.X.X/". > > In the case of IPv6, to access resources, the IP address must be specified > in brackets, i.e. the resulting string should look like: > "http{,s}://[X::X:X:X:X]/". > > Cc: Abner Chang <abner.ch...@amd.com> > Cc: Nickle Wang <nick...@nvidia.com> > Cc: Igor Kulchytskyy <ig...@ami.com> > Signed-off-by: Mike Maslenkin <mike.maslen...@gmail.com> > --- > .../RedfishDiscoverDxe/RedfishDiscoverDxe.c | 17 +++++++++++++++-- > 1 file changed, 15 insertions(+), 2 deletions(-) > > diff --git a/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c > b/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c > index 1022ab090df8..238039b57717 100644 > --- a/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c > +++ b/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c > @@ -759,6 +759,7 @@ FreeInformationData ( > The function initializes particular strings into the structure instance. > > > > @param[in] Information EFI_REDFISH_DISCOVERED_INFORMATION > > + @param[in] IsIpv6 Flag indicating IP version 6 protocol is > used > > @param[in] RedfishVersion Redfish version. > > @param[in] RedfishLocation Redfish location. > > @param[in] Uuid Service UUID string. > > @@ -772,6 +773,7 @@ STATIC > VOID > > InitInformationData ( > > IN EFI_REDFISH_DISCOVERED_INFORMATION *Information, > > + IN BOOLEAN IsIpv6, > > IN UINTN *RedfishVersion OPTIONAL, > > IN CONST CHAR8 *RedfishLocation OPTIONAL, > > IN CONST CHAR8 *Uuid OPTIONAL, > > @@ -789,10 +791,20 @@ InitInformationData ( > } > > > > if (RedfishLocation != NULL) { > > - AllocationSize = AsciiStrSize (RedfishLocation) * sizeof (CHAR16); > > + AllocationSize = AsciiStrSize (RedfishLocation) * sizeof (CHAR16); > > + > > + if (IsIpv6) { > > + AllocationSize += 2 * sizeof (CHAR16); // take into account '[' and ']' > > + } > > + > > Information->Location = AllocatePool (AllocationSize); > > if (Information->Location != NULL) { > > - AsciiStrToUnicodeStrS (RedfishLocation, Information->Location, > AllocationSize); > > + if (IsIpv6) { > > + UnicodeSPrintAsciiFormat (Information->Location, AllocationSize, > "[%a]", RedfishLocation); > > + } else { > > + AsciiStrToUnicodeStrS (RedfishLocation, Information->Location, > AllocationSize); > > + } > > + > > DEBUG ((DEBUG_MANAGEABILITY, "Redfish service location: %s.\n", > Information->Location)); > > } else { > > DEBUG (( > > @@ -1038,6 +1050,7 @@ AddAndSignalNewRedfishService ( > > > InitInformationData ( > > &DiscoveredInstance->Information, > > + CheckIsIpVersion6 (NetworkInterface), > > RedfishVersion, > > RedfishLocation, > > Uuid, > > -- > 2.32.0 (Apple Git-132) -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#112897): https://edk2.groups.io/g/devel/message/112897 Mute This Topic: https://groups.io/mt/103354135/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-