Date: Wed, 15 Apr 2015 15:42:51 -0400 From: Jeremiah Lott <jlott@averesystems.com> To: "freebsd-net@freebsd.org" <freebsd-net@freebsd.org> Subject: pxeboot with newer Intel NICs Message-ID: <CANG7ib-2MhbM-3jASiNeoFMRjiTfRS=9czQMCGo_yD%2B0hr=ixg@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
I am having trouble using pxeboot with new-ish Intel NICs. We have been using pxeboot with Intel NICs as part of our infrastructure for a while successfully. Recently, I got some new 2x10G (ixgbe) cards as well as a motherboard with built-in 4x1G (igb). Neither will work with pxeboot. If I install an older 4x1G PCI card in the same server, then it will boot with pxeboot just fine. It fails at the point that it tries to load the kernel over NFS: PXE version 2.1, real mode entry point @94ee:0106 BIOS 619kB/1983288kB available memory FreeBSD/x86 bootstrap loader, Revision 1.1 (root@releng1.nyi.freebsd.org, Tue Nov 11 20:57:26 UTC 2014) pxe_open: server addr: 10.2.16.3 pxe_open: server path: /usr/tftpboot/mfg_FXT5000_WIP / It just sticks there indefinitely. I took a packet capture on the dhcp/tftp/nfs server (limited to the ip address I know this client is getting). The initial tftp download of the pxeboot program goes through. Then I see more dhcp packets (which I assume are from pxeboot program). Then it sends a portmapper request to get the port for the mount program. The packet capture on the server shows a proper response, but I assume the client is not accepting it, because it seems to retry the portmapper request repeatedly. 2 2.018066 10.2.15.238 -> 10.2.16.3 TFTP Read Request, File: pxeboot, Transfer type: octet, tsize\000=0\000 66 3 2.025813 10.2.16.3 -> 10.2.15.238 TFTP Option Acknowledgement, tsize\000=231424\000 57 4 2.025869 10.2.15.238 -> 10.2.16.3 TFTP Error Code, Code: Not defined, Message: TFTP Aborted 60 5 2.026980 10.2.15.238 -> 10.2.16.3 TFTP Read Request, File: pxeboot, Transfer type: octet, blksize\000=1456\000 71 6 2.034408 10.2.16.3 -> 10.2.15.238 TFTP Option Acknowledgement, blksize\000=1456\000 57 7 2.034462 10.2.15.238 -> 10.2.16.3 TFTP Acknowledgement, Block: 0 60 8 2.034544 10.2.16.3 -> 10.2.15.238 TFTP Data Packet, Block: 1 1502 9 2.034675 10.2.15.238 -> 10.2.16.3 TFTP Acknowledgement, Block: 1 60 10 2.034699 10.2.16.3 -> 10.2.15.238 TFTP Data Packet, Block: 2 1502 11 2.034829 10.2.15.238 -> 10.2.16.3 TFTP Acknowledgement, Block: 2 60 .. clipped a bunch of uninteresting data packets .. 324 2.058989 10.2.16.3 -> 10.2.15.238 TFTP Data Packet, Block: 159 1422 325 2.059115 10.2.15.238 -> 10.2.16.3 TFTP Acknowledgement, Block: 159 60 326 2.124531 10.2.15.238 -> 10.2.16.3 DHCP DHCP Discover - Transaction ID 0x2005fe90 590 327 2.638748 10.2.15.238 -> 10.2.16.3 DHCP DHCP Request - Transaction ID 0x2005fe90 590 328 2.657297 10.2.15.238 -> 10.2.16.3 Portmap V2 GETPORT Call MOUNT(100005) V:3 UDP 118 329 2.657398 10.2.16.3 -> 10.2.15.238 Portmap V2 GETPORT Reply (Call In 328) Port:644 70 330 4.293463 10.2.15.238 -> 10.2.16.3 Portmap [RPC retransmission of #328]V2 GETPORT Call (Reply In 329) MOUNT(100005) V:3 UDP 118 331 4.293536 10.2.16.3 -> 10.2.15.238 Portmap [RPC duplicate of #329]V2 GETPORT Reply (Call In 328) Port:644 70 332 8.138219 10.2.15.238 -> 10.2.16.3 Portmap [RPC retransmission of #328]V2 GETPORT Call (Reply In 329) MOUNT(100005) V:3 UDP 118 333 8.138301 10.2.16.3 -> 10.2.15.238 Portmap [RPC duplicate of #329]V2 GETPORT Reply (Call In 328) Port:644 70 334 14.179978 10.2.15.238 -> 10.2.16.3 Portmap [RPC retransmission of #328]V2 GETPORT Call (Reply In 329) MOUNT(100005) V:3 UDP 118 335 14.180084 10.2.16.3 -> 10.2.15.238 Portmap [RPC duplicate of #329]V2 GETPORT Reply (Call In 328) Port:644 70 I did notice that these new cards have newer versions of the "Intel Boot Agent" firmware. Here is a summary of the versions I tried: Intel Boot Agent XE v2.3.04 (10G) -> FAILED Intel Boot Agent GE v1.5.12 (1G) -> FAILED Intel Boot Agent XE v2.1.60 (10G) -> WORKS Intel Boot Agent GE v1.3.51 (1g) -> WORKS Also, the 1G that works is an 82580, while the one that fails is an i350. The working and failed 10G NICs are both 82599EB. My assumption is that there is some incompatibility between the PXE firmware on the newer cards and the pxeboot program. However, these are very widely used NICs and if this is really the problem it's a little hard to believe other people haven't hit this. Are other people using newer Intel 10G (ixgbe) or 1G (igb) NICs with pxeboot successfully? Jeremiah Lott Avere Systems
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANG7ib-2MhbM-3jASiNeoFMRjiTfRS=9czQMCGo_yD%2B0hr=ixg>