Bug 2158328

Summary: RFE: Support changing txqueuelen and other link settings
Product: Red Hat Enterprise Linux 9 Reporter: Jonathan Maxwell <jmaxwell>
Component: NetworkManagerAssignee: Beniamino Galvani <bgalvani>
Status: VERIFIED --- QA Contact: Vladimir Benes <vbenes>
Severity: low Docs Contact: Marc Muehlfeld <mmuehlfe>
Priority: medium    
Version: 9.2CC: bgalvani, ferferna, lrintel, rkhan, sfaye, sukulkar, till, vbenes
Target Milestone: rcKeywords: FutureFeature, Triaged
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: NetworkManager-1.43.3-1.el9 Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2183217    

Description Jonathan Maxwell 2023-01-05 04:56:15 UTC
We had a request from a customer to set txqueuelen in /etc/NetworkManager/system-connections/<interface>.nmconnection. 

According to "man nm-settings" there is currently no way to do this. So the customer needs to use udev rules, rc_local or write a NM dispatcher script.

Please can a txqueuelen option under the connection setting be added?

Comment 5 Beniamino Galvani 2023-01-24 15:55:05 UTC
While at it, we could add support for other related properties as well:

 txqueuelen   (IFLA_TXQLEN)
 numtxqueues  (IFLA_NUM_TX_QUEUES)
 numrxqueues  (IFLA_NUM_RX_QUEUES)
 gso_max_size (IFLA_GSO_MAX_SIZE)
 gso_max_segs (IFLA_GSO_MAX_SEGS)
 gro_max_size (IFLA_GRO_MAX_SIZE)
 tso_max_size (IFLA_TSO_MAX_SIZE)
 tso_max_segs (IFLA_TSO_MAX_SEGS)

Probably those properties should go in the "connection" setting.

Comment 6 Vladimir Benes 2023-03-07 13:41:39 UTC
This doesn't work under ifcfg-rh plugin, changes are simply gone. Moving back to assigned.

Comment 7 Till Maas 2023-03-07 18:41:03 UTC
(In reply to Vladimir Benes from comment #6)
> This doesn't work under ifcfg-rh plugin, changes are simply gone. Moving
> back to assigned.

The original request was only for key files, see comment:0. Therefore it seems to be fine to support this only with key files.

Comment 8 Till Maas 2023-03-07 18:47:15 UTC
(In reply to Till Maas from comment #7)
> (In reply to Vladimir Benes from comment #6)
> > This doesn't work under ifcfg-rh plugin, changes are simply gone. Moving
> > back to assigned.
> 
> The original request was only for key files, see comment:0. Therefore it
> seems to be fine to support this only with key files.

The acceptance criteria concur:

As a linux administrator, I would like a way to configure the number of frames allowed per kernel transmission queue using NetworkManager so that I don’t need to write a dispatcher script or to use udev rules or rc local.


Given a RHEL machine where NetworkManager is running

When txqueuelen is set in /etc/NetworkManager/system-connections/<interface>.nmconnection in the “connection” or “ethtool” setting (depending where it makes most sense)

Then, NetworkManager should configure the txqueuelen for this interface.

Moving back to ON_QA.

Comment 9 Beniamino Galvani 2023-03-07 22:00:05 UTC
> The original request was only for key files, see comment:0. Therefore it seems to be fine to support this only with key files.

The problem is that there is no indication anywhere that the properties are ignored because ifcfg doesn't support them, they just vanish from the connection upon saving. If a RHEL9 machine has ifcfg files (that were generated manually or copied from RHEL8), these property won't work and it would be very hard to understand why for users. It seems better to either add ifcfg support for them, or add a mechanism to return an error when a property is not supported by the current format.