diff options
author | Michael Brown | 2017-01-25 15:48:24 +0100 |
---|---|---|
committer | Michael Brown | 2017-01-25 15:55:09 +0100 |
commit | 70fc25ad6e71a99b5802eb92b95c26407acbe990 (patch) | |
tree | b5b399a427584f7a78258601fa3d645b3a7ae16d /src/net/infiniband | |
parent | [interface] Unplug interface before calling intf_close() in intf_shutdown() (diff) | |
download | ipxe-70fc25ad6e71a99b5802eb92b95c26407acbe990.tar.gz ipxe-70fc25ad6e71a99b5802eb92b95c26407acbe990.tar.xz ipxe-70fc25ad6e71a99b5802eb92b95c26407acbe990.zip |
[netdevice] Limit MTU by hardware maximum frame length
Separate out the concept of "hardware maximum supported frame length"
and "configured link MTU", and limit the latter according to the
former.
In networks where the DHCP-supplied link MTU is inconsistent with the
hardware or driver capabilities (e.g. a network using jumbo frames),
this will result in iPXE advertising a TCP MSS consistent with a size
that can actually be received.
Note that the term "MTU" is typically used to refer to the maximum
length excluding the link-layer headers; we adopt this usage.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/net/infiniband')
-rw-r--r-- | src/net/infiniband/xsigo.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/net/infiniband/xsigo.c b/src/net/infiniband/xsigo.c index 91b7b71f..0ee753c3 100644 --- a/src/net/infiniband/xsigo.c +++ b/src/net/infiniband/xsigo.c @@ -323,6 +323,7 @@ static int xve_update_mtu ( struct xsigo_nic *xve, struct eoib_device *eoib, * not the EoIB header. */ netdev->max_pkt_len = ( mtu + sizeof ( struct ethhdr ) ); + netdev->mtu = mtu; DBGC ( xve, "XVE %s has MTU %zd\n", xve->name, mtu ); return 0; |