From 247964178ac45dfbf1e176d9951b99ab89736c4e Mon Sep 17 00:00:00 2001 From: Christian Manivong Date: Wed, 24 Jun 2026 14:47:08 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20Fingerprint-Attribute=20f=C3=BCr=20Disc?= =?UTF-8?q?overy-Scoring?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ergänzt DRIVER_NAME, HTTP_FINGERPRINT, SNMP_FINGERPRINT, SSH_FINGERPRINT, PORT_SPECS und SNMP_OBJECT_ID_PREFIX gemäß docs/DISCOVERY_FINGERPRINTING.md. Co-Authored-By: Claude Sonnet 4.6 --- .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 350 bytes .../__pycache__/api_client.cpython-312.pyc | Bin 28583 -> 28858 bytes .../__pycache__/parsers.cpython-312.pyc | Bin 0 -> 33477 bytes .../__pycache__/procurve.cpython-312.pyc | Bin 59009 -> 56947 bytes napalm_procurve/procurve.py | 14 +++++++++++++- tests/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 182 bytes .../unit/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 187 bytes .../test_driver.cpython-312-pytest-9.0.3.pyc | Bin 0 -> 83173 bytes 8 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 napalm_procurve/__pycache__/__init__.cpython-312.pyc create mode 100644 napalm_procurve/__pycache__/parsers.cpython-312.pyc create mode 100644 tests/__pycache__/__init__.cpython-312.pyc create mode 100644 tests/unit/__pycache__/__init__.cpython-312.pyc create mode 100644 tests/unit/__pycache__/test_driver.cpython-312-pytest-9.0.3.pyc diff --git a/napalm_procurve/__pycache__/__init__.cpython-312.pyc b/napalm_procurve/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..73a8967ddda2b1f72427b326a17e96dc35306951 GIT binary patch literal 350 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 diff --git a/napalm_procurve/__pycache__/parsers.cpython-312.pyc b/napalm_procurve/__pycache__/parsers.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1cd1b72a038b1c284b73ec7dd3eed03966e3d5f7 GIT binary patch literal 33477 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

1^}SY|@rkfshM%%eV! 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 literal 0 HcmV?d00001 diff --git a/napalm_procurve/__pycache__/procurve.cpython-312.pyc b/napalm_procurve/__pycache__/procurve.cpython-312.pyc index caa1f9b80a97dc119b6c16f4a1efd33918e8478b..0f6c04e97b959b2e36808d98d7687d8123495f47 100644 GIT binary patch delta 8666 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 diff --git a/napalm_procurve/procurve.py b/napalm_procurve/procurve.py index 8ecbe65..dbd40dc 100644 --- a/napalm_procurve/procurve.py +++ b/napalm_procurve/procurve.py @@ -27,7 +27,7 @@ from netmiko.exceptions import ( NetmikoAuthenticationException, NetmikoTimeoutException, ) -from napalm_device_types import ConfigLifecycleMixin, SwitchDriver +from napalm_device_types import ConfigLifecycleMixin, FingerprintRule, SwitchDriver from napalm_device_types.models import InterfaceConfigDict, VlanConfigDict from napalm.base import helpers as napalm_helpers from napalm.base.exceptions import ( @@ -78,6 +78,18 @@ class ProcurveDriver(ConfigLifecycleMixin, SwitchDriver): """ VENDOR = "HPE" + DRIVER_NAME = "procurve" + SNMP_OBJECT_ID_PREFIX = "1.3.6.1.4.1.11" + SSH_FINGERPRINT = [ + FingerprintRule("hp", weight=5.0), + FingerprintRule("aruba", weight=4.0), + ] + HTTP_FINGERPRINT = [ + FingerprintRule("hp procurve", weight=8.0, mandatory=True), + FingerprintRule("procurve", weight=6.0), + FingerprintRule("ehttp", weight=5.0), + FingerprintRule("comware", weight=5.0), + ] NETMIKO_DEVICE_TYPE = "hp_procurve" NETMIKO_DEVICE_TYPE_TELNET = "hp_procurve_telnet" diff --git a/tests/__pycache__/__init__.cpython-312.pyc b/tests/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b33a6fff530026a2874aee4a65418df7fcbf8b2e GIT binary patch literal 182 zcmX@j%ge<81iTKCS!zJ~F^Gc>KC=KtrZZGBXfpb(WGG?+@;-yq{0i02$j?pHPtGXH zEH24R%*##8%Ph;!OV>|HEz|c)E%7hP)-OxVOUW!EGkV()Ga8= zPcAJgOVuw)EiNh6kB`sH%PfhH*DI*}#bJ}1pHiBWYFESxw1p9fi$RQ!%#4hTMa)1J E08NuGq5uE@ literal 0 HcmV?d00001 diff --git a/tests/unit/__pycache__/__init__.cpython-312.pyc b/tests/unit/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5e9f8d1d23eb04af6b0f9e0f0c1753ab6a7cafb3 GIT binary patch literal 187 zcmZ9FO$x#=5QP(~AVLq~qRs`xBhay&HH8; zc+axju%z#sUvs|l_}8>dmpdETme&tPi?mJoXFfq^285;~<-C%5kXl8fFVJFy8vT)O z5K*^=Kuat8q3SGFlEPV5mP`{UB6xJ(LD0&B5GsWbJ3G$n{b1VAEp)&RW literal 0 HcmV?d00001 diff --git a/tests/unit/__pycache__/test_driver.cpython-312-pytest-9.0.3.pyc b/tests/unit/__pycache__/test_driver.cpython-312-pytest-9.0.3.pyc new file mode 100644 index 0000000000000000000000000000000000000000..21ee7cd47a5af657a205ec74ce40b55b59fb0fa1 GIT binary patch literal 83173 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Ν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 v=kE5cRC$2AJx