Browse Source

[iobuf] Increase minimum I/O buffer size to 128 bytes

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>
tags/v1.20.1
Michael Brown 7 years ago
parent
commit
b340971852
1 changed files with 1 additions and 1 deletions
  1. 1
    1
      src/include/ipxe/iobuf.h

+ 1
- 1
src/include/ipxe/iobuf.h View File

@@ -20,7 +20,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
20 20
  * necessary.  This is used on behalf of hardware that is not capable
21 21
  * of auto-padding.
22 22
  */
23
-#define IOB_ZLEN 64
23
+#define IOB_ZLEN 128
24 24
 
25 25
 /**
26 26
  * A persistent I/O buffer

Loading…
Cancel
Save