]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[iobuf] Increase minimum I/O buffer size to 128 bytes
authorMichael Brown <mcb30@ipxe.org>
Thu, 23 Mar 2017 16:15:24 +0000 (18:15 +0200)
committerMichael Brown <mcb30@ipxe.org>
Thu, 23 Mar 2017 16:29:46 +0000 (18:29 +0200)
The eIPoIB translation layer needs to translate outbound ARP packets
from Ethernet to IPoIB.  A 64-byte buffer (starting with the Ethernet
header) does not provide enough tailroom to expand to hold the two
20-byte IPoIB MAC addresses.  The result is that an UNDI API user will
be unable to send ARP packets.

We could potentially shuffle the packet contents to reuse the space
occupied by the stripped Ethernet link-layer header, but this would
add complexity.  Instead, fix by increasing the minimum allocation
size to 128 bytes.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/include/ipxe/iobuf.h

index 27d285d4462668e6f469bbfe2295b18d36279092..b40ade350078ea77f534c1c15afeb325b9a5791c 100644 (file)
@@ -20,7 +20,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
  * necessary.  This is used on behalf of hardware that is not capable
  * of auto-padding.
  */
-#define IOB_ZLEN 64
+#define IOB_ZLEN 128
 
 /**
  * A persistent I/O buffer