I agree with your assessment about leaving the data structure as it is. I just wanted to highlight it as it may impact others.
The bottom line is my development group is entirely responsible for vetting any changes coming from the EDK2 into our product. This one slipped by us. --Larry -----Original Message----- From: Ye, Ting [mailto:[email protected]] Sent: Thursday, August 4, 2016 8:25 PM To: Larry Cleeton <[email protected]>; [email protected] Subject: RE: Breaking change issue with NetworkPkg/Ip6Dxe/Ip6ConfigImlp.[c, h] Hi Larry, We are very sorry about the impact you suffered today. We made the change in early 2013 to support the existing NVRAM variable when firmware image was updated from IA32 to X64. Unfortunately we introduced an incompatibility issue as you raised. Now we prefer to keep the existing definition, since if we change it back that would introduce another similar incompatibility issue. What do you think about this? Best Regards, Ye Ting -----Original Message----- From: edk2-devel [mailto:[email protected]] On Behalf Of Larry Cleeton Sent: Wednesday, August 03, 2016 4:55 AM To: [email protected] Subject: [edk2] Breaking change issue with NetworkPkg/Ip6Dxe/Ip6ConfigImlp.[c, h] This commit (fdc4b0b147b386e966e99893526181dfae9eaeef) changed a data structure that is stored in an NVRAM variable. See NetworkPkg/Ip6Dxe/Ip6ConfigImpl.[c,h] This data structure: typedef struct { UINT16 Offset; UINTN DataSize; EFI_IP6_CONFIG_DATA_TYPE DataType; } IP6_CONFIG_DATA_RECORD; Is now: typedef struct { UINT16 Offset; UINT32 DataSize; <---------------- changed size in 64bit environments EFI_IP6_CONFIG_DATA_TYPE DataType; } IP6_CONFIG_DATA_RECORD; Unfortunately with a 64bit implementation this current structure is now *not* compatible with an existing NVRAM variable written with the previous version of the structure. It's causing me considerable grief so I'm just sharing the discovery. It would only impact you if you update some 64bit machine's firmware with a new version containing this change. --Larry _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

