Maciej and Vincent, We’ve captured data that demonstrates that EDK2 is handling IPv4 differently than IPv6. I’ve opened a bug to track this work: 3471 – Unexpected DHCP RELEASE after PXE server reply on IPv6; IPv4 handled differently (tianocore.org) The captures were large, so I’ve shared them with OneDrive links. The IPv4 capture shows that the UEFI is _not_ responding with a special UDP request. Thoughts? - Bret From: LathaKannan Arumugam Sent: Tuesday, June 29, 2021 11:54 AM To: Zimmer, Vincent; devel@edk2.groups.io; Bret Barkelew; maciej.rabeda@linux.intel.com Subject: RE: [EXTERNAL] Re: [edk2-devel] NetworkPkg: Unexpected DHCP RELEASE after PXE server reply on IPv6 Thanks Vincent and Maciej for the your inputs. We made some more analysis and want your inputs for the same. Test:1 1. DHCPv6 server replied with IANA, Option 16(Vendor class with String as PxeClient), Option 59(Boot File URL with TFTP address), and Option 60 (BootFileParam) Analysis: It is observed UEFI is trying to send boot server request based on the address mentioned in the boot file URL which is unicast. And this is done as part of SARR and as station IP is not assigned, the route lookup failed and packet dropped. If I use any link-local address in boot file URL , then request goes out. But in our case, PXE client and server are not on same link. So should the order be changed here. Finish SARR, assign Station IP and then do Boot server request. Test:2 DHCPv6 server replied with IANA , Option 59(Boot File URL with TFTP address), and Option 60 (BootFileParam). I did not include Option 16(Pxe vendor string) Analysis: It is observed that UEFI expects boot file length in 512 byte resolution and the did parsing was not in line with rfc5970 (ietf.org). Can you tell us what is the expectation here? Please find the attached file for how option 60 is added by server. Test:3 DHCPv6 server replied with IANA , Option 59(Boot File URL with TFTP address). I did not include Option 16(Pxe vendor string) and Option 60(BootFileParam) As the reply does not carry PxeVendor string and boot file param, It is observed that UEFI finished SARR and station IPv6 was configured. It also went ahead and downloaded bootx64.efi file which was mentioned in option 59. We also observed that UEFI loaded bootMgr and but eventually failed with following error on screen. We want UEFI to boot it in this method. Can you share us what needs to be done to move forward in this direction? [cid:image003.png@01D76DBE.63C70480] From: Zimmer, Vincent Sent: Tuesday, June 29, 2021 10:34 AM To: devel@edk2.groups.io; Bret Barkelew ; maciej.rabeda@linux.intel.com; LathaKannan Arumugam Subject: RE: [EXTERNAL] Re: [edk2-devel] NetworkPkg: Unexpected DHCP RELEASE after PXE server reply on IPv6 FYI For IPv6, the TFTP-based network boot process (i.e., pxe) is called Netboot6 & detailed in “24.3.1 Netboot6”/” 24.3.1.2 IPv6-based PXE boot", and for IPV4 PXE we also curate changes/clarifications in “E.4.20 PXE 2.1 specification wire protocol clarifications”, all of which are found in https://uefi.org/sites/default/files/resources/UEFI_Spec_2_9_2021_03_18.pdf since http://www.pix.net/software/pxeboot/archive/pxespec.pdf is frozen/unmaintained at this point. Vincent From: devel@edk2.groups.io > On Behalf Of Bret Barkelew via groups.io Sent: Tuesday, June 29, 2021 9:54 AM To: devel@edk2.groups.io; maciej.rabeda@linux.intel.com; LathaKannan Arumugam > Subject: Re: [EXTERNAL] Re: [edk2-devel] NetworkPkg: Unexpected DHCP RELEASE after PXE server reply on IPv6 Thanks, Maciej! We’ll investigate! - Bret From: Rabeda, Maciej > Sent: Tuesday, June 29, 2021 9:39:59 AM To: devel@edk2.groups.io >; LathaKannan Arumugam >; Bret Barkelew > Subject: Re: [EXTERNAL] Re: [edk2-devel] NetworkPkg: Unexpected DHCP RELEASE after PXE server reply on IPv6 Additionally, for claim that IPv4 does not do that, please provide Wireshark trace, if available. On 29-Jun-21 18:36, Maciej Rabeda wrote: Hi guys, Finally got some time to look into it. Long story short, this smells like infrastructure problem. SARR passes over 546/547 port pair. That is between UEFI PXE client and DHCP server (even if it is the same machine). The next packet is essentially a Boot Server choice step. UEFI PXE client sends a unicast discovery packet towards Boot server (same machine, same address) coded as DHCP Request. The release packet is a direct reaction to 3 second timeout (see time diff between packet 9 and 11). See section 2.2.1 in PXE spec: http://www.pix.net/software/pxeboot/archive/pxespec.pdf Please verify that your WDS service is running correctly, since clearly there is no reaction to that packet from Boot server. [cid:image001.png@01D76CDA.A49138D0] On 28-Jun-21 22:05, LathaKannan Arumugam via groups.io wrote: Can you please help us on this issues? Get Outlook for Android From: devel@edk2.groups.io on behalf of LathaKannan Arumugam via groups.io Sent: Friday, June 25, 2021 1:11:42 PM To: Bret Barkelew ; Rabeda, Maciej ; devel@edk2.groups.io Subject: Re: [EXTERNAL] Re: [edk2-devel] NetworkPkg: Unexpected DHCP RELEASE after PXE server reply on IPv6 Any inputs? We kind of blocked on this for a week. Kindly look into packet capture and suggest a path forward. From: LathaKannan Arumugam Sent: Friday, June 25, 2021 9:23 AM To: Bret Barkelew ; Rabeda, Maciej ; devel@edk2.groups.io Subject: RE: [EXTERNAL] Re: [edk2-devel] NetworkPkg: Unexpected DHCP RELEASE after PXE server reply on IPv6 Attached packet captured from server. From: Bret Barkelew > Sent: Friday, June 25, 2021 9:19 AM To: Rabeda, Maciej >; devel@edk2.groups.io; LathaKannan Arumugam > Subject: Re: [EXTERNAL] Re: [edk2-devel] NetworkPkg: Unexpected DHCP RELEASE after PXE server reply on IPv6 + @LathaKannan Arumugam - Bret From: Rabeda, Maciej > Sent: Friday, June 25, 2021 7:40:16 AM To: devel@edk2.groups.io >; Bret Barkelew >; Bret Barkelew > Subject: [EXTERNAL] Re: [edk2-devel] NetworkPkg: Unexpected DHCP RELEASE after PXE server reply on IPv6 Looking at it. Any chance to get Wireshark trace for this scenario? On 25-Jun-21 09:25, brbarkel via groups.io wrote: Just poking this to see if anyone has any ideas. Thanks!