I captured a tcpdump for three cases. 1) Len10GEFI - Lenovo with latest firmware and "82599ES 10-Gigabit SFI/SFP+" network adapter booting in EFI mode. 2) Len1GEFI - Lenovo with latest firmware and the integrated "I210 Gigabit" network adapter booting in EFI mode. 3) Dell10GEFI - Dell with "82599ES 10-Gigabit SFI/SFP+" network adapter booting in EFI mode. For all three cases I the initial UDP requested is aborted and restarted successfully. 1) Len10GEFI 21:07:17.781021 IP 10.112.96.14.1430 > 10.112.96.5.69: 41 RRQ "bootx64.efi" octet tsize 0 blksize 1468 0x0000: 4500 0045 b353 0000 4011 f261 0a70 600e E..E.S..@..a.p`. 0x0010: 0a70 6005 0596 0045 0031 098f 0001 626f .p`....E.1....bo 0x0020: 6f74 7836 342e 6566 6900 6f63 7465 7400 otx64.efi.octet. 0x0030: 7473 697a 6500 3000 626c 6b73 697a 6500 tsize.0.blksize. 0x0040: 3134 3638 00 1468. 21:07:17.793695 IP 10.112.96.5.51921 > 10.112.96.14.1430: UDP, length 29 0x0000: 4500 0039 1b37 4000 4011 4a8a 0a70 6005 E..9.7@.@.J..p`. 0x0010: 0a70 600e cad1 0596 0025 d529 0006 7473 .p`......%.)..ts 0x0020: 697a 6500 3133 3535 3733 3600 626c 6b73 ize.1355736.blks 0x0030: 697a 6500 3134 3030 00 ize.1400. 21:07:17.793749 IP 10.112.96.14.1430 > 10.112.96.5.51921: UDP, length 30 0x0000: 4500 003a b354 0000 4011 f26b 0a70 600e E..:.T..@..k.p`. 0x0010: 0a70 6005 0596 cad1 0026 e222 0005 0008 .p`......&.".... 0x0020: 5573 6572 2061 626f 7274 6564 2074 6865 User.aborted.the 0x0030: 2074 7261 6e73 6665 7200 .transfer. 21:07:18.024758 IP 10.112.96.14.1431 > 10.112.96.5.69: 33 RRQ "bootx64.efi" octet blksize 1468 0x0000: 4500 003d b355 0000 4011 f267 0a70 600e E..=.U..@..g.p`. 0x0010: 0a70 6005 0597 0045 0029 7c8c 0001 626f .p`....E.)|...bo 0x0020: 6f74 7836 342e 6566 6900 6f63 7465 7400 otx64.efi.octet. 0x0030: 626c 6b73 697a 6500 3134 3638 00 blksize.1468. 21:07:18.036508 IP 10.112.96.5.40131 > 10.112.96.14.1431: UDP, length 15 0x0000: 4500 002b 1b4a 4000 4011 4a85 0a70 6005 E..+.J@.@.J..p`. 0x0010: 0a70 600e 9cc3 0597 0017 d51b 0006 626c .p`...........bl 0x0020: 6b73 697a 6500 3134 3030 00 ksize.1400. 2)Len1G 21:33:34.175617 IP 10.112.98.48.1958 > 10.112.96.5.69: 41 RRQ "bootx64.efi" octet tsize 0 blksize 1468 0x0000: 4500 0045 b997 0000 4011 e9fb 0a70 6230 E..E....@....pb0 0x0010: 0a70 6005 07a6 0045 0031 055d 0001 626f .p`....E.1.]..bo 0x0020: 6f74 7836 342e 6566 6900 6f63 7465 7400 otx64.efi.octet. 0x0030: 7473 697a 6500 3000 626c 6b73 697a 6500 tsize.0.blksize. 0x0040: 3134 3638 00 1468. 21:33:34.188193 IP 10.112.96.5.42625 > 10.112.98.48.1958: UDP, length 29 0x0000: 4500 0039 f4f2 4000 4011 6eac 0a70 6005 E..9..@.@.n..p`. 0x0010: 0a70 6230 a681 07a6 0025 d74b 0006 7473 .pb0.....%.K..ts 0x0020: 697a 6500 3133 3535 3733 3600 626c 6b73 ize.1355736.blks 0x0030: 697a 6500 3134 3030 00 ize.1400. 21:33:34.188258 IP 10.112.98.48.1958 > 10.112.96.5.42625: UDP, length 30 0x0000: 4500 003a b998 0000 4011 ea05 0a70 6230 E..:....@....pb0 0x0010: 0a70 6005 07a6 a681 0026 0241 0005 0008 .p`......&.A.... 0x0020: 5573 6572 2061 626f 7274 6564 2074 6865 User.aborted.the 0x0030: 2074 7261 6e73 6665 7200 .transfer. 21:33:34.419620 IP 10.112.98.48.1959 > 10.112.96.5.69: 33 RRQ "bootx64.efi" octet blksize 1468 0x0000: 4500 003d b999 0000 4011 ea01 0a70 6230 E..=....@....pb0 0x0010: 0a70 6005 07a7 0045 0029 785a 0001 626f .p`....E.)xZ..bo 0x0020: 6f74 7836 342e 6566 6900 6f63 7465 7400 otx64.efi.octet. 0x0030: 626c 6b73 697a 6500 3134 3638 00 blksize.1468. 21:33:34.431451 IP 10.112.96.5.56382 > 10.112.98.48.1959: UDP, length 15 0x0000: 4500 002b f52a 4000 4011 6e82 0a70 6005 E..+.*@.@.n..p`. 0x0010: 0a70 6230 dc3e 07a7 0017 d73d 0006 626c .pb0.>.....=..bl 0x0020: 6b73 697a 6500 3134 3030 00 ksize.1400. All three successfully download and boot bootx64.efi and grubx64.efi. What is interesting is that for both case 1 and 3 (i.e. with the 10G cards in EFI mode). Grub or the card decide to repeatedly ask for the maas/dhcp/tftp server's MAC address and the server responds faster than the kernel can process tcpip packets. (i.e. I captured about 0.5 million reply/response combos per second and lost quite a bit of packets) 21:07:18.630837 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 0x0000: 0001 0800 0604 0001 90e2 ba80 590c 0a70 ............Y..p 0x0010: 600e 0000 0000 0000 0a70 6005 0000 0000 `........p`..... 0x0020: 0000 0000 0000 0000 0000 0000 0000 .............. 21:07:18.630851 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28 0x0000: 0001 0800 0604 0002 90e2 ba4f fdec 0a70 ...........O...p 0x0010: 6005 90e2 ba80 590c 0a70 600e 21:07:18.630872 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 21:07:18.630874 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28 21:07:18.630876 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 21:07:18.630877 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28 21:07:18.630878 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 21:07:18.630879 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28 21:07:18.630880 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 21:07:18.630881 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28 21:07:18.630883 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 21:07:18.630884 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28 21:07:18.630885 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 21:07:18.630886 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28 21:07:18.630887 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 21:07:18.630888 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28 21:07:18.630896 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 21:07:18.630897 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28 21:07:18.630899 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 21:07:18.630899 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28 21:07:18.630901 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 21:07:18.630902 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28 21:07:18.630903 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 21:07:18.630903 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28 21:07:18.630905 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 21:07:18.630906 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28 21:07:18.630907 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 21:07:18.630908 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28 21:07:18.630909 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 21:07:18.630910 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28 21:07:18.630918 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 21:07:18.630919 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28 21:07:18.630920 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 21:07:18.630921 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28 21:07:18.630922 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 21:07:18.630923 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28 21:07:18.630924 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 21:07:18.630925 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28 21:07:18.630926 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 21:07:18.630927 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28 21:07:18.630928 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 21:07:18.630929 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28 21:07:18.630937 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 21:07:18.630938 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28 21:07:18.630939 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 21:07:18.630940 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28 21:07:18.630941 ARP, Request who-has 10.112.96.5 tell 10.112.96.14, length 46 21:07:18.630942 ARP, Reply 10.112.96.5 is-at 90:e2:ba:4f:fd:ec, length 28