diff --git a/CHANGELOG b/CHANGELOG index 37ad84a4bab667b73d0099ce984cb51c9bfb5210..42097ea4258fb83e570082d9d4e42f3d9b749519 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1 +1,3 @@ 2021-07-01: extended if64 to use ifName instead of ifDescr +2021-09-29: fixed empty interface name handling +2023-03-02: changed for CMK 2.1.x diff --git a/agent_based/if64name.py b/agent_based/if64name.py index 7d43239b395c13788327d78b142ff6832c5af640..4e8eaa14195ebb4a17de8fe5101c7bb7eaf5ce96 100644 --- a/agent_based/if64name.py +++ b/agent_based/if64name.py @@ -9,7 +9,8 @@ # # extended if64 to use ifNAme instead of ifDescr # -# 2021-0929: fixed empty interface name handling +# 2021-09-29: fixed empty interface name handling +# 2023-03-02: changed for CMK 2.1.x # from typing import ( @@ -21,6 +22,11 @@ from cmk.base.plugins.agent_based.agent_based_api.v1 import ( SNMPTree, type_defs, ) + +from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import ( + StringByteTable, +) + from cmk.base.plugins.agent_based.utils import if64, interfaces _interface_displayhints = { @@ -54,8 +60,8 @@ def _get_short_if_name(ifname: str) -> str: return ifname -def parse_if64name(string_table: List[type_defs.StringByteTable]) -> interfaces.Section: - for interface in string_table[0]: +def parse_if64name(string_table: StringByteTable) -> interfaces.Section: + for interface in string_table: if interface[-1] != '': interface[1] = interface[-1] # replace ifDescr with ifName (.1.3.6.1.2.1.31.1.1.1.1) interface[1] = _get_short_if_name(interface[1]) # ifDescr (.1.3.6.1.2.1.2.2.1.2) @@ -67,12 +73,10 @@ register.snmp_section( name='if64name', parsed_section_name='if64', parse_function=parse_if64name, - fetch=[ - SNMPTree( + fetch= SNMPTree( base=if64.BASE_OID, oids=if64.END_OIDS + ['31.1.1.1.1'] # IF-MIB::ifName, ), - ], detect=if64.HAS_ifHCInOctets, supersedes=['if64', 'interfaces', 'if', 'statgrab_net'], ) diff --git a/if64name.mkp b/if64name.mkp index 79a70c620aa33e3724203e5a29f0e012a7e6585f..fdc43713dcd039be9de28dc6eb5d12426841419b 100644 Binary files a/if64name.mkp and b/if64name.mkp differ diff --git a/packages/if64name b/packages/if64name index e5134e580f01359690ccbad66d35b4c40bd25ccd..5fda3800b8a6848b9b924d2c126d60d02dd912a2 100644 --- a/packages/if64name +++ b/packages/if64name @@ -9,9 +9,8 @@ 'download_url': 'https://thl-cmk.hopto.org', 'files': {'agent_based': ['if64name.py']}, 'name': 'if64name', - 'num_files': 1, 'title': 'ifName extension for if64', - 'version': '20210929.v0.0.1a', - 'version.min_required': '2.0.0', - 'version.packaged': '2021.09.20', + 'version': '20230302.v0.0.2', + 'version.min_required': '2.1.0', + 'version.packaged': '2.1.0p22', 'version.usable_until': None} \ No newline at end of file