[feature] Tuning receive (TX) and transmit (RX) buffers on NICs

Bug #1854836 reported by David Coronel on 2019-12-02
This bug affects 1 person
Affects Status Importance Assigned to Milestone

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]
        Capabilities: [60] Express Endpoint, MSI 00
        Capabilities: [48] Vital Product Data
        Capabilities: [9c] MSI-X: Enable+ Count=64 Masked-
        Capabilities: [c0] Vendor Specific Information: Len=18 <?>
        Capabilities: [40] Power Management version 3
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [150] Alternative Routing-ID Interpretation (ARI)
        Capabilities: [180] Single Root I/O Virtualization (SR-IOV)
        Capabilities: [230] Access Control Services
        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

Alberto Donato (ack) wrote :

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?

Changed in maas:
status: New → Invalid
David Coronel (davecore) wrote :
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers