feat: jumbo frames on the guest link
This commit is contained in:
@@ -132,6 +132,31 @@ has an in-box driver for the Intel 82576 it emulates. Do not use virtiofs for ho
|
||||
virtio device the scanner names, and its shared memory backing blocks transparent hugepages for the
|
||||
whole guest. Share over SMB on the `igb` link instead.
|
||||
|
||||
### Jumbo frames
|
||||
|
||||
`vm-native-setup` puts `<mtu size='9000'/>` on the guest interface. The emulated NIC is packet-rate
|
||||
bound rather than bandwidth bound, so larger frames cut the per-packet cost the guest pays on
|
||||
receive - the direction that matters when you read files off an SMB share. Measured on igb, host to
|
||||
guest: 2922 Mbit/s at 1500, 14232 Mbit/s at 9000, byte-for-byte identical either way.
|
||||
|
||||
Both ends have to agree or the frames are simply dropped. The libvirt network needs it too:
|
||||
|
||||
```
|
||||
virsh net-edit default # add <mtu size='9000'/>
|
||||
virsh net-destroy default && virsh net-start default
|
||||
```
|
||||
|
||||
and in the guest, set the adapter's *Jumbo Packet* to 9014 and the interface MTU to 9000:
|
||||
|
||||
```powershell
|
||||
$n = (Get-NetAdapter -Physical | Where-Object Status -eq 'Up').Name
|
||||
Set-NetAdapterAdvancedProperty -Name $n -RegistryKeyword "*JumboPacket" -RegistryValue 9014
|
||||
Set-NetIPInterface -InterfaceAlias $n -NlMtu 9000
|
||||
```
|
||||
|
||||
Check `Get-NetIPInterface` afterwards: setting *Jumbo Packet* alone leaves the IP MTU at 1500 and
|
||||
you get none of the benefit.
|
||||
|
||||
## 5. Remove the virtio drivers and the agents
|
||||
|
||||
Boot the guest. It is on NVMe now, so `viostor` and `vioscsi` can go. In this order, as
|
||||
|
||||
Reference in New Issue
Block a user