Skip to content

Commit

Permalink
[iobuf] Increase minimum I/O buffer size to 128 bytes
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
mcb30 committed Mar 23, 2017
1 parent a317e9a commit b340971
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/include/ipxe/iobuf.h
Expand Up @@ -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
Expand Down

0 comments on commit b340971

Please sign in to comment.