]> git.ipfire.org Git - thirdparty/ipxe.git/commit
[xen] Support scatter-gather to allow for jumbo frames
authorMichael Brown <mcb30@ipxe.org>
Wed, 14 Apr 2021 15:33:41 +0000 (16:33 +0100)
committerMichael Brown <mcb30@ipxe.org>
Wed, 14 Apr 2021 15:33:41 +0000 (16:33 +0100)
commit85d179f2c65d0a2afe9122b844a90c011d551ae1
tree4e28fe6260f2df4911089d7747408d9f0c359688
parent8ca43ccbc1984d60e50711ea326ca59ac03985d2
[xen] Support scatter-gather to allow for jumbo frames

The use of jumbo frames for the Xen netfront virtual NIC requires the
use of scatter-gather ("feature-sg"), with the receive descriptor ring
becoming a list of page-sized buffers and the backend using as many
page buffers as required for each packet.

Since iPXE's abstraction of an I/O buffer does not include any sort of
scatter-gather list, this requires an extra allocation and copy on the
receive datapath for any packet that spans more than a single page.

This support is required in order to successfully boot an AWS EC2
virtual machine (with non-enhanced networking) via iSCSI if jumbo
frames are enabled, since the netback driver used in EC2 seems not to
allow "feature-sg" to be renegotiated once the Linux kernel driver
takes over.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/drivers/net/netfront.c
src/drivers/net/netfront.h
src/include/ipxe/xengrant.h