Bug 1949127

Summary: [RFE] support the 'queue_id' bond option
Product: Red Hat Enterprise Linux 9 Reporter: Beniamino Galvani <bgalvani>
Component: NetworkManagerAssignee: Gris Ge <fge>
Status: CLOSED ERRATA QA Contact: Matej Berezny <mberezny>
Severity: unspecified Docs Contact: Jaroslav Klech <jklech>
Priority: unspecified    
Version: 9.0CC: acardace, bbrezani, bgalvani, ferferna, fge, haliu, jklech, lrintel, mberezny, rkhan, sukulkar, thaller, till, vbenes
Target Milestone: betaKeywords: FutureFeature, Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: NetworkManager-1.34.0-0.1.el9 Doc Type: Enhancement
Doc Text:
.NetworkManager allows to change `queue_id` of bond port NetworkManager ports in a bond now supports the `queue_id` parameter. Assuming `eth1` is a port of bond interface, you can enable `queue_id` for a bond port with: [literal,subs="quotes"] ---- # nmcli connection modify eth1 bond-port.queue-id 1 # nmcli connection up eth1 ---- Any network interface that needs to use this option should configure it with multiple calls until proper priorities are set for all interfaces. For more information, see `/usr/share/docs/kernel-doc-_<version>/Documentation/networking/bonding.rst` file that is provided by the `kernel-doc` package.
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-05-17 15:48:15 UTC 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: 1951910    

Description Beniamino Galvani 2021-04-13 13:35:37 UTC
NM should support the 'queue_id' bond option. From [1]:

  The queue_id for a slave can be set using the command::

	  # echo "eth1:2" > /sys/class/net/bond0/bonding/queue_id

  Any interface that needs a queue_id set should set it with multiple calls
  like the one above until proper priorities are set for all interfaces.  On
  distributions that allow configuration via initscripts, multiple 'queue_id'
  arguments can be added to BONDING_OPTS to set all needed slave queues.

[1] https://www.kernel.org/doc/Documentation/networking/bonding.rst

Comment 7 Gris Ge 2021-06-22 07:55:29 UTC
The `queue_id` information is exposed by kernel netlink at the bond port level, not the bond itself.

For the new design in NetworkManager, I would suggest we do the similar thing like `NM.SettingBridgePort`.

Comment 8 Gris Ge 2021-08-27 04:02:31 UTC
Upstream patch merged at https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/952

Comment 15 Gris Ge 2021-11-01 08:40:24 UTC
The document is incorrect.

With NetworkManager shipped by this bug, user could use NetworkManager instead of sysfs to change the queue_id of bond port.
(assuming eth1 is a port of bond interface).

    sudo nmcli c modify eth1 bond-port.queue-id 1
    sudo nmcli c up eth1

Comment 16 Jaroslav Klech 2021-11-03 14:23:02 UTC
(In reply to Gris Ge from comment #15)
> The document is incorrect.
> 
> With NetworkManager shipped by this bug, user could use NetworkManager
> instead of sysfs to change the queue_id of bond port.
> (assuming eth1 is a port of bond interface).
> 
>     sudo nmcli c modify eth1 bond-port.queue-id 1
>     sudo nmcli c up eth1

Thanks Gris,

I assume only the heading was incorrect. So I fixed that and hope the rest remains OK. If not, feel free to let me know what parts should i updated.

Thanks,
Jaroslav

Comment 17 Gris Ge 2021-11-11 07:13:17 UTC
Document looks good to me now. Thanks!

Comment 18 Gris Ge 2021-11-11 07:19:46 UTC
https://www.kernel.org/doc/Documentation/networking/bonding.txt
The section 3.6 Overriding Configuration for Special Cases explained the detail usage of this `queue_id` of bond port.

Comment 23 errata-xmlrpc 2022-05-17 15:48:15 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (new packages: NetworkManager), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2022:3915