[feature] Tuning receive (TX) and transmit (RX) buffers on NICs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Invalid
|
Undecided
|
Unassigned |
Bug Description
This is a feature request to support tuning receive (TX) and transmit (RX) buffers for network interfaces from MAAS.
I have a use case currently where I’m using MAAS and Juju to deploy OpenStack on top of servers that have Mellanox MT27710 ConnectX-4 Lx NICs. After some performance tests, I found that raising the RX and TX ring sizes of the Mellanox NICs offered better performance and less packet drops. I set the RX and TX sizes with:
sudo ethtool -G <nic> rx 8192 tx 8192
I was trying to find the best way to configure this so that it survives reboots and redeploys. I ended up adding a script to cloudinit-userdata in the Juju model defaults that adds a systemd service on each deployed node that runs those commands at each boot.
This is a request to support changing these parameters directly from MAAS, just like we can configure MTU settings.
[Additional Info]
From lspci -v:
3b:00.1 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx]
Subsystem: Super Micro Computer Inc MT27710 Family [ConnectX-4 Lx]
Flags: bus master, fast devsel, latency 0, IRQ 799, NUMA node 0
Memory at 38bffa000000 (64-bit, prefetchable) [size=32M]
Expansion ROM at b8500000 [disabled] [size=1M]
Kernel driver in use: mlx5_core
Kernel modules: mlx5_core
$ sudo ethtool -G enp59s1f0 rx 8192 tx 8192
$ sudo ethtool -g enp59s1f0
Ring parameters for enp59s1f0:
Pre-set maximums:
RX: 8192
RX Mini: 0
RX Jumbo: 0
TX: 8192
Current hardware settings:
RX: 8192 # default is 1024
RX Mini: 0
RX Jumbo: 0
TX: 8192 # default is 1024
Thanks for the feature request.
We're currently tracking them on in https:/ /discourse. maas.io/.
Could you please create a post there under the "Feature" label?