From c163610aca08a8a77cec7919279a1cb010e5d7a4 Mon Sep 17 00:00:00 2001
From: "th.l" <thl-cmk@outlook.com>
Date: Sun, 29 Aug 2021 20:11:42 +0200
Subject: [PATCH] update project

---
 agent_based/cisco_bgp_peer.py |  13 ++++++++++++-
 cisco_bgp_peer.mkp            | Bin 9568 -> 9671 bytes
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/agent_based/cisco_bgp_peer.py b/agent_based/cisco_bgp_peer.py
index 9fe944e..cf4d73a 100644
--- a/agent_based/cisco_bgp_peer.py
+++ b/agent_based/cisco_bgp_peer.py
@@ -9,6 +9,13 @@
 #
 # Monitor status of Cisco BGP Peers (IPv4 and IPv6)
 #
+# ToDo: move longoutput to inventory, based on inv_bgp_peer
+# ToDo: move helper functions to utils/bgp_peer, merge with bgp_peer
+# ToDo: merge WATO with bgp_peer
+# ToDo: merge metrics with bgp_peer
+# ToDo: merge check function with bgp_peer
+# goal: only snmp_section and parse function left
+#
 # 2018-05-24: changed counters to 1/s
 # 2018-05-25: a lot of code cleanup
 #             packet name changed from cisco_bgp to cisco_bgp_peer
@@ -39,6 +46,7 @@
 # 2021-08-22: added WATO option for admin state down
 # 2021-08-23: changed service name from "Cisco BGP peer" to "BGP peer" --> streamline with bgp_peer
 #             get localas from BGP-4-MIB::bgpLocalAs if CISCO-BGP4-MIB::cbgpPeer2LocalAs not set
+# 2021-08-29: fixed bgpLocalAs in BGP-4-MIB not set
 
 import re
 import time
@@ -229,7 +237,10 @@ def parse_cisco_bgp_peer(string_table: List[StringTable]) -> Dict[str, Peer]:
     cbgpPeer2Entry, cbgpPeer2AddrFamily, bgpLocalAs = string_table
 
     # local as from BGP-4-MIB
-    bgpLocalAs = bgpLocalAs[0][0]
+    try:
+        bgpLocalAs = bgpLocalAs[0][0]
+    except (IndexError):
+        bgpLocalAs = 'N/A'
 
     # create dictionary from cbgpPeer2Entry (peer ip address as index)
     peer_table = {}
diff --git a/cisco_bgp_peer.mkp b/cisco_bgp_peer.mkp
index 80bcb383198a032e785f1d71e25bf5355ed89e8f..636303dba04e990957156bc38b66c04b1a4b97fd 100644
GIT binary patch
delta 9563
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
F0RVKm-~|8x

literal 9568
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

-- 
GitLab