mirror of
https://github.com/ipxe/ipxe
synced 2025-12-31 06:49:20 +03:00
[ethernet] Use standard 1500 byte MTU unless explicitly overridden
Devices that support jumbo frames will currently default to the
largest possible MTU. This assumption is valid for virtual adapters
such as virtio-net, where the MTU must have been configured by a
system administrator, but is unsafe in the general case of a physical
adapter.
Default to the standard Ethernet MTU, unless explicitly overridden
either by the driver or via the ${netX/mtu} setting.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -565,6 +565,7 @@ static int ena_get_device_attributes ( struct net_device *netdev ) {
|
||||
feature = &rsp->get_feature.feature;
|
||||
memcpy ( netdev->hw_addr, feature->device.mac, ETH_ALEN );
|
||||
netdev->max_pkt_len = le32_to_cpu ( feature->device.mtu );
|
||||
netdev->mtu = ( netdev->max_pkt_len - ETH_HLEN );
|
||||
|
||||
DBGC ( ena, "ENA %p MAC %s MTU %zd\n",
|
||||
ena, eth_ntoa ( netdev->hw_addr ), netdev->max_pkt_len );
|
||||
|
||||
@@ -493,6 +493,7 @@ static int virtnet_probe_legacy ( struct pci_device *pci ) {
|
||||
&mtu, sizeof ( mtu ) );
|
||||
DBGC ( virtnet, "VIRTIO-NET %p mtu=%d\n", virtnet, mtu );
|
||||
netdev->max_pkt_len = ( mtu + ETH_HLEN );
|
||||
netdev->mtu = mtu;
|
||||
}
|
||||
|
||||
/* Register network device */
|
||||
|
||||
Reference in New Issue
Block a user