Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions scripts/perftune.py
Original file line number Diff line number Diff line change
Expand Up @@ -653,7 +653,8 @@ def tune(self):
perftune_print("Setting a physical interface {}...".format(nic))
self.__setup_one_hw_iface(nic)
else:
perftune_print(f"Setting a {nic} {'bond' if self.nic_is_bond_iface(nic) else 'VLAN'} interface...")
type_str = 'bond' if self.nic_is_bond_iface(nic) else ('VLAN' if self.nic_is_vlan_iface(nic) else 'has_slaves')
perftune_print(f"Setting a {nic} {type_str} interface...")
self.__setup_composite_iface(nic)

# Increase the socket listen() backlog
Expand All @@ -680,14 +681,17 @@ def nic_is_bond_iface(self, nic):
def nic_is_vlan_iface(self, nic):
return self.__nic_is_vlan_iface.get(nic, False)

def nic_has_slaves(self, nic):
return bool(glob.glob(f"/sys/class/net/{nic}/lower_*"))

def nic_is_composite_iface(self, nic):
return self.nic_is_bond_iface(nic) or self.nic_is_vlan_iface(nic)
return self.nic_is_bond_iface(nic) or self.nic_is_vlan_iface(nic) or self.nic_has_slaves(nic)

def nic_exists(self, nic):
return self.__iface_exists(nic)

def nic_is_hw_iface(self, nic):
return self.__dev_is_hw_iface(nic)
return self.__dev_is_hw_iface(nic) and not self.nic_has_slaves(nic)

def slaves(self, nic):
"""
Expand Down Expand Up @@ -837,7 +841,7 @@ def __learn_slaves_one(self, nic):
if self.nic_is_bond_iface(nic):
top_slaves_list = set(itertools.chain.from_iterable(
[line.split() for line in open("/sys/class/net/{}/bonding/slaves".format(nic), 'r').readlines()]))
elif self.nic_is_vlan_iface(nic):
elif self.nic_is_vlan_iface(nic) or self.nic_has_slaves(nic):
# VLAN interfaces have a symbolic link 'lower_<parent_interface_name>' under
# /sys/class/net/<VLAN interface name>.
#
Expand Down