82 lines
3.7 KiB
Diff
82 lines
3.7 KiB
Diff
From dea184d3aa8a6038977494ddd4ae6c540317fb72 Mon Sep 17 00:00:00 2001
|
|
From: Hangbin Liu <haliu@redhat.com>
|
|
Date: Fri, 24 Mar 2023 14:00:11 +0800
|
|
Subject: [PATCH 14/15] utils/team2bond: Add queue_id support
|
|
|
|
Adding bond ports in the option check logic. There is no need to do it in
|
|
another loop, then we can remove the bond_ports variable.
|
|
|
|
Signed-off-by: Hangbin Liu <haliu@redhat.com>
|
|
---
|
|
utils/team2bond | 38 +++++++++++++++++++-------------------
|
|
1 file changed, 19 insertions(+), 19 deletions(-)
|
|
|
|
diff --git a/utils/team2bond b/utils/team2bond
|
|
index f337906..2f5d868 100755
|
|
--- a/utils/team2bond
|
|
+++ b/utils/team2bond
|
|
@@ -263,10 +263,11 @@ def setup_ports(bond_name, team_opts, exec_cmd):
|
|
|
|
if 'ports' in team_opts:
|
|
for iface in team_opts['ports']:
|
|
- bond_ports.append(iface)
|
|
+ port_options = ["ifname", iface, "master", bond_name]
|
|
+
|
|
if 'queue_id' in team_opts['ports'][iface]:
|
|
- print("# Warn: Option queue_id: %d on interface %s is not supported by NM yet, please see rhbz:1949127" %
|
|
- (team_opts['ports'][iface]['queue_id'], iface))
|
|
+ port_options.append("bond-port.queue-id")
|
|
+ port_options.append(str(team_opts['ports'][iface]['queue_id']))
|
|
if 'lacp_prio' in team_opts['ports'][iface]:
|
|
print("# Warn: Option lacp_prio: %d on interface %s is not supported by bonding" %
|
|
(team_opts['ports'][iface]['lacp_prio'], iface))
|
|
@@ -289,23 +290,21 @@ def setup_ports(bond_name, team_opts, exec_cmd):
|
|
primary['name'] = iface
|
|
primary['sticky'] = True
|
|
|
|
- for port in bond_ports:
|
|
- ret = subprocess.run(['nmcli', '-g', 'general.type', 'dev', 'show', port],
|
|
- stderr=subprocess.PIPE, stdout=subprocess.PIPE)
|
|
- if ret.returncode != 0:
|
|
- print("# Warn: Get dev %s type failed, will use type ethernet by default" % port)
|
|
- if_type = 'ethernet'
|
|
- elif ret.stdout.find(b'ethernet') != 0:
|
|
- print("# Warn: %s is not a ethernet device, please make sure the type is correct" % port)
|
|
- if_type = str(ret.stdout, 'utf-8').strip()
|
|
- else:
|
|
- if_type = str(ret.stdout, 'utf-8').strip()
|
|
+ ret = subprocess.run(['nmcli', '-g', 'general.type', 'dev', 'show', iface],
|
|
+ stderr=subprocess.PIPE, stdout=subprocess.PIPE)
|
|
+ if ret.returncode != 0:
|
|
+ print("# Warn: Get dev %s type failed, will use type ethernet by default" % iface)
|
|
+ if_type = 'ethernet'
|
|
+ elif ret.stdout.find(b'ethernet') != 0:
|
|
+ print("# Warn: %s is not a ethernet device, please make sure the type is correct" % iface)
|
|
+ if_type = str(ret.stdout, 'utf-8').strip()
|
|
+ else:
|
|
+ if_type = str(ret.stdout, 'utf-8').strip()
|
|
|
|
- if exec_cmd:
|
|
- subprocess.run(['nmcli', 'con', 'add', 'type', if_type,
|
|
- 'ifname', port, 'master', bond_name])
|
|
- else:
|
|
- print('nmcli con add type %s ifname %s master %s' % (if_type, port, bond_name))
|
|
+ if exec_cmd:
|
|
+ subprocess.run(['nmcli', 'con', 'add', 'type', if_type] + port_options)
|
|
+ else:
|
|
+ print('nmcli con add type %s %s' % (if_type, " ".join(port_options)))
|
|
|
|
if lacp_key != 0:
|
|
if exec_cmd:
|
|
@@ -314,6 +313,7 @@ def setup_ports(bond_name, team_opts, exec_cmd):
|
|
else:
|
|
print('nmcli con mod bond-' + bond_name \
|
|
+ ' +bond.options "ad_user_port_key=' + str(lacp_key) + '"')
|
|
+
|
|
if primary['name']:
|
|
if exec_cmd:
|
|
subprocess.run(['nmcli', 'con', 'mod', 'bond-' + bond_name,
|
|
--
|
|
2.38.1
|
|
|