network/module_utils/network_lsr/nm_provider.py
Rich Megginson e890ab5813 refactor: fix python black formatting
Signed-off-by: Rich Megginson <rmeggins@redhat.com>
2025-01-31 08:02:52 -07:00

60 lines
1.6 KiB
Python

# SPDX-License-Identifier: BSD-3-Clause
"""Support for NetworkManager aka the NM provider"""
from __future__ import absolute_import, division, print_function
__metaclass__ = type
# pylint: disable=import-error, no-name-in-module
from ansible.module_utils.network_lsr.utils import Util # noqa:E501
ETHTOOL_FEATURE_PREFIX = "ETHTOOL_OPTNAME_FEATURE_"
ETHTOOL_COALESCE_PREFIX = "ETHTOOL_OPTNAME_COALESCE_"
ETHTOOL_RING_PREFIX = "ETHTOOL_OPTNAME_RING_"
def get_nm_ethtool_feature(name):
"""
Translate ethtool feature into Network Manager name
:param name: Name of the feature
:type name: str
:returns: Name of the feature to be used by `NM.SettingEthtool.set_feature()`
:rtype: str
"""
name = ETHTOOL_FEATURE_PREFIX + name.upper()
feature = getattr(Util.NM(), name, None)
return feature
def get_nm_ethtool_coalesce(name):
"""
Translate ethtool coalesce into Network Manager name
:param name: Name of the coalesce
:type name: str
:returns: Name of the setting to be used by `NM.SettingEthtool.set_coalesce()`
:rtype: str
"""
name = ETHTOOL_COALESCE_PREFIX + name.upper()
coalesce = getattr(Util.NM(), name, None)
return coalesce
def get_nm_ethtool_ring(name):
"""
Translate ethtool ring option into NetworkManager attribute name
:param name: Name of the ring
:type name: str
:returns: Name of the setting to be used by `NM.SettingEthtool.set_ring()`
:rtype: str
"""
name = ETHTOOL_RING_PREFIX + name.upper()
ring = getattr(Util.NM(), name, None)
return ring