From 7832d0a68dae656cd71ced3eab7c12f028f87408 Mon Sep 17 00:00:00 2001 From: Lee Calder Date: Wed, 11 Dec 2019 17:52:17 +1100 Subject: [PATCH 01/30] IOS driver get_network_instances fix --- napalm/ios/ios.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/napalm/ios/ios.py b/napalm/ios/ios.py index 7a4da2e76..33f0b7f5f 100644 --- a/napalm/ios/ios.py +++ b/napalm/ios/ios.py @@ -3314,7 +3314,11 @@ def get_network_instances(self, name=""): if "No interfaces" in first_part: interfaces = {} else: - interfaces = {itf: {} for itf in if_regex.group(1).split()} + interfaces = {canonical_interface_name(itf): {} for itf in if_regex.group(1).split()} + + # remove interfaces in the VRF from the default VRF + for item in interfaces: + del instances['default']['interfaces']['interface'][item] instances[vrf_name] = { "name": vrf_name, From 223572a3dd8abca7beb1f963675ffba4ddf36e6f Mon Sep 17 00:00:00 2001 From: Lee Calder Date: Wed, 11 Dec 2019 18:45:28 +1100 Subject: [PATCH 02/30] Fix for SVIs --- napalm/ios/ios.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/napalm/ios/ios.py b/napalm/ios/ios.py index 33f0b7f5f..4c45c843f 100644 --- a/napalm/ios/ios.py +++ b/napalm/ios/ios.py @@ -3314,7 +3314,7 @@ def get_network_instances(self, name=""): if "No interfaces" in first_part: interfaces = {} else: - interfaces = {canonical_interface_name(itf): {} for itf in if_regex.group(1).split()} + interfaces = {canonical_interface_name(itf, {'Vl':'Vlan'}): {} for itf in if_regex.group(1).split()} # remove interfaces in the VRF from the default VRF for item in interfaces: From dc0e1661ea1b64c6f66b4095720b39c411e79e3c Mon Sep 17 00:00:00 2001 From: Lee Calder Date: Mon, 20 Jan 2020 00:57:12 +0000 Subject: [PATCH 03/30] changed formatting and ' to " --- napalm/ios/ios.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/napalm/ios/ios.py b/napalm/ios/ios.py index 4c45c843f..ca6d3afe3 100644 --- a/napalm/ios/ios.py +++ b/napalm/ios/ios.py @@ -3314,11 +3314,14 @@ def get_network_instances(self, name=""): if "No interfaces" in first_part: interfaces = {} else: - interfaces = {canonical_interface_name(itf, {'Vl':'Vlan'}): {} for itf in if_regex.group(1).split()} + interfaces = { + canonical_interface_name(itf, {"Vl": "Vlan"}): {} + for itf in if_regex.group(1).split() + } # remove interfaces in the VRF from the default VRF for item in interfaces: - del instances['default']['interfaces']['interface'][item] + del instances["default"]["interfaces"]["interface"][item] instances[vrf_name] = { "name": vrf_name, From 0f2a2ec004de8546583e3ccbc8c58a25980336ef Mon Sep 17 00:00:00 2001 From: David Lundgren Date: Fri, 7 Feb 2020 14:15:03 -0600 Subject: [PATCH 04/30] Allow username detection on older Cisco ios versions This switches to the older `| include` syntax, and allows usernames with `password` to be detected. --- napalm/ios/ios.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/napalm/ios/ios.py b/napalm/ios/ios.py index 8cad3d9a2..e2d313b32 100644 --- a/napalm/ios/ios.py +++ b/napalm/ios/ios.py @@ -3034,14 +3034,14 @@ def get_users(self): """ username_regex = ( r"^username\s+(?P\S+)\s+(?:privilege\s+(?P\S+)" - r"\s+)?(?:secret \d+\s+(?P\S+))?$" + r"\s+)?(?:(password|secret) \d+\s+(?P\S+))?$" ) pub_keychain_regex = ( r"^\s+username\s+(?P\S+)(?P(?:\n\s+key-hash\s+" r"(?P\S+)\s+(?P\S+)(?:\s+\S+)?)+)$" ) users = {} - command = "show run | section username" + command = "show run | include username" output = self._send_command(command) for match in re.finditer(username_regex, output, re.M): users[match.groupdict()["username"]] = { From be90c15de9c4aa3f5a7330c4a3d93b501cef4f2c Mon Sep 17 00:00:00 2001 From: Frederic Brin Date: Thu, 14 May 2020 10:35:30 +0200 Subject: [PATCH 05/30] Initial version for nxos_ssh get_optics Implements nxos_ssh get_optics function * | json does not work, we have to parse the Terminal * Extracts current / input / ouput metrics * Also retrieves Gib data * Maps Gbic type to Generic YANG types (Reference the Gbics We own so far) --- napalm/nxos_ssh/nxos_ssh.py | 105 ++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) diff --git a/napalm/nxos_ssh/nxos_ssh.py b/napalm/nxos_ssh/nxos_ssh.py index 1dece3e19..278b77ab1 100644 --- a/napalm/nxos_ssh/nxos_ssh.py +++ b/napalm/nxos_ssh/nxos_ssh.py @@ -429,6 +429,17 @@ def __init__(self, hostname, username, password, timeout=60, optional_args=None) hostname, username, password, timeout=timeout, optional_args=optional_args ) self.platform = "nxos_ssh" + self.connector_type_map = { + '1000base-LH': 'LC_CONNECTOR', + '1000base-SX': 'LC_CONNECTOR', + '1000base-T': 'Unknown', + '10Gbase-LR': 'LC_CONNECTOR', + '10Gbase-SR': 'LC_CONNECTOR', + 'SFP-H10GB-CU1M': 'DAC_CONNECTOR', + 'SFP-H10GB-CU1.45M': 'DAC_CONNECTOR', + 'SFP-H10GB-CU3M': 'DAC_CONNECTOR', + 'SFP-H10GB-CU3.45M': 'DAC_CONNECTOR', + } def open(self): self.device = self._netmiko_open( @@ -1528,3 +1539,97 @@ def get_vlans(self): "interfaces": self._parse_vlan_ports(vlan["vlanshowplist-ifidx"]), } return vlans + + def get_optics(self): + command = "show interface transceiver details" + output = self._send_command(command) + + # Formatting data into return data structure + optics_detail = {} + + # Extraction Regexps + port_ts_re = re.compile(r'^Ether.*?(?=\nEther|\Z)', re.M | re.DOTALL) + port_re = re.compile(r'^(Ether.*)[ ]*?$', re.M) + vendor_re = re.compile('name is (.*)$', re.M) + vendor_part_re = re.compile('part number is (.*)$', re.M) + vendor_rev_re = re.compile('revision is (.*)$', re.M) + serial_no_re = re.compile('serial number is (.*)$', re.M) + type_no_re = re.compile('type is (.*)$', re.M) + rx_instant_re = re.compile(r'Rx Power[ ]+(?:(.*?)[ ]+dBm|(N.A))', re.M) + tx_instant_re = re.compile(r'Tx Power[ ]+(?:(.*?)[ ]+dBm|(N.A))', re.M) + current_instant_re = re.compile(r'Current[ ]+(.*?)[ ]+mA', re.M) + + port_ts_l = port_ts_re.findall(output) + + for port_ts in port_ts_l: + # print(port_ts) + port = port_re.search(port_ts).group(1) + if 'transceiver is not present' in port_ts: + continue + port_detail = {"physical_channels": {"channel": []}} + # No metric present + vendor = vendor_re.search(port_ts).group(1) + vendor_part = vendor_part_re.search(port_ts).group(1) + vendor_rev = vendor_rev_re.search(port_ts).group(1) + serial_no = serial_no_re.search(port_ts).group(1) + type_s = type_no_re.search(port_ts).group(1) + # print(type_s) + state = { + 'vendor': vendor.strip(), + 'vendor_part': vendor_part.strip(), + 'vendor_rev': vendor_rev.strip(), + 'serial_no': serial_no.strip(), + 'connector_type': self.connector_type_map.get(type_s, + "Unknown") + } + if "DOM is not supported" not in port_ts: + res = rx_instant_re.search(port_ts) + input_power = res.group(1) or res.group(2) + res = tx_instant_re.search(port_ts) + output_power = res.group(1) or res.group(2) + current = current_instant_re.search(port_ts).group(1) + + # If interface is shutdown it returns "N/A" as output power + # or "N/A" as input power + # Converting that to -100.0 float + try: + float(output_power) + except ValueError: + output_power = -100.0 + try: + float(input_power) + except ValueError: + input_power = -100.0 + + # Defaulting avg, min, max values to -100.0 since device does not + # return these values + optic_states = { + "index": 0, + "state": { + "input_power": { + "instant": (float(input_power) if "input_power" else -100.0), + "avg": -100.0, + "min": -100.0, + "max": -100.0, + }, + "output_power": { + "instant": (float(output_power) if "output_power" else -100.0), + "avg": -100.0, + "min": -100.0, + "max": -100.0, + }, + "laser_bias_current": { + "instant": (float(current) if "current" else -100.0), + "avg": 0.0, + "min": 0.0, + "max": 0.0, + }, + }, + } + port_detail["physical_channels"]["channel"].append(optic_states) + + port_detail['state'] = state + optics_detail[port] = port_detail + # print(port_detail) + + return optics_detail From f4e822219c118b660523874055bd2cd585162b9d Mon Sep 17 00:00:00 2001 From: Frederic Brin Date: Thu, 14 May 2020 10:44:55 +0200 Subject: [PATCH 06/30] Make black happy --- napalm/nxos_ssh/nxos_ssh.py | 61 +++++++++++++++++++------------------ 1 file changed, 32 insertions(+), 29 deletions(-) diff --git a/napalm/nxos_ssh/nxos_ssh.py b/napalm/nxos_ssh/nxos_ssh.py index 278b77ab1..ae56f08bd 100644 --- a/napalm/nxos_ssh/nxos_ssh.py +++ b/napalm/nxos_ssh/nxos_ssh.py @@ -430,15 +430,15 @@ def __init__(self, hostname, username, password, timeout=60, optional_args=None) ) self.platform = "nxos_ssh" self.connector_type_map = { - '1000base-LH': 'LC_CONNECTOR', - '1000base-SX': 'LC_CONNECTOR', - '1000base-T': 'Unknown', - '10Gbase-LR': 'LC_CONNECTOR', - '10Gbase-SR': 'LC_CONNECTOR', - 'SFP-H10GB-CU1M': 'DAC_CONNECTOR', - 'SFP-H10GB-CU1.45M': 'DAC_CONNECTOR', - 'SFP-H10GB-CU3M': 'DAC_CONNECTOR', - 'SFP-H10GB-CU3.45M': 'DAC_CONNECTOR', + "1000base-LH": "LC_CONNECTOR", + "1000base-SX": "LC_CONNECTOR", + "1000base-T": "Unknown", + "10Gbase-LR": "LC_CONNECTOR", + "10Gbase-SR": "LC_CONNECTOR", + "SFP-H10GB-CU1M": "DAC_CONNECTOR", + "SFP-H10GB-CU1.45M": "DAC_CONNECTOR", + "SFP-H10GB-CU3M": "DAC_CONNECTOR", + "SFP-H10GB-CU3.45M": "DAC_CONNECTOR", } def open(self): @@ -1548,23 +1548,23 @@ def get_optics(self): optics_detail = {} # Extraction Regexps - port_ts_re = re.compile(r'^Ether.*?(?=\nEther|\Z)', re.M | re.DOTALL) - port_re = re.compile(r'^(Ether.*)[ ]*?$', re.M) - vendor_re = re.compile('name is (.*)$', re.M) - vendor_part_re = re.compile('part number is (.*)$', re.M) - vendor_rev_re = re.compile('revision is (.*)$', re.M) - serial_no_re = re.compile('serial number is (.*)$', re.M) - type_no_re = re.compile('type is (.*)$', re.M) - rx_instant_re = re.compile(r'Rx Power[ ]+(?:(.*?)[ ]+dBm|(N.A))', re.M) - tx_instant_re = re.compile(r'Tx Power[ ]+(?:(.*?)[ ]+dBm|(N.A))', re.M) - current_instant_re = re.compile(r'Current[ ]+(.*?)[ ]+mA', re.M) + port_ts_re = re.compile(r"^Ether.*?(?=\nEther|\Z)", re.M | re.DOTALL) + port_re = re.compile(r"^(Ether.*)[ ]*?$", re.M) + vendor_re = re.compile("name is (.*)$", re.M) + vendor_part_re = re.compile("part number is (.*)$", re.M) + vendor_rev_re = re.compile("revision is (.*)$", re.M) + serial_no_re = re.compile("serial number is (.*)$", re.M) + type_no_re = re.compile("type is (.*)$", re.M) + rx_instant_re = re.compile(r"Rx Power[ ]+(?:(.*?)[ ]+dBm|(N.A))", re.M) + tx_instant_re = re.compile(r"Tx Power[ ]+(?:(.*?)[ ]+dBm|(N.A))", re.M) + current_instant_re = re.compile(r"Current[ ]+(.*?)[ ]+mA", re.M) port_ts_l = port_ts_re.findall(output) for port_ts in port_ts_l: # print(port_ts) port = port_re.search(port_ts).group(1) - if 'transceiver is not present' in port_ts: + if "transceiver is not present" in port_ts: continue port_detail = {"physical_channels": {"channel": []}} # No metric present @@ -1575,12 +1575,11 @@ def get_optics(self): type_s = type_no_re.search(port_ts).group(1) # print(type_s) state = { - 'vendor': vendor.strip(), - 'vendor_part': vendor_part.strip(), - 'vendor_rev': vendor_rev.strip(), - 'serial_no': serial_no.strip(), - 'connector_type': self.connector_type_map.get(type_s, - "Unknown") + "vendor": vendor.strip(), + "vendor_part": vendor_part.strip(), + "vendor_rev": vendor_rev.strip(), + "serial_no": serial_no.strip(), + "connector_type": self.connector_type_map.get(type_s, "Unknown"), } if "DOM is not supported" not in port_ts: res = rx_instant_re.search(port_ts) @@ -1607,13 +1606,17 @@ def get_optics(self): "index": 0, "state": { "input_power": { - "instant": (float(input_power) if "input_power" else -100.0), + "instant": ( + float(input_power) if "input_power" else -100.0 + ), "avg": -100.0, "min": -100.0, "max": -100.0, }, "output_power": { - "instant": (float(output_power) if "output_power" else -100.0), + "instant": ( + float(output_power) if "output_power" else -100.0 + ), "avg": -100.0, "min": -100.0, "max": -100.0, @@ -1628,7 +1631,7 @@ def get_optics(self): } port_detail["physical_channels"]["channel"].append(optic_states) - port_detail['state'] = state + port_detail["state"] = state optics_detail[port] = port_detail # print(port_detail) From 02b9ba4985ddb969727fedcc261cb51738a91f66 Mon Sep 17 00:00:00 2001 From: Frederic Brin Date: Thu, 14 May 2020 15:41:53 +0200 Subject: [PATCH 07/30] Remove unneeded debug comments --- napalm/nxos_ssh/nxos_ssh.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/napalm/nxos_ssh/nxos_ssh.py b/napalm/nxos_ssh/nxos_ssh.py index ae56f08bd..78b87793e 100644 --- a/napalm/nxos_ssh/nxos_ssh.py +++ b/napalm/nxos_ssh/nxos_ssh.py @@ -1562,7 +1562,6 @@ def get_optics(self): port_ts_l = port_ts_re.findall(output) for port_ts in port_ts_l: - # print(port_ts) port = port_re.search(port_ts).group(1) if "transceiver is not present" in port_ts: continue @@ -1573,7 +1572,6 @@ def get_optics(self): vendor_rev = vendor_rev_re.search(port_ts).group(1) serial_no = serial_no_re.search(port_ts).group(1) type_s = type_no_re.search(port_ts).group(1) - # print(type_s) state = { "vendor": vendor.strip(), "vendor_part": vendor_part.strip(), @@ -1633,6 +1631,5 @@ def get_optics(self): port_detail["state"] = state optics_detail[port] = port_detail - # print(port_detail) return optics_detail From a87bada9ded8dca8091b6dda56715704e5355fdd Mon Sep 17 00:00:00 2001 From: Frederic Brin Date: Thu, 14 May 2020 16:05:42 +0200 Subject: [PATCH 08/30] Add sample test --- .../NEXUS3548_v6.0/expected_result.json | 1 + .../show_interface_transceiver_details.txt | 698 ++++++++++++++++++ 2 files changed, 699 insertions(+) create mode 100644 test/nxos_ssh/mocked_data/test_get_optics/NEXUS3548_v6.0/expected_result.json create mode 100644 test/nxos_ssh/mocked_data/test_get_optics/NEXUS3548_v6.0/show_interface_transceiver_details.txt diff --git a/test/nxos_ssh/mocked_data/test_get_optics/NEXUS3548_v6.0/expected_result.json b/test/nxos_ssh/mocked_data/test_get_optics/NEXUS3548_v6.0/expected_result.json new file mode 100644 index 000000000..c6bb30908 --- /dev/null +++ b/test/nxos_ssh/mocked_data/test_get_optics/NEXUS3548_v6.0/expected_result.json @@ -0,0 +1 @@ +{"Ethernet1/1": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-TYCO", "vendor_part": "1-2053783-2", "vendor_rev": "T", "serial_no": "TED1842B14Q", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/2": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-MOLEX", "vendor_part": "74752-9520", "vendor_rev": "09", "serial_no": "MOC1843A2BG", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/3": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-TYCO", "vendor_part": "1-2053783-2", "vendor_rev": "T", "serial_no": "TED1841B92L", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/4": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-TYCO", "vendor_part": "1-2053783-2", "vendor_rev": "T", "serial_no": "TED1842B14W", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/5": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-TYCO", "vendor_part": "1-2053783-2", "vendor_rev": "T", "serial_no": "TED1841B3SN", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/6": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-MOLEX", "vendor_part": "74752-9520", "vendor_rev": "09", "serial_no": "MOC1846A1WH", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/7": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-MOLEX", "vendor_part": "74752-9520", "vendor_rev": "09", "serial_no": "MOC1843A2BZ", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/8": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-MOLEX", "vendor_part": "74752-9520", "vendor_rev": "09", "serial_no": "MOC1843A2AN", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/9": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-MOLEX", "vendor_part": "74752-9520", "vendor_rev": "09", "serial_no": "MOC1846A17G", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/10": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-MOLEX", "vendor_part": "74752-9520", "vendor_rev": "09", "serial_no": "MOC1846A1JA", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/11": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-MOLEX", "vendor_part": "74752-9520", "vendor_rev": "09", "serial_no": "MOC1843A2BC", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/12": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-MOLEX", "vendor_part": "74752-9520", "vendor_rev": "09", "serial_no": "MOC1846A0QS", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/13": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-TYCO", "vendor_part": "1-2053783-2", "vendor_rev": "T", "serial_no": "TED1842B19F", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/14": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-TYCO", "vendor_part": "1-2053783-2", "vendor_rev": "T", "serial_no": "TED1842B186", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/15": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-TYCO", "vendor_part": "1-2053783-2", "vendor_rev": "T", "serial_no": "TED1841B90A", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/16": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-TYCO", "vendor_part": "1-2053783-2", "vendor_rev": "T", "serial_no": "TED1842B155", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/17": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-MOLEX", "vendor_part": "74752-9520", "vendor_rev": "09", "serial_no": "MOC1939A7FT", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/20": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-MOLEX", "vendor_part": "74752-9520", "vendor_rev": "09", "serial_no": "MOC1939A80T", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/21": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-MOLEX", "vendor_part": "74752-9520", "vendor_rev": "09", "serial_no": "MOC1939A7W5", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/22": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}, "state": {"vendor": "CISCO-FINISAR", "vendor_part": "FTLF1318P2BCL", "vendor_rev": "A0", "serial_no": "FNS15420WYA", "connector_type": "LC_CONNECTOR"}}, "Ethernet1/23": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-LOROM", "vendor_part": "LRHSPB54D030", "vendor_rev": "B2", "serial_no": "LRM20178056", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/24": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-LOROM", "vendor_part": "LRHSPB54D030", "vendor_rev": "B2", "serial_no": "LRM201780W1", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/25": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-LOROM", "vendor_part": "LRHSPB54D030", "vendor_rev": "B2", "serial_no": "LRM2017R011", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/26": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-LOROM", "vendor_part": "LRHSPB54D030", "vendor_rev": "B2", "serial_no": "LRM2017R00T", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/27": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-LOROM", "vendor_part": "LRHSPB54D030", "vendor_rev": "B2", "serial_no": "LRM201780CS", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/28": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-AVAGO", "vendor_part": "ABCU-5710RZ-CS4", "vendor_rev": "", "serial_no": "AGM1438228E", "connector_type": "Unknown"}}, "Ethernet1/29": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-AVAGO", "vendor_part": "ABCU-5710RZ-CS4B", "vendor_rev": "2", "serial_no": "AGM155029P2", "connector_type": "Unknown"}}, "Ethernet1/30": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-JPC", "vendor_part": "P3410UB03000-1", "vendor_rev": "A0", "serial_no": "JPC221402D8", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/31": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-JPC", "vendor_part": "P3410UB03000-1", "vendor_rev": "A0", "serial_no": "JPC22140098", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/32": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-JPC", "vendor_part": "P3410UB03000-1", "vendor_rev": "A0", "serial_no": "JPC221404J0", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/33": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-JPC", "vendor_part": "P3410UB03000-1", "vendor_rev": "A0", "serial_no": "JPC2214009K", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/34": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-AVAGO", "vendor_part": "ABCU-5710RZ-CS4", "vendor_rev": "", "serial_no": "AGM133123B4", "connector_type": "Unknown"}}, "Ethernet1/35": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-JPC", "vendor_part": "P3410UB03000-1", "vendor_rev": "A0", "serial_no": "JPC221404FY", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/36": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-JPC", "vendor_part": "P3410UB03000-1", "vendor_rev": "A0", "serial_no": "JPC221405JM", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/38": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-FINISAR", "vendor_part": "FTLF8519P2BCL-C4", "vendor_rev": "A", "serial_no": "FNS13490F31", "connector_type": "LC_CONNECTOR"}}, "Ethernet1/39": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}, "state": {"vendor": "CISCO", "vendor_part": "FTLF1318P3BTL-CS", "vendor_rev": "A", "serial_no": "FNS1906107E", "connector_type": "LC_CONNECTOR"}}, "Ethernet1/40": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}, "state": {"vendor": "CISCO", "vendor_part": "FTLF1318P3BTL-CS", "vendor_rev": "A", "serial_no": "FNS1906106H", "connector_type": "LC_CONNECTOR"}}, "Ethernet1/41": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.01, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}, "state": {"vendor": "CISCO-FINISAR", "vendor_part": "FTLX8571D3BCL-C2", "vendor_rev": "", "serial_no": "FNS17040H79", "connector_type": "LC_CONNECTOR"}}, "Ethernet1/42": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-FINISAR", "vendor_part": "FTLF8519P2BCL-C4", "vendor_rev": "A", "serial_no": "FNS13300AG7", "connector_type": "LC_CONNECTOR"}}, "Ethernet1/43": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.91, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": -1.72, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 41.98, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}, "state": {"vendor": "CISCO", "vendor_part": "FTLX1474D3BCL-CS", "vendor_rev": "A", "serial_no": "FNS170605JQ", "connector_type": "LC_CONNECTOR"}}, "Ethernet1/44": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-LOROM", "vendor_part": "LRHSPB54D030", "vendor_rev": "B2", "serial_no": "LRM201780AT", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/45": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-MOLEX", "vendor_part": "74752-9519", "vendor_rev": "09", "serial_no": "MOC1828AFF0", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/46": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-MOLEX", "vendor_part": "74752-9519", "vendor_rev": "09", "serial_no": "MOC1828AFGH", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/47": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-MOLEX", "vendor_part": "74752-9519", "vendor_rev": "09", "serial_no": "MOC1847A3AU", "connector_type": "DAC_CONNECTOR"}}, "Ethernet1/48": {"physical_channels": {"channel": []}, "state": {"vendor": "CISCO-MOLEX", "vendor_part": "74752-9519", "vendor_rev": "09", "serial_no": "MOC1829A0G5", "connector_type": "DAC_CONNECTOR"}}} diff --git a/test/nxos_ssh/mocked_data/test_get_optics/NEXUS3548_v6.0/show_interface_transceiver_details.txt b/test/nxos_ssh/mocked_data/test_get_optics/NEXUS3548_v6.0/show_interface_transceiver_details.txt new file mode 100644 index 000000000..4dc6ec97a --- /dev/null +++ b/test/nxos_ssh/mocked_data/test_get_optics/NEXUS3548_v6.0/show_interface_transceiver_details.txt @@ -0,0 +1,698 @@ +Ethernet1/1 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-TYCO + part number is 1-2053783-2 + revision is T + serial number is TED1842B14Q + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/2 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-MOLEX + part number is 74752-9520 + revision is 09 + serial number is MOC1843A2BG + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/3 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-TYCO + part number is 1-2053783-2 + revision is T + serial number is TED1841B92L + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/4 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-TYCO + part number is 1-2053783-2 + revision is T + serial number is TED1842B14W + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/5 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-TYCO + part number is 1-2053783-2 + revision is T + serial number is TED1841B3SN + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/6 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-MOLEX + part number is 74752-9520 + revision is 09 + serial number is MOC1846A1WH + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/7 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-MOLEX + part number is 74752-9520 + revision is 09 + serial number is MOC1843A2BZ + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/8 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-MOLEX + part number is 74752-9520 + revision is 09 + serial number is MOC1843A2AN + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/9 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-MOLEX + part number is 74752-9520 + revision is 09 + serial number is MOC1846A17G + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/10 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-MOLEX + part number is 74752-9520 + revision is 09 + serial number is MOC1846A1JA + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/11 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-MOLEX + part number is 74752-9520 + revision is 09 + serial number is MOC1843A2BC + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/12 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-MOLEX + part number is 74752-9520 + revision is 09 + serial number is MOC1846A0QS + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/13 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-TYCO + part number is 1-2053783-2 + revision is T + serial number is TED1842B19F + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/14 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-TYCO + part number is 1-2053783-2 + revision is T + serial number is TED1842B186 + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/15 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-TYCO + part number is 1-2053783-2 + revision is T + serial number is TED1841B90A + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/16 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-TYCO + part number is 1-2053783-2 + revision is T + serial number is TED1842B155 + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/17 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-MOLEX + part number is 74752-9520 + revision is 09 + serial number is MOC1939A7FT + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/18 + transceiver is not present + +Ethernet1/19 + transceiver is not present + +Ethernet1/20 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-MOLEX + part number is 74752-9520 + revision is 09 + serial number is MOC1939A80T + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/21 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-MOLEX + part number is 74752-9520 + revision is 09 + serial number is MOC1939A7W5 + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/22 + transceiver is present + type is 1000base-LH + name is CISCO-FINISAR + part number is FTLF1318P2BCL + revision is A0 + serial number is FNS15420WYA + nominal bitrate is 1300 MBit/sec + Link length supported for 9/125um fiber is 10 km + cisco id is 3 + cisco extended id number is 4 + + SFP Detail Diagnostics Information (external calibration) + ---------------------------------------------------------------------------- + Current Alarms Warnings + Measurement High Low High Low + ---------------------------------------------------------------------------- + Temperature 0.00 C 0.00 C 0.00 C 0.00 C 0.00 C + Voltage 0.00 V 0.00 V 0.00 V 0.00 V 0.00 V + Current 0.00 mA 0.00 mA 0.00 mA 0.00 mA 0.00 mA + Tx Power N/A N/A N/A N/A N/A + Rx Power N/A N/A N/A N/A N/A + Transmit Fault Count = 0 + ---------------------------------------------------------------------------- + Note: ++ high-alarm; + high-warning; -- low-alarm; - low-warning + +Ethernet1/23 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-LOROM + part number is LRHSPB54D030 + revision is B2 + serial number is LRM20178056 + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/24 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-LOROM + part number is LRHSPB54D030 + revision is B2 + serial number is LRM201780W1 + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/25 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-LOROM + part number is LRHSPB54D030 + revision is B2 + serial number is LRM2017R011 + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/26 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-LOROM + part number is LRHSPB54D030 + revision is B2 + serial number is LRM2017R00T + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/27 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-LOROM + part number is LRHSPB54D030 + revision is B2 + serial number is LRM201780CS + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/28 + transceiver is present + type is 1000base-T + name is CISCO-AVAGO + part number is ABCU-5710RZ-CS4 + revision is + serial number is AGM1438228E + nominal bitrate is 1300 MBit/sec + Link length supported for copper is 100.255 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/29 + transceiver is present + type is 1000base-T + name is CISCO-AVAGO + part number is ABCU-5710RZ-CS4B + revision is 2 + serial number is AGM155029P2 + nominal bitrate is 1300 MBit/sec + Link length supported for copper is 100.255 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/30 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-JPC + part number is P3410UB03000-1 + revision is A0 + serial number is JPC221402D8 + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/31 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-JPC + part number is P3410UB03000-1 + revision is A0 + serial number is JPC22140098 + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/32 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-JPC + part number is P3410UB03000-1 + revision is A0 + serial number is JPC221404J0 + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/33 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-JPC + part number is P3410UB03000-1 + revision is A0 + serial number is JPC2214009K + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/34 + transceiver is present + type is 1000base-T + name is CISCO-AVAGO + part number is ABCU-5710RZ-CS4 + revision is + serial number is AGM133123B4 + nominal bitrate is 1300 MBit/sec + Link length supported for copper is 100.255 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/35 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-JPC + part number is P3410UB03000-1 + revision is A0 + serial number is JPC221404FY + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/36 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-JPC + part number is P3410UB03000-1 + revision is A0 + serial number is JPC221405JM + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/37 + transceiver is not present + +Ethernet1/38 + transceiver is present + type is 1000base-SX + name is CISCO-FINISAR + part number is FTLF8519P2BCL-C4 + revision is A + serial number is FNS13490F31 + nominal bitrate is 1300 MBit/sec + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/39 + transceiver is present + type is 1000base-LH + name is CISCO + part number is FTLF1318P3BTL-CS + revision is A + serial number is FNS1906107E + nominal bitrate is 1300 MBit/sec + Link length supported for 9/125um fiber is 10 km + cisco id is 3 + cisco extended id number is 4 + + SFP Detail Diagnostics Information (internal calibration) + ---------------------------------------------------------------------------- + Current Alarms Warnings + Measurement High Low High Low + ---------------------------------------------------------------------------- + Temperature 27.31 C 90.00 C -45.00 C 85.00 C -40.00 C + Voltage 3.20 V 3.79 V 2.70 V 3.70 V 2.79 V + Current 0.00 mA - 100.00 mA 0.00 mA 90.00 mA 0.10 mA + Tx Power N/A -- -1.99 dBm -10.00 dBm -3.00 dBm -9.03 dBm + Rx Power N/A -- 0.99 dBm -26.98 dBm 0.00 dBm -25.22 dBm + Transmit Fault Count = 0 + ---------------------------------------------------------------------------- + Note: ++ high-alarm; + high-warning; -- low-alarm; - low-warning + +Ethernet1/40 + transceiver is present + type is 1000base-LH + name is CISCO + part number is FTLF1318P3BTL-CS + revision is A + serial number is FNS1906106H + nominal bitrate is 1300 MBit/sec + Link length supported for 9/125um fiber is 10 km + cisco id is 3 + cisco extended id number is 4 + + SFP Detail Diagnostics Information (internal calibration) + ---------------------------------------------------------------------------- + Current Alarms Warnings + Measurement High Low High Low + ---------------------------------------------------------------------------- + Temperature 26.46 C 90.00 C -45.00 C 85.00 C -40.00 C + Voltage 3.20 V 3.79 V 2.70 V 3.70 V 2.79 V + Current 0.00 mA - 100.00 mA 0.00 mA 90.00 mA 0.10 mA + Tx Power N/A -- -1.99 dBm -10.00 dBm -3.00 dBm -9.03 dBm + Rx Power N/A -- 0.99 dBm -26.98 dBm 0.00 dBm -25.22 dBm + Transmit Fault Count = 0 + ---------------------------------------------------------------------------- + Note: ++ high-alarm; + high-warning; -- low-alarm; - low-warning + +Ethernet1/41 + transceiver is present + type is 10Gbase-SR + name is CISCO-FINISAR + part number is FTLX8571D3BCL-C2 + revision is + serial number is FNS17040H79 + nominal bitrate is 10300 MBit/sec + Link length supported for 50/125um OM2 fiber is 82 m + Link length supported for 50/125um OM3 fiber is 300 m + cisco id is 3 + cisco extended id number is 4 + + SFP Detail Diagnostics Information (internal calibration) + ---------------------------------------------------------------------------- + Current Alarms Warnings + Measurement High Low High Low + ---------------------------------------------------------------------------- + Temperature 40.82 C 90.00 C -5.00 C 85.00 C 0.00 C + Voltage 3.17 V 3.79 V 2.70 V 3.70 V 2.79 V + Current 0.01 mA 100.00 mA 0.00 mA 90.00 mA 0.10 mA + Tx Power N/A 0.00 dBm -7.01 dBm -1.00 dBm -6.00 dBm + Rx Power N/A -- 0.00 dBm -20.00 dBm -1.00 dBm -19.20 dBm + Transmit Fault Count = 0 + ---------------------------------------------------------------------------- + Note: ++ high-alarm; + high-warning; -- low-alarm; - low-warning + +Ethernet1/42 + transceiver is present + type is 1000base-SX + name is CISCO-FINISAR + part number is FTLF8519P2BCL-C4 + revision is A + serial number is FNS13300AG7 + nominal bitrate is 1300 MBit/sec + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/43 + transceiver is present + type is 10Gbase-LR + name is CISCO + part number is FTLX1474D3BCL-CS + revision is A + serial number is FNS170605JQ + nominal bitrate is 10300 MBit/sec + Link length supported for 9/125um fiber is 10 km + cisco id is 3 + cisco extended id number is 4 + + SFP Detail Diagnostics Information (internal calibration) + ---------------------------------------------------------------------------- + Current Alarms Warnings + Measurement High Low High Low + ---------------------------------------------------------------------------- + Temperature 38.37 C 95.00 C -50.00 C 85.00 C -40.00 C + Voltage 3.21 V 3.63 V 2.97 V 3.46 V 3.13 V + Current 41.98 mA 85.00 mA 15.00 mA 80.00 mA 20.00 mA + Tx Power -1.72 dBm 2.49 dBm -10.22 dBm 0.49 dBm -8.21 dBm + Rx Power -2.91 dBm 2.49 dBm -16.57 dBm 0.49 dBm -14.43 dBm + Transmit Fault Count = 0 + ---------------------------------------------------------------------------- + Note: ++ high-alarm; + high-warning; -- low-alarm; - low-warning + +Ethernet1/44 + transceiver is present + type is SFP-H10GB-CU3.45M + name is CISCO-LOROM + part number is LRHSPB54D030 + revision is B2 + serial number is LRM201780AT + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 3.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/45 + transceiver is present + type is SFP-H10GB-CU1.45M + name is CISCO-MOLEX + part number is 74752-9519 + revision is 09 + serial number is MOC1828AFF0 + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 1.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/46 + transceiver is present + type is SFP-H10GB-CU1.45M + name is CISCO-MOLEX + part number is 74752-9519 + revision is 09 + serial number is MOC1828AFGH + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 1.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/47 + transceiver is present + type is SFP-H10GB-CU1.45M + name is CISCO-MOLEX + part number is 74752-9519 + revision is 09 + serial number is MOC1847A3AU + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 1.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + +Ethernet1/48 + transceiver is present + type is SFP-H10GB-CU1.45M + name is CISCO-MOLEX + part number is 74752-9519 + revision is 09 + serial number is MOC1829A0G5 + nominal bitrate is 10300 MBit/sec + Link length supported for copper is 1.45 m + cisco id is 3 + cisco extended id number is 4 + +DOM is not supported + From 62d3980280b28a935514444b27df4a83f70d04ee Mon Sep 17 00:00:00 2001 From: Frederic Brin Date: Thu, 14 May 2020 17:02:45 +0200 Subject: [PATCH 09/30] Add another interface case to escape from --- napalm/nxos_ssh/nxos_ssh.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/napalm/nxos_ssh/nxos_ssh.py b/napalm/nxos_ssh/nxos_ssh.py index 78b87793e..304cb97e1 100644 --- a/napalm/nxos_ssh/nxos_ssh.py +++ b/napalm/nxos_ssh/nxos_ssh.py @@ -1563,8 +1563,11 @@ def get_optics(self): for port_ts in port_ts_l: port = port_re.search(port_ts).group(1) + # No transceiver is present in those case if "transceiver is not present" in port_ts: continue + if "transceiver is not applicable" in port_ts: + continue port_detail = {"physical_channels": {"channel": []}} # No metric present vendor = vendor_re.search(port_ts).group(1) From ff91f794359c2dd6b4d59e26c42ef91191d60e23 Mon Sep 17 00:00:00 2001 From: Frederic Brin Date: Fri, 15 May 2020 12:23:17 +0200 Subject: [PATCH 10/30] Harden Regexp + NA current support --- napalm/nxos_ssh/nxos_ssh.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/napalm/nxos_ssh/nxos_ssh.py b/napalm/nxos_ssh/nxos_ssh.py index 304cb97e1..92d09e022 100644 --- a/napalm/nxos_ssh/nxos_ssh.py +++ b/napalm/nxos_ssh/nxos_ssh.py @@ -1555,9 +1555,9 @@ def get_optics(self): vendor_rev_re = re.compile("revision is (.*)$", re.M) serial_no_re = re.compile("serial number is (.*)$", re.M) type_no_re = re.compile("type is (.*)$", re.M) - rx_instant_re = re.compile(r"Rx Power[ ]+(?:(.*?)[ ]+dBm|(N.A))", re.M) - tx_instant_re = re.compile(r"Tx Power[ ]+(?:(.*?)[ ]+dBm|(N.A))", re.M) - current_instant_re = re.compile(r"Current[ ]+(.*?)[ ]+mA", re.M) + rx_instant_re = re.compile(r"Rx Power[ ]+(?:(\S+?)[ ]+dBm|(N.A))", re.M) + tx_instant_re = re.compile(r"Tx Power[ ]+(?:(\S+?)[ ]+dBm|(N.A))", re.M) + current_instant_re = re.compile(r"Current[ ]+(?:(\S+?)[ ]+mA|(N.A))", re.M) port_ts_l = port_ts_re.findall(output) @@ -1587,7 +1587,8 @@ def get_optics(self): input_power = res.group(1) or res.group(2) res = tx_instant_re.search(port_ts) output_power = res.group(1) or res.group(2) - current = current_instant_re.search(port_ts).group(1) + res = current_instant_re.search(port_ts) + current = res.group(1) or res.group(2) # If interface is shutdown it returns "N/A" as output power # or "N/A" as input power @@ -1600,6 +1601,10 @@ def get_optics(self): float(input_power) except ValueError: input_power = -100.0 + try: + float(current) + except ValueError: + current = -100.0 # Defaulting avg, min, max values to -100.0 since device does not # return these values From 230a9c48fc4f632fe4cb08ebe7b479baf6b71bef Mon Sep 17 00:00:00 2001 From: Tynan Young Date: Mon, 22 Jun 2020 11:22:34 +1000 Subject: [PATCH 11/30] fix: force_no_enable enabled on ios and nx only --- napalm/base/base.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/napalm/base/base.py b/napalm/base/base.py index 4f9c5fb34..0581b4dc2 100644 --- a/napalm/base/base.py +++ b/napalm/base/base.py @@ -94,9 +94,13 @@ def _netmiko_open(self, device_type, netmiko_optional_args=None): except NetMikoTimeoutException: raise ConnectionException("Cannot connect to {}".format(self.hostname)) - # ensure in enable mode if not force disable - if not self.force_no_enable: - self._netmiko_device.enable() + # Ensure in enable mode if not force disable for device types that support enable + # mode (currently, Cisco ios and nxos) + enable_device_types = ['cisco_ios_telnet','cisco_ios', 'cisco_nxos'] + if device_type in enable_device_types: + if not self.force_no_enable: + self._netmiko_device.enable() + return self._netmiko_device def _netmiko_close(self): From c0fb2aceaf095aea77bb31fdf394972fbebabbe3 Mon Sep 17 00:00:00 2001 From: Tynan Young Date: Mon, 22 Jun 2020 11:49:52 +1000 Subject: [PATCH 12/30] fix: enable for non-cisco devices --- napalm/base/base.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/napalm/base/base.py b/napalm/base/base.py index 0581b4dc2..45d8b9576 100644 --- a/napalm/base/base.py +++ b/napalm/base/base.py @@ -100,6 +100,8 @@ def _netmiko_open(self, device_type, netmiko_optional_args=None): if device_type in enable_device_types: if not self.force_no_enable: self._netmiko_device.enable() + else: + self._netmiko_device.enable() return self._netmiko_device From b429b38a2aa63e712fb39af2a44a21bac6f770ed Mon Sep 17 00:00:00 2001 From: Tynan Young Date: Mon, 22 Jun 2020 14:02:38 +1000 Subject: [PATCH 13/30] fix: force_no_enable try/except --- napalm/base/base.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/napalm/base/base.py b/napalm/base/base.py index 45d8b9576..259b960ac 100644 --- a/napalm/base/base.py +++ b/napalm/base/base.py @@ -94,13 +94,12 @@ def _netmiko_open(self, device_type, netmiko_optional_args=None): except NetMikoTimeoutException: raise ConnectionException("Cannot connect to {}".format(self.hostname)) - # Ensure in enable mode if not force disable for device types that support enable - # mode (currently, Cisco ios and nxos) - enable_device_types = ['cisco_ios_telnet','cisco_ios', 'cisco_nxos'] - if device_type in enable_device_types: + # Disable enable mode if force_no_enable is true (for NAPALM drivers + # that support force_no_enable) + try: if not self.force_no_enable: self._netmiko_device.enable() - else: + except AttributeError: self._netmiko_device.enable() return self._netmiko_device From 7524459a124b42fe2c319b3e0089e04a367bfed2 Mon Sep 17 00:00:00 2001 From: Exane Server Team Date: Tue, 7 Jul 2020 15:48:09 +0200 Subject: [PATCH 14/30] Bugfix/ios get optics metric fix (#1220) * IOS support get interfaces transceiver new format At least on IOS 15.4 and later, the *show interfaces transceiver* output table has been extended with a new column: Current This fix takes this new column into account * Fix two tests as the expected results where wrong * Add current metric * Fix tests on IOS to include optics current * Make Black happy ! * Prettify 2 tests as requested Co-authored-by: Mircea Ulinic --- napalm/ios/ios.py | 16 +- .../expected_result.json | 134 +- .../vss_setup/expected_result.json | 4179 ++++++++++++++++- 3 files changed, 4257 insertions(+), 72 deletions(-) diff --git a/napalm/ios/ios.py b/napalm/ios/ios.py index 0992eaf43..232ed2090 100644 --- a/napalm/ios/ios.py +++ b/napalm/ios/ios.py @@ -799,13 +799,21 @@ def get_optics(self): for optics_entry in split_output.splitlines(): # Example, Te1/0/1 34.6 3.29 -2.0 -3.5 try: + optics_entry = optics_entry.strip("-") split_list = optics_entry.split() except ValueError: return {} - int_brief = split_list[0] - output_power = split_list[3] - input_power = split_list[4] + current = 0 + if len(split_list) == 5: + int_brief = split_list[0] + output_power = split_list[3] + input_power = split_list[4] + elif len(split_list) >= 6: + int_brief = split_list[0] + current = split_list[3] + output_power = split_list[4] + input_power = split_list[5] port = canonical_interface_name(int_brief) @@ -841,7 +849,7 @@ def get_optics(self): "max": -100.0, }, "laser_bias_current": { - "instant": 0.0, + "instant": (float(current) if "current" else -100.0), "avg": 0.0, "min": 0.0, "max": 0.0, diff --git a/test/ios/mocked_data/test_get_optics/interface_shutdown_v2/expected_result.json b/test/ios/mocked_data/test_get_optics/interface_shutdown_v2/expected_result.json index 701dfa104..3c2e34346 100644 --- a/test/ios/mocked_data/test_get_optics/interface_shutdown_v2/expected_result.json +++ b/test/ios/mocked_data/test_get_optics/interface_shutdown_v2/expected_result.json @@ -6,19 +6,19 @@ "index": 0, "state": { "input_power": { - "instant": -1.9, + "instant": -26.8, "avg": -100.0, "min": -100.0, "max": -100.0 }, "output_power": { - "instant": 38.1, + "instant": -1.9, "avg": -100.0, "min": -100.0, "max": -100.0 }, "laser_bias_current": { - "instant": 0.0, + "instant": 38.1, "avg": 0.0, "min": 0.0, "max": 0.0 @@ -35,19 +35,19 @@ "index": 0, "state": { "input_power": { - "instant": -4.9, + "instant": -35.2, "avg": -100.0, "min": -100.0, "max": -100.0 }, "output_power": { - "instant": 10.7, + "instant": -4.9, "avg": -100.0, "min": -100.0, "max": -100.0 }, "laser_bias_current": { - "instant": 0.0, + "instant": 10.7, "avg": 0.0, "min": 0.0, "max": 0.0 @@ -64,19 +64,19 @@ "index": 0, "state": { "input_power": { - "instant": -5.0, + "instant": -4.6, "avg": -100.0, "min": -100.0, "max": -100.0 }, "output_power": { - "instant": 10.6, + "instant": -5.0, "avg": -100.0, "min": -100.0, "max": -100.0 }, "laser_bias_current": { - "instant": 0.0, + "instant": 10.6, "avg": 0.0, "min": 0.0, "max": 0.0 @@ -93,19 +93,19 @@ "index": 0, "state": { "input_power": { - "instant": -5.5, + "instant": -8.6, "avg": -100.0, "min": -100.0, "max": -100.0 }, "output_power": { - "instant": 17.0, + "instant": -5.5, "avg": -100.0, "min": -100.0, "max": -100.0 }, "laser_bias_current": { - "instant": 0.0, + "instant": 17.0, "avg": 0.0, "min": 0.0, "max": 0.0 @@ -122,19 +122,19 @@ "index": 0, "state": { "input_power": { - "instant": -6.2, + "instant": -9.2, "avg": -100.0, "min": -100.0, "max": -100.0 }, "output_power": { - "instant": 15.5, + "instant": -6.2, "avg": -100.0, "min": -100.0, "max": -100.0 }, "laser_bias_current": { - "instant": 0.0, + "instant": 15.5, "avg": 0.0, "min": 0.0, "max": 0.0 @@ -157,7 +157,7 @@ "max": -100.0 }, "output_power": { - "instant": 0.0, + "instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0 @@ -180,19 +180,19 @@ "index": 0, "state": { "input_power": { - "instant": -6.0, + "instant": -40.0, "avg": -100.0, "min": -100.0, "max": -100.0 }, "output_power": { - "instant": 12.2, + "instant": -6.0, "avg": -100.0, "min": -100.0, "max": -100.0 }, "laser_bias_current": { - "instant": 0.0, + "instant": 12.2, "avg": 0.0, "min": 0.0, "max": 0.0 @@ -209,19 +209,19 @@ "index": 0, "state": { "input_power": { - "instant": -2.0, + "instant": -3.5, "avg": -100.0, "min": -100.0, "max": -100.0 }, "output_power": { - "instant": 8.0, + "instant": -2.0, "avg": -100.0, "min": -100.0, "max": -100.0 }, "laser_bias_current": { - "instant": 0.0, + "instant": 8.0, "avg": 0.0, "min": 0.0, "max": 0.0 @@ -238,19 +238,19 @@ "index": 0, "state": { "input_power": { - "instant": -2.3, + "instant": -3.8, "avg": -100.0, "min": -100.0, "max": -100.0 }, "output_power": { - "instant": 5.9, + "instant": -2.3, "avg": -100.0, "min": -100.0, "max": -100.0 }, "laser_bias_current": { - "instant": 0.0, + "instant": 5.9, "avg": 0.0, "min": 0.0, "max": 0.0 @@ -267,19 +267,19 @@ "index": 0, "state": { "input_power": { - "instant": -1.8, + "instant": -1.9, "avg": -100.0, "min": -100.0, "max": -100.0 }, "output_power": { - "instant": 42.0, + "instant": -1.8, "avg": -100.0, "min": -100.0, "max": -100.0 }, "laser_bias_current": { - "instant": 0.0, + "instant": 42.0, "avg": 0.0, "min": 0.0, "max": 0.0 @@ -296,19 +296,19 @@ "index": 0, "state": { "input_power": { - "instant": -1.9, + "instant": -4.8, "avg": -100.0, "min": -100.0, "max": -100.0 }, "output_power": { - "instant": 39.5, + "instant": -1.9, "avg": -100.0, "min": -100.0, "max": -100.0 }, "laser_bias_current": { - "instant": 0.0, + "instant": 39.5, "avg": 0.0, "min": 0.0, "max": 0.0 @@ -325,19 +325,19 @@ "index": 0, "state": { "input_power": { - "instant": -1.7, + "instant": -8.0, "avg": -100.0, "min": -100.0, "max": -100.0 }, "output_power": { - "instant": 39.4, + "instant": -1.7, "avg": -100.0, "min": -100.0, "max": -100.0 }, "laser_bias_current": { - "instant": 0.0, + "instant": 39.4, "avg": 0.0, "min": 0.0, "max": 0.0 @@ -354,19 +354,19 @@ "index": 0, "state": { "input_power": { - "instant": -3.3, + "instant": -4.8, "avg": -100.0, "min": -100.0, "max": -100.0 }, "output_power": { - "instant": 5.6, + "instant": -3.3, "avg": -100.0, "min": -100.0, "max": -100.0 }, "laser_bias_current": { - "instant": 0.0, + "instant": 5.6, "avg": 0.0, "min": 0.0, "max": 0.0 @@ -383,19 +383,19 @@ "index": 0, "state": { "input_power": { - "instant": -2.6, + "instant": -3.7, "avg": -100.0, "min": -100.0, "max": -100.0 }, "output_power": { - "instant": 8.1, + "instant": -2.6, "avg": -100.0, "min": -100.0, "max": -100.0 }, "laser_bias_current": { - "instant": 0.0, + "instant": 8.1, "avg": 0.0, "min": 0.0, "max": 0.0 @@ -412,19 +412,19 @@ "index": 0, "state": { "input_power": { - "instant": -2.5, + "instant": -3.0, "avg": -100.0, "min": -100.0, "max": -100.0 }, "output_power": { - "instant": 6.7, + "instant": -2.5, "avg": -100.0, "min": -100.0, "max": -100.0 }, "laser_bias_current": { - "instant": 0.0, + "instant": 6.7, "avg": 0.0, "min": 0.0, "max": 0.0 @@ -441,19 +441,19 @@ "index": 0, "state": { "input_power": { - "instant": -2.5, + "instant": -2.0, "avg": -100.0, "min": -100.0, "max": -100.0 }, "output_power": { - "instant": 8.4, + "instant": -2.5, "avg": -100.0, "min": -100.0, "max": -100.0 }, "laser_bias_current": { - "instant": 0.0, + "instant": 8.4, "avg": 0.0, "min": 0.0, "max": 0.0 @@ -470,19 +470,19 @@ "index": 0, "state": { "input_power": { - "instant": -2.4, + "instant": -3.0, "avg": -100.0, "min": -100.0, "max": -100.0 }, "output_power": { - "instant": 6.3, + "instant": -2.4, "avg": -100.0, "min": -100.0, "max": -100.0 }, "laser_bias_current": { - "instant": 0.0, + "instant": 6.3, "avg": 0.0, "min": 0.0, "max": 0.0 @@ -499,19 +499,19 @@ "index": 0, "state": { "input_power": { - "instant": -1.7, + "instant": -2.8, "avg": -100.0, "min": -100.0, "max": -100.0 }, "output_power": { - "instant": 8.0, + "instant": -1.7, "avg": -100.0, "min": -100.0, "max": -100.0 }, "laser_bias_current": { - "instant": 0.0, + "instant": 8.0, "avg": 0.0, "min": 0.0, "max": 0.0 @@ -528,19 +528,19 @@ "index": 0, "state": { "input_power": { - "instant": -2.2, + "instant": -2.6, "avg": -100.0, "min": -100.0, "max": -100.0 }, "output_power": { - "instant": 8.4, + "instant": -2.2, "avg": -100.0, "min": -100.0, "max": -100.0 }, "laser_bias_current": { - "instant": 0.0, + "instant": 8.4, "avg": 0.0, "min": 0.0, "max": 0.0 @@ -557,19 +557,19 @@ "index": 0, "state": { "input_power": { - "instant": -2.2, + "instant": -3.8, "avg": -100.0, "min": -100.0, "max": -100.0 }, "output_power": { - "instant": 5.5, + "instant": -2.2, "avg": -100.0, "min": -100.0, "max": -100.0 }, "laser_bias_current": { - "instant": 0.0, + "instant": 5.5, "avg": 0.0, "min": 0.0, "max": 0.0 @@ -586,19 +586,19 @@ "index": 0, "state": { "input_power": { - "instant": -2.5, + "instant": -2.7, "avg": -100.0, "min": -100.0, "max": -100.0 }, "output_power": { - "instant": 7.9, + "instant": -2.5, "avg": -100.0, "min": -100.0, "max": -100.0 }, "laser_bias_current": { - "instant": 0.0, + "instant": 7.9, "avg": 0.0, "min": 0.0, "max": 0.0 @@ -615,19 +615,19 @@ "index": 0, "state": { "input_power": { - "instant": -1.9, + "instant": -2.1, "avg": -100.0, "min": -100.0, "max": -100.0 }, "output_power": { - "instant": 8.2, + "instant": -1.9, "avg": -100.0, "min": -100.0, "max": -100.0 }, "laser_bias_current": { - "instant": 0.0, + "instant": 8.2, "avg": 0.0, "min": 0.0, "max": 0.0 @@ -644,19 +644,19 @@ "index": 0, "state": { "input_power": { - "instant": 0.9, + "instant": -2.8, "avg": -100.0, "min": -100.0, "max": -100.0 }, "output_power": { - "instant": 36.6, + "instant": 0.9, "avg": -100.0, "min": -100.0, "max": -100.0 }, "laser_bias_current": { - "instant": 0.0, + "instant": 36.6, "avg": 0.0, "min": 0.0, "max": 0.0 diff --git a/test/ios/mocked_data/test_get_optics/vss_setup/expected_result.json b/test/ios/mocked_data/test_get_optics/vss_setup/expected_result.json index 85b52507e..c6b42e1a8 100644 --- a/test/ios/mocked_data/test_get_optics/vss_setup/expected_result.json +++ b/test/ios/mocked_data/test_get_optics/vss_setup/expected_result.json @@ -1 +1,4178 @@ -{"TenGigabitEthernet1/1/1": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.2, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/1/2": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.1, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/1/3": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 0.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/1/4": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 0.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/1/5": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/1/6": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 0.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/1/7": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.7, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/1/8": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.6, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/1/9": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/1/10": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 0.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/1/11": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.2, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/1/12": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/1/13": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.6, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/1/14": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.8, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/1/16": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 5.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/2/1": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.4, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/2/2": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.4, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/2/3": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.8, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/2/4": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 5.4, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/2/5": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.3, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/2/6": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 0.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/2/7": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.6, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/2/8": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.6, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/2/9": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 0.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/2/10": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.1, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/2/11": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.9, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/2/12": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.8, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/2/13": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.6, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/2/14": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 0.1, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/2/16": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 5.7, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/3/2": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.1, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 8.3, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/3/4": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.3, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/3/5": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.1, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 8.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/3/6": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.7, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/3/7": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.1, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/3/8": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/5/1": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.3, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/5/3": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.2, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/5/4": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.2, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/5/5": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.3, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/5/6": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 4.7, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/5/7": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 5.9, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/5/9": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.6, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/5/10": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.6, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/5/11": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.1, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/5/12": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.1, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/5/14": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.6, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/5/15": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.7, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/5/16": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.9, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/2": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.2, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/4": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.2, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.1, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/6": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.2, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/8": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/10": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -1.7, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 20.9, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/12": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.2, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/14": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.2, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.1, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/16": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -1.9, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/17": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.6, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.1, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/18": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.4, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.4, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/19": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 5.3, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/20": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.3, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 5.8, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/21": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.3, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/22": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.2, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/23": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/24": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 5.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/25": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.9, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/26": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.7, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.4, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/27": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.2, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/28": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.6, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.1, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/29": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.2, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 8.4, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/30": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.9, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/31": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.3, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.9, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet1/7/32": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -1.9, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.8, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/1/1": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 5.6, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/1/2": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.2, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/1/4": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.9, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/1/5": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 5.6, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/1/8": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 8.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/1/9": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 5.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/1/10": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 0.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/1/11": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.7, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/1/12": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.2, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/1/13": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.4, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/1/14": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.8, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/1/16": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 5.8, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/2/1": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 5.9, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/2/2": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 5.7, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/2/3": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.3, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/2/5": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 5.9, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/2/6": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 0.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/2/7": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/2/8": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 5.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/2/9": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 0.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/2/11": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 5.8, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/2/12": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.3, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/2/13": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 5.4, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/2/14": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 0.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/2/15": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 0.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/2/16": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/3/2": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.9, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/3/4": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.7, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/3/5": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.3, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/3/6": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.6, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/3/7": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.3, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 5.9, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/3/8": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/5/2": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.6, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/5/3": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 11.3, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/5/4": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 5.8, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/5/5": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.6, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/5/6": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.9, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/5/7": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.4, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/5/8": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.6, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/5/9": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/5/10": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.8, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/5/11": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/5/12": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/5/13": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.1, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/5/14": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 5.4, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/5/15": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.8, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/5/16": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -100.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 5.6, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/2": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.3, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.2, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/4": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.4, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.4, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/6": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.2, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/8": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.6, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/10": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/12": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.2, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.6, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/14": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 5.7, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/16": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.2, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 5.9, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/17": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.1, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/18": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.3, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.2, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/19": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.1, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/20": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.2, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/21": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.2, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.2, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/22": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.6, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/23": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.7, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.7, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/24": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.3, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/25": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.0, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.8, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/26": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -1.6, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.4, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/27": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.3, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.1, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/28": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -1.7, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.8, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/29": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.1, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.8, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/30": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.6, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.9, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/31": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.2, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 6.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}, "TenGigabitEthernet2/7/32": {"physical_channels": {"channel": [{"index": 0, "state": {"input_power": {"instant": -2.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "output_power": {"instant": 7.5, "avg": -100.0, "min": -100.0, "max": -100.0}, "laser_bias_current": {"instant": 0.0, "avg": 0.0, "min": 0.0, "max": 0.0}}}]}}} +{ + "TenGigabitEthernet1/1/1": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.2, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/1/2": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.1, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/1/3": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 0.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/1/4": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 0.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/1/5": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/1/6": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 0.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/1/7": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.7, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/1/8": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.6, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/1/9": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.5, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/1/10": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 0.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/1/11": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.2, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/1/12": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/1/13": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.2, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.6, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/1/14": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.8, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/1/16": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -3.4, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 5.5, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/2/1": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.4, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/2/2": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.4, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/2/3": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.8, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/2/4": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 5.4, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/2/5": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.3, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/2/6": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 0.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/2/7": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.6, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/2/8": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.6, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/2/9": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 0.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/2/10": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.1, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/2/11": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.9, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/2/12": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.8, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/2/13": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.6, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/2/14": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 0.1, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/2/16": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.8, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 5.7, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/3/2": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.9, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.1, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 8.3, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/3/4": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -3.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.3, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/3/5": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.1, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 8.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/3/6": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.9, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.7, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/3/7": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.1, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.5, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/3/8": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.9, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.5, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/5/1": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.3, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/5/3": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.2, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/5/4": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.2, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/5/5": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.3, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/5/6": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -4.1, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 4.7, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/5/7": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 5.9, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/5/9": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.6, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/5/10": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.1, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.6, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/5/11": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.1, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/5/12": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.8, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.1, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/5/14": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.6, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/5/15": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.2, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.7, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/5/16": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.1, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.9, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/2": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -3.2, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.2, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/4": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.2, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.1, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/6": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.2, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/8": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.9, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/10": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -4.9, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -1.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 20.9, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/12": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.2, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/14": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.2, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.1, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/16": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -1.9, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.5, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/17": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -8.8, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.1, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/18": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.4, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.4, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/19": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 5.3, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/20": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -3.4, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.3, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 5.8, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/21": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.3, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/22": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.2, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/23": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/24": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -4.1, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 5.5, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/25": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -1.8, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.9, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/26": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.8, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.4, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/27": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.2, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/28": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.1, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.1, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/29": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.2, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 8.4, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/30": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.9, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/31": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -3.2, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.3, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.9, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet1/7/32": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -3.4, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -1.9, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.8, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/1/1": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 5.6, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/1/2": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.2, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/1/4": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.9, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/1/5": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 5.6, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/1/8": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.1, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 8.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/1/9": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -3.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 5.5, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/1/10": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 0.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/1/11": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.7, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/1/12": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.2, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/1/13": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.4, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/1/14": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.8, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/1/16": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.8, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 5.8, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/2/1": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 5.9, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/2/2": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 5.7, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/2/3": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.3, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/2/5": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 5.9, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/2/6": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 0.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/2/7": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.2, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.5, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/2/8": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 5.5, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/2/9": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 0.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/2/11": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 5.8, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/2/12": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.3, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/2/13": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.8, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 5.4, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/2/14": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 0.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/2/15": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 0.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/2/16": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/3/2": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -40.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.9, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/3/4": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.7, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/3/5": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.3, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.5, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/3/6": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -3.2, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.6, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/3/7": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -3.3, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.3, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 5.9, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/3/8": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -8.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/5/2": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.6, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/5/3": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.8, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 11.3, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/5/4": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.8, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 5.8, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/5/5": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.6, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/5/6": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.9, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/5/7": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.4, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/5/8": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.6, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/5/9": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.5, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/5/10": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.1, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.8, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/5/11": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/5/12": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.5, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/5/13": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.1, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/5/14": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 5.4, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/5/15": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.8, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/5/16": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -3.1, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -100.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 5.6, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/2": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.8, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.3, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.2, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/4": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.8, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.4, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.4, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/6": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.2, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/8": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.2, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/10": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -40.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/12": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.2, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.6, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/14": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 5.7, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/16": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -3.1, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.2, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 5.9, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/17": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.1, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/18": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.8, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.3, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.2, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/19": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -5.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.1, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/20": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.1, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.2, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.0, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/21": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -3.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.2, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.2, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/22": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -3.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.6, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/23": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.7, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/24": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -4.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.3, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/25": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -4.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.8, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/26": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.2, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -1.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.4, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/27": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.3, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.1, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/28": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -1.7, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.8, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/29": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.1, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.8, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/30": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.0, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.6, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.9, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/31": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -2.9, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.2, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 6.5, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + }, + "TenGigabitEthernet2/7/32": { + "physical_channels": { + "channel": [ + { + "index": 0, + "state": { + "input_power": { + "instant": -3.8, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "output_power": { + "instant": -2.5, + "avg": -100.0, + "min": -100.0, + "max": -100.0 + }, + "laser_bias_current": { + "instant": 7.5, + "avg": 0.0, + "min": 0.0, + "max": 0.0 + } + } + } + ] + } + } +} From a062ede9de13fcce618ca14050a0f59946562d36 Mon Sep 17 00:00:00 2001 From: Tynan Young Date: Wed, 8 Jul 2020 16:55:30 +1000 Subject: [PATCH 15/30] format: remove trailing whitespace --- napalm/base/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/napalm/base/base.py b/napalm/base/base.py index 259b960ac..cdb704e18 100644 --- a/napalm/base/base.py +++ b/napalm/base/base.py @@ -94,7 +94,7 @@ def _netmiko_open(self, device_type, netmiko_optional_args=None): except NetMikoTimeoutException: raise ConnectionException("Cannot connect to {}".format(self.hostname)) - # Disable enable mode if force_no_enable is true (for NAPALM drivers + # Disable enable mode if force_no_enable is true (for NAPALM drivers # that support force_no_enable) try: if not self.force_no_enable: From 7b4af8a29da01a153090933deb464c249ced2835 Mon Sep 17 00:00:00 2001 From: Mircea Ulinic Date: Wed, 8 Jul 2020 11:03:22 +0100 Subject: [PATCH 16/30] Version 3.0.2 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index bdd042cce..1fcde0711 100644 --- a/setup.py +++ b/setup.py @@ -12,7 +12,7 @@ setup( name="napalm", - version="3.0.1", + version="3.0.2", packages=find_packages(exclude=("test*",)), test_suite="test_base", author="David Barroso, Kirk Byers, Mircea Ulinic", From 733e703a03937a161776943d7a5c52817764a31c Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Thu, 9 Jul 2020 09:48:04 +0000 Subject: [PATCH 17/30] Bump coveralls from 2.1.0 to 2.1.1 Bumps [coveralls](https://github.com/coveralls-clients/coveralls-python) from 2.1.0 to 2.1.1. - [Release notes](https://github.com/coveralls-clients/coveralls-python/releases) - [Changelog](https://github.com/coveralls-clients/coveralls-python/blob/master/CHANGELOG.md) - [Commits](https://github.com/coveralls-clients/coveralls-python/compare/2.1.0...2.1.1) Signed-off-by: dependabot-preview[bot] --- requirements-dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 95a29712d..3fc4bea9f 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,5 +1,5 @@ black==19.10b0 -coveralls==2.1.0 +coveralls==2.1.1 ddt==1.4.1 flake8-import-order==0.18.1 pytest==5.4.3 From 75a4f6fd2a7b4c142c695d49895f68a8ae1de93b Mon Sep 17 00:00:00 2001 From: David Lundgren Date: Thu, 9 Jul 2020 18:42:39 -0500 Subject: [PATCH 18/30] Try `| section username` first, then try `| include username` Older iOS will return `% Invalid input detected at '^' marker.` --- napalm/ios/ios.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/napalm/ios/ios.py b/napalm/ios/ios.py index ed9690865..ef690c0e0 100644 --- a/napalm/ios/ios.py +++ b/napalm/ios/ios.py @@ -3118,8 +3118,11 @@ def get_users(self): r"(?P\S+)\s+(?P\S+)(?:\s+\S+)?)+)$" ) users = {} - command = "show run | include username" + command = "show run | section username" output = self._send_command(command) + if "Invalid input detected" in output: + command = "show run | include username" + output = self._send_command(command) for match in re.finditer(username_regex, output, re.M): users[match.groupdict()["username"]] = { "level": int(match.groupdict()["priv_level"]) From 052ced8d146832a30729b1fb2c36c87c2b4837d7 Mon Sep 17 00:00:00 2001 From: Mircea Ulinic Date: Mon, 13 Jul 2020 21:56:08 +0100 Subject: [PATCH 19/30] Version 3.1.0 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 1fcde0711..61e27931e 100644 --- a/setup.py +++ b/setup.py @@ -12,7 +12,7 @@ setup( name="napalm", - version="3.0.2", + version="3.1.0", packages=find_packages(exclude=("test*",)), test_suite="test_base", author="David Barroso, Kirk Byers, Mircea Ulinic", From b5dc69b4abb0f10d1dc8bdf492517764a346b402 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Thu, 16 Jul 2020 06:50:04 +0000 Subject: [PATCH 20/30] Bump tox from 3.16.1 to 3.17.1 Bumps [tox](https://github.com/tox-dev/tox) from 3.16.1 to 3.17.1. - [Release notes](https://github.com/tox-dev/tox/releases) - [Changelog](https://github.com/tox-dev/tox/blob/master/docs/changelog.rst) - [Commits](https://github.com/tox-dev/tox/compare/3.16.1...3.17.1) Signed-off-by: dependabot-preview[bot] --- requirements-dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 3fc4bea9f..fe591909b 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -8,4 +8,4 @@ pytest-json==0.4.0 pytest-pythonpath==0.7.3 pylama==7.7.1 mock==4.0.2 -tox==3.16.1 \ No newline at end of file +tox==3.17.1 \ No newline at end of file From e964304e38a9ea2552966d82c83e9ad47197f0d9 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 24 Jul 2020 06:43:53 +0000 Subject: [PATCH 21/30] Bump tox from 3.17.1 to 3.18.0 Bumps [tox](https://github.com/tox-dev/tox) from 3.17.1 to 3.18.0. - [Release notes](https://github.com/tox-dev/tox/releases) - [Changelog](https://github.com/tox-dev/tox/blob/master/docs/changelog.rst) - [Commits](https://github.com/tox-dev/tox/compare/3.17.1...3.18.0) Signed-off-by: dependabot-preview[bot] --- requirements-dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index fe591909b..99dc168ad 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -8,4 +8,4 @@ pytest-json==0.4.0 pytest-pythonpath==0.7.3 pylama==7.7.1 mock==4.0.2 -tox==3.17.1 \ No newline at end of file +tox==3.18.0 \ No newline at end of file From a52fa118365fa8db6d5bdb905b85de930e8ec1ec Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Wed, 29 Jul 2020 06:45:48 +0000 Subject: [PATCH 22/30] Bump tox from 3.18.0 to 3.18.1 Bumps [tox](https://github.com/tox-dev/tox) from 3.18.0 to 3.18.1. - [Release notes](https://github.com/tox-dev/tox/releases) - [Changelog](https://github.com/tox-dev/tox/blob/master/docs/changelog.rst) - [Commits](https://github.com/tox-dev/tox/compare/3.18.0...3.18.1) Signed-off-by: dependabot-preview[bot] --- requirements-dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 99dc168ad..062fc22e3 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -8,4 +8,4 @@ pytest-json==0.4.0 pytest-pythonpath==0.7.3 pylama==7.7.1 mock==4.0.2 -tox==3.18.0 \ No newline at end of file +tox==3.18.1 \ No newline at end of file From ce790e38b7e49454ed6b2de3bcef97ec923de016 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Tue, 4 Aug 2020 08:47:50 -0700 Subject: [PATCH 23/30] Allow positional arguments for run_commands (#1263) --- napalm/eos/pyeapi_syntax_wrapper.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/napalm/eos/pyeapi_syntax_wrapper.py b/napalm/eos/pyeapi_syntax_wrapper.py index 246b185c9..c240df3d4 100644 --- a/napalm/eos/pyeapi_syntax_wrapper.py +++ b/napalm/eos/pyeapi_syntax_wrapper.py @@ -25,7 +25,7 @@ def update_cli_version(self, version): """ self.cli_version = version - def run_commands(self, commands, **kwargs): + def run_commands(self, commands, *args, **kwargs): """ Run commands wrapper :param commands: list of commands @@ -39,4 +39,4 @@ def run_commands(self, commands, **kwargs): else: commands = [cli_convert(cmd, self.cli_version) for cmd in commands] - return super(Node, self).run_commands(commands, **kwargs) + return super(Node, self).run_commands(commands, *args, **kwargs) From a54ceba4ad9b92240d5f3ddbd4e81c674ae5b1bb Mon Sep 17 00:00:00 2001 From: chonty Date: Wed, 5 Aug 2020 19:50:35 +1000 Subject: [PATCH 24/30] error handling: ret default instance when no VRFs --- napalm/ios/ios.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/napalm/ios/ios.py b/napalm/ios/ios.py index 6d4832c76..344925bff 100644 --- a/napalm/ios/ios.py +++ b/napalm/ios/ios.py @@ -3311,6 +3311,9 @@ def get_network_instances(self, name=""): first_part = vrf.split("Address family")[0] + if not first_part: + return instances + # retrieve the name of the VRF and the Route Distinguisher vrf_name, RD = re.match(r"^VRF (\S+).*RD (.*);", first_part).groups() if RD == "": From 8522d2480deed7840a25f11c55b0ed3bd7370e85 Mon Sep 17 00:00:00 2001 From: chonty Date: Wed, 5 Aug 2020 19:50:46 +1000 Subject: [PATCH 25/30] tests --- .../no_vrf/expected_result.json | 29 +++++ .../no_vrf/show_ip_interface_brief.txt | 17 +++ .../no_vrf/show_vrf_detail.txt | 0 .../normal/expected_result.json | 121 +++++++----------- .../normal/show_ip_interface_brief.txt | 34 ++--- .../normal/show_vrf_detail.txt | 32 ++--- 6 files changed, 120 insertions(+), 113 deletions(-) create mode 100644 test/ios/mocked_data/test_get_network_instances/no_vrf/expected_result.json create mode 100644 test/ios/mocked_data/test_get_network_instances/no_vrf/show_ip_interface_brief.txt create mode 100644 test/ios/mocked_data/test_get_network_instances/no_vrf/show_vrf_detail.txt diff --git a/test/ios/mocked_data/test_get_network_instances/no_vrf/expected_result.json b/test/ios/mocked_data/test_get_network_instances/no_vrf/expected_result.json new file mode 100644 index 000000000..2162b497b --- /dev/null +++ b/test/ios/mocked_data/test_get_network_instances/no_vrf/expected_result.json @@ -0,0 +1,29 @@ +{ + "default": { + "name": "default", + "type": "DEFAULT_INSTANCE", + "state": { + "route_distinguisher": "" + }, + "interfaces": { + "interface": { + "Ethernet0/0": {}, + "Ethernet0/1": {}, + "Ethernet0/2": {}, + "Ethernet0/3": {}, + "Ethernet1/0": {}, + "Ethernet1/1": {}, + "Ethernet1/2": {}, + "Ethernet1/3": {}, + "Serial2/0": {}, + "Serial2/1": {}, + "Serial2/2": {}, + "Serial2/3": {}, + "Serial3/0": {}, + "Serial3/1": {}, + "Serial3/2": {}, + "Serial3/3": {} + } + } + } +} diff --git a/test/ios/mocked_data/test_get_network_instances/no_vrf/show_ip_interface_brief.txt b/test/ios/mocked_data/test_get_network_instances/no_vrf/show_ip_interface_brief.txt new file mode 100644 index 000000000..a10a23944 --- /dev/null +++ b/test/ios/mocked_data/test_get_network_instances/no_vrf/show_ip_interface_brief.txt @@ -0,0 +1,17 @@ +Interface IP-Address OK? Method Status Protocol +Ethernet0/0 172.29.29.201 YES manual up up +Ethernet0/1 100.100.100.100 YES manual up up +Ethernet0/2 unassigned YES NVRAM administratively down down +Ethernet0/3 unassigned YES NVRAM administratively down down +Ethernet1/0 unassigned YES NVRAM administratively down down +Ethernet1/1 unassigned YES NVRAM administratively down down +Ethernet1/2 unassigned YES NVRAM administratively down down +Ethernet1/3 unassigned YES NVRAM up up +Serial2/0 unassigned YES NVRAM administratively down down +Serial2/1 unassigned YES NVRAM administratively down down +Serial2/2 unassigned YES NVRAM administratively down down +Serial2/3 unassigned YES NVRAM administratively down down +Serial3/0 unassigned YES NVRAM administratively down down +Serial3/1 unassigned YES NVRAM administratively down down +Serial3/2 unassigned YES NVRAM administratively down down +Serial3/3 unassigned YES NVRAM administratively down down diff --git a/test/ios/mocked_data/test_get_network_instances/no_vrf/show_vrf_detail.txt b/test/ios/mocked_data/test_get_network_instances/no_vrf/show_vrf_detail.txt new file mode 100644 index 000000000..e69de29bb diff --git a/test/ios/mocked_data/test_get_network_instances/normal/expected_result.json b/test/ios/mocked_data/test_get_network_instances/normal/expected_result.json index ce1c42502..3fa72cc63 100644 --- a/test/ios/mocked_data/test_get_network_instances/normal/expected_result.json +++ b/test/ios/mocked_data/test_get_network_instances/normal/expected_result.json @@ -1,78 +1,51 @@ { - "default":{ - "interfaces":{ - "interface":{ - "GigabitEthernet0/0/0":{ - - }, - "Gi0/0/0.152":{ - - }, - "GigabitEthernet0/0/2":{ - - }, - "Gi0/0/0.1774":{ - - }, - "GigabitEthernet0/0/4":{ - - }, - "Gi0/0/0.1772":{ - - }, - "GigabitEthernet0/0/3":{ - - }, - "Gi0/0/0.154":{ - - }, - "GigabitEthernet0/0/1":{ - - }, - "GigabitEthernet0":{ - - }, - "Gi0/0/0.1776":{ - - }, - "Gi0/0/0.600":{ - - }, - "Loopback2":{ - - } - } - }, - "state":{ - "route_distinguisher":"" - }, - "type":"DEFAULT_INSTANCE", - "name":"default" + "default": { + "name": "default", + "type": "DEFAULT_INSTANCE", + "state": { + "route_distinguisher": "" + }, + "interfaces": { + "interface": { + "Ethernet0/0": {}, + "Ethernet0/2": {}, + "Ethernet0/3": {}, + "Ethernet1/0": {}, + "Ethernet1/1": {}, + "Ethernet1/2": {}, + "Serial2/0": {}, + "Serial2/1": {}, + "Serial2/2": {}, + "Serial2/3": {}, + "Serial3/0": {}, + "Serial3/1": {}, + "Serial3/2": {}, + "Serial3/3": {} + } + } }, - "Mgmt-intf":{ - "interfaces":{ - "interface":{ - "Gi0":{ - - } - } - }, - "state":{ - "route_distinguisher":"" - }, - "type":"L3VRF", - "name":"Mgmt-intf" + "CustA": { + "name": "CustA", + "type": "L3VRF", + "state": { + "route_distinguisher": "2:2" + }, + "interfaces": { + "interface": { + "Ethernet0/1": {} + } + } }, - "opsnet":{ - "interfaces":{ - "interface":{ - - } - }, - "state":{ - "route_distinguisher":"10283:1021312690" - }, - "type":"L3VRF", - "name":"opsnet" + "mgmt": { + "name": "mgmt", + "type": "L3VRF", + "state": { + "route_distinguisher": "100:100" + }, + "interfaces": { + "interface": { + "Ethernet1/3": {} + } + } } -} \ No newline at end of file +} diff --git a/test/ios/mocked_data/test_get_network_instances/normal/show_ip_interface_brief.txt b/test/ios/mocked_data/test_get_network_instances/normal/show_ip_interface_brief.txt index 8ef3917eb..f2c3e361a 100644 --- a/test/ios/mocked_data/test_get_network_instances/normal/show_ip_interface_brief.txt +++ b/test/ios/mocked_data/test_get_network_instances/normal/show_ip_interface_brief.txt @@ -1,17 +1,17 @@ -Load for five secs: 0%/0%; one minute: 1%; five minutes: 1% -Time source is NTP, 09:30:03.851 DST Wed Nov 8 2017 - -Interface IP-Address OK? Method Status Protocol -GigabitEthernet0/0/0 unassigned YES NVRAM up up -Gi0/0/0.152 192.168.241.21 YES NVRAM up up -Gi0/0/0.154 192.168.241.30 YES NVRAM up up -Gi0/0/0.600 192.168.241.141 YES NVRAM up up -Gi0/0/0.1772 120.177.177.1 YES NVRAM up up -Gi0/0/0.1774 101.177.177.1 YES NVRAM up up -Gi0/0/0.1776 100.177.177.1 YES NVRAM up up -GigabitEthernet0/0/1 unassigned YES NVRAM administratively down down -GigabitEthernet0/0/2 unassigned YES NVRAM administratively down down -GigabitEthernet0/0/3 unassigned YES NVRAM administratively down down -GigabitEthernet0/0/4 unassigned YES NVRAM administratively down down -GigabitEthernet0 192.168.243.80 YES NVRAM up up -Loopback2 192.168.242.152 YES NVRAM up up \ No newline at end of file +Interface IP-Address OK? Method Status Protocol +Ethernet0/0 172.29.29.200 YES NVRAM up up +Ethernet0/1 10.50.50.1 YES NVRAM up up +Ethernet0/2 unassigned YES NVRAM administratively down down +Ethernet0/3 unassigned YES NVRAM administratively down down +Ethernet1/0 unassigned YES NVRAM administratively down down +Ethernet1/1 unassigned YES NVRAM administratively down down +Ethernet1/2 unassigned YES NVRAM administratively down down +Ethernet1/3 172.20.20.20 YES NVRAM up up +Serial2/0 unassigned YES NVRAM administratively down down +Serial2/1 unassigned YES NVRAM administratively down down +Serial2/2 unassigned YES NVRAM administratively down down +Serial2/3 unassigned YES NVRAM administratively down down +Serial3/0 unassigned YES NVRAM administratively down down +Serial3/1 unassigned YES NVRAM administratively down down +Serial3/2 unassigned YES NVRAM administratively down down +Serial3/3 unassigned YES NVRAM administratively down down diff --git a/test/ios/mocked_data/test_get_network_instances/normal/show_vrf_detail.txt b/test/ios/mocked_data/test_get_network_instances/normal/show_vrf_detail.txt index f29e9a0f9..02a913358 100644 --- a/test/ios/mocked_data/test_get_network_instances/normal/show_vrf_detail.txt +++ b/test/ios/mocked_data/test_get_network_instances/normal/show_vrf_detail.txt @@ -1,11 +1,8 @@ -Load for five secs: 0%/0%; one minute: 0%; five minutes: 1% -Time source is NTP, 09:28:50.737 DST Wed Nov 8 2017 - -VRF Mgmt-intf (VRF Id = 1); default RD ; default VPNID +VRF CustA (VRF Id = 1); default RD 2:2; default VPNID New CLI format, supports multiple address-families - Flags: 0x1808 + Flags: 0x180C Interfaces: - Gi0 + Et0/1 Address family ipv4 unicast (Table ID = 0x1): Flags: 0x0 No Export VPN route-target communities @@ -15,31 +12,22 @@ Address family ipv4 unicast (Table ID = 0x1): No export route-map VRF label distribution protocol: not configured VRF label allocation mode: per-prefix -Address family ipv6 unicast (Table ID = 0x1E000001): - Flags: 0x0 - No Export VPN route-target communities - No Import VPN route-target communities - No import route-map - No global export route-map - No export route-map - VRF label distribution protocol: not configured - VRF label allocation mode: per-prefix +Address family ipv6 unicast not active Address family ipv4 multicast not active -VRF opsnet (VRF Id = 2); default RD 10283:1021312690; default VPNID +VRF mgmt (VRF Id = 2); default RD 100:100; default VPNID New CLI format, supports multiple address-families Flags: 0x180C - No interfaces + Interfaces: + Et1/3 Address family ipv4 unicast (Table ID = 0x2): Flags: 0x0 - Export VPN route-target communities - RT:10283:50000 - Import VPN route-target communities - RT:10283:50000 + No Export VPN route-target communities + No Import VPN route-target communities No import route-map No global export route-map No export route-map VRF label distribution protocol: not configured VRF label allocation mode: per-prefix Address family ipv6 unicast not active -Address family ipv4 multicast not active \ No newline at end of file +Address family ipv4 multicast not active From 71ffa5179535ec5f4d09f9df688e78d703986f68 Mon Sep 17 00:00:00 2001 From: chonty Date: Thu, 6 Aug 2020 00:09:52 +1000 Subject: [PATCH 26/30] updated test cases --- .../no_vrf_svis/expected_result.json | 33 ++++++++++ .../no_vrf_svis/show_ip_interface_brief.txt | 21 ++++++ .../no_vrf_svis/show_vrf_detail.txt | 0 .../normal_svis/expected_result.json | 66 +++++++++++++++++++ .../normal_svis/show_ip_interface_brief.txt | 21 ++++++ .../normal_svis/show_vrf_detail.txt | 48 ++++++++++++++ 6 files changed, 189 insertions(+) create mode 100644 test/ios/mocked_data/test_get_network_instances/no_vrf_svis/expected_result.json create mode 100644 test/ios/mocked_data/test_get_network_instances/no_vrf_svis/show_ip_interface_brief.txt create mode 100644 test/ios/mocked_data/test_get_network_instances/no_vrf_svis/show_vrf_detail.txt create mode 100644 test/ios/mocked_data/test_get_network_instances/normal_svis/expected_result.json create mode 100644 test/ios/mocked_data/test_get_network_instances/normal_svis/show_ip_interface_brief.txt create mode 100644 test/ios/mocked_data/test_get_network_instances/normal_svis/show_vrf_detail.txt diff --git a/test/ios/mocked_data/test_get_network_instances/no_vrf_svis/expected_result.json b/test/ios/mocked_data/test_get_network_instances/no_vrf_svis/expected_result.json new file mode 100644 index 000000000..6e995be8d --- /dev/null +++ b/test/ios/mocked_data/test_get_network_instances/no_vrf_svis/expected_result.json @@ -0,0 +1,33 @@ +{ + "default": { + "name": "default", + "type": "DEFAULT_INSTANCE", + "state": { + "route_distinguisher": "" + }, + "interfaces": { + "interface": { + "Ethernet0/0": {}, + "Ethernet0/1": {}, + "Ethernet0/2": {}, + "Ethernet0/3": {}, + "Ethernet1/0": {}, + "Ethernet1/1": {}, + "Ethernet1/2": {}, + "Ethernet1/3": {}, + "Ethernet2/0": {}, + "Ethernet2/1": {}, + "Ethernet2/2": {}, + "Ethernet2/3": {}, + "Ethernet3/0": {}, + "Ethernet3/1": {}, + "Ethernet3/2": {}, + "Ethernet3/3": {}, + "Vlan1": {}, + "Vlan2": {}, + "Vlan3": {}, + "Vlan4": {} + } + } + } +} diff --git a/test/ios/mocked_data/test_get_network_instances/no_vrf_svis/show_ip_interface_brief.txt b/test/ios/mocked_data/test_get_network_instances/no_vrf_svis/show_ip_interface_brief.txt new file mode 100644 index 000000000..fcee66929 --- /dev/null +++ b/test/ios/mocked_data/test_get_network_instances/no_vrf_svis/show_ip_interface_brief.txt @@ -0,0 +1,21 @@ +Interface IP-Address OK? Method Status Protocol +Ethernet0/0 172.29.29.220 YES manual up up +Ethernet0/1 unassigned YES unset up up +Ethernet0/2 unassigned YES unset up up +Ethernet0/3 unassigned YES unset up up +Ethernet1/0 unassigned YES unset up up +Ethernet1/1 unassigned YES unset up up +Ethernet1/2 unassigned YES unset up up +Ethernet1/3 unassigned YES unset up up +Ethernet2/0 unassigned YES unset up up +Ethernet2/1 unassigned YES unset up up +Ethernet2/2 unassigned YES unset up up +Ethernet2/3 unassigned YES unset up up +Ethernet3/0 unassigned YES unset up up +Ethernet3/1 unassigned YES unset up up +Ethernet3/2 unassigned YES unset up up +Ethernet3/3 unassigned YES unset up up +Vlan1 unassigned YES unset administratively down down +Vlan2 2.2.2.2 YES manual up up +Vlan3 3.3.3.3 YES manual up up +Vlan4 4.4.4.4 YES manual up up diff --git a/test/ios/mocked_data/test_get_network_instances/no_vrf_svis/show_vrf_detail.txt b/test/ios/mocked_data/test_get_network_instances/no_vrf_svis/show_vrf_detail.txt new file mode 100644 index 000000000..e69de29bb diff --git a/test/ios/mocked_data/test_get_network_instances/normal_svis/expected_result.json b/test/ios/mocked_data/test_get_network_instances/normal_svis/expected_result.json new file mode 100644 index 000000000..3a0e182dd --- /dev/null +++ b/test/ios/mocked_data/test_get_network_instances/normal_svis/expected_result.json @@ -0,0 +1,66 @@ +{ + "default": { + "name": "default", + "type": "DEFAULT_INSTANCE", + "state": { + "route_distinguisher": "" + }, + "interfaces": { + "interface": { + "Ethernet0/0": {}, + "Ethernet0/1": {}, + "Ethernet0/2": {}, + "Ethernet0/3": {}, + "Ethernet1/0": {}, + "Ethernet1/1": {}, + "Ethernet1/2": {}, + "Ethernet1/3": {}, + "Ethernet2/0": {}, + "Ethernet2/1": {}, + "Ethernet2/2": {}, + "Ethernet2/3": {}, + "Ethernet3/0": {}, + "Ethernet3/1": {}, + "Ethernet3/2": {}, + "Ethernet3/3": {}, + "Vlan1": {} + } + } + }, + "CustA": { + "name": "CustA", + "type": "L3VRF", + "state": { + "route_distinguisher": "1:1" + }, + "interfaces": { + "interface": { + "Vlan2": {} + } + } + }, + "CustB": { + "name": "CustB", + "type": "L3VRF", + "state": { + "route_distinguisher": "2:2" + }, + "interfaces": { + "interface": { + "Vlan3": {} + } + } + }, + "CustC": { + "name": "CustC", + "type": "L3VRF", + "state": { + "route_distinguisher": "3:3" + }, + "interfaces": { + "interface": { + "Vlan4": {} + } + } + } +} diff --git a/test/ios/mocked_data/test_get_network_instances/normal_svis/show_ip_interface_brief.txt b/test/ios/mocked_data/test_get_network_instances/normal_svis/show_ip_interface_brief.txt new file mode 100644 index 000000000..fcee66929 --- /dev/null +++ b/test/ios/mocked_data/test_get_network_instances/normal_svis/show_ip_interface_brief.txt @@ -0,0 +1,21 @@ +Interface IP-Address OK? Method Status Protocol +Ethernet0/0 172.29.29.220 YES manual up up +Ethernet0/1 unassigned YES unset up up +Ethernet0/2 unassigned YES unset up up +Ethernet0/3 unassigned YES unset up up +Ethernet1/0 unassigned YES unset up up +Ethernet1/1 unassigned YES unset up up +Ethernet1/2 unassigned YES unset up up +Ethernet1/3 unassigned YES unset up up +Ethernet2/0 unassigned YES unset up up +Ethernet2/1 unassigned YES unset up up +Ethernet2/2 unassigned YES unset up up +Ethernet2/3 unassigned YES unset up up +Ethernet3/0 unassigned YES unset up up +Ethernet3/1 unassigned YES unset up up +Ethernet3/2 unassigned YES unset up up +Ethernet3/3 unassigned YES unset up up +Vlan1 unassigned YES unset administratively down down +Vlan2 2.2.2.2 YES manual up up +Vlan3 3.3.3.3 YES manual up up +Vlan4 4.4.4.4 YES manual up up diff --git a/test/ios/mocked_data/test_get_network_instances/normal_svis/show_vrf_detail.txt b/test/ios/mocked_data/test_get_network_instances/normal_svis/show_vrf_detail.txt new file mode 100644 index 000000000..e7875737b --- /dev/null +++ b/test/ios/mocked_data/test_get_network_instances/normal_svis/show_vrf_detail.txt @@ -0,0 +1,48 @@ +VRF CustA (VRF Id = 1); default RD 1:1; default VPNID + New CLI format, supports multiple address-families + Flags: 0x180C + Interfaces: + Vl2 +Address family ipv4 unicast (Table ID = 0x1): + Flags: 0x0 + No Export VPN route-target communities + No Import VPN route-target communities + No import route-map + No global export route-map + No export route-map + VRF label distribution protocol: not configured + VRF label allocation mode: per-prefix +Address family ipv6 unicast not active + +VRF CustB (VRF Id = 2); default RD 2:2; default VPNID + New CLI format, supports multiple address-families + Flags: 0x180C + Interfaces: + Vl3 +Address family ipv4 unicast (Table ID = 0x2): + Flags: 0x0 + No Export VPN route-target communities + No Import VPN route-target communities + No import route-map + No global export route-map + No export route-map + VRF label distribution protocol: not configured + VRF label allocation mode: per-prefix +Address family ipv6 unicast not active + +VRF CustC (VRF Id = 3); default RD 3:3; default VPNID + New CLI format, supports multiple address-families + Flags: 0x180C + Interfaces: + Vl4 +Address family ipv4 unicast (Table ID = 0x3): + Flags: 0x0 + No Export VPN route-target communities + No Import VPN route-target communities + No import route-map + No global export route-map + No export route-map + VRF label distribution protocol: not configured + VRF label allocation mode: per-prefix +Address family ipv6 unicast not active + From 4dff67c5364c7db2f5240e7af802dc76bd6b8902 Mon Sep 17 00:00:00 2001 From: chonty Date: Thu, 6 Aug 2020 00:15:25 +1000 Subject: [PATCH 27/30] reverted original test case changes --- .../no_vrf/expected_result.json | 29 ----- .../no_vrf/show_ip_interface_brief.txt | 17 --- .../no_vrf/show_vrf_detail.txt | 0 .../normal/expected_result.json | 100 ++++++++++-------- .../normal/show_ip_interface_brief.txt | 34 +++--- .../normal/show_vrf_detail.txt | 48 +++------ 6 files changed, 89 insertions(+), 139 deletions(-) delete mode 100644 test/ios/mocked_data/test_get_network_instances/no_vrf/expected_result.json delete mode 100644 test/ios/mocked_data/test_get_network_instances/no_vrf/show_ip_interface_brief.txt delete mode 100644 test/ios/mocked_data/test_get_network_instances/no_vrf/show_vrf_detail.txt diff --git a/test/ios/mocked_data/test_get_network_instances/no_vrf/expected_result.json b/test/ios/mocked_data/test_get_network_instances/no_vrf/expected_result.json deleted file mode 100644 index 2162b497b..000000000 --- a/test/ios/mocked_data/test_get_network_instances/no_vrf/expected_result.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "default": { - "name": "default", - "type": "DEFAULT_INSTANCE", - "state": { - "route_distinguisher": "" - }, - "interfaces": { - "interface": { - "Ethernet0/0": {}, - "Ethernet0/1": {}, - "Ethernet0/2": {}, - "Ethernet0/3": {}, - "Ethernet1/0": {}, - "Ethernet1/1": {}, - "Ethernet1/2": {}, - "Ethernet1/3": {}, - "Serial2/0": {}, - "Serial2/1": {}, - "Serial2/2": {}, - "Serial2/3": {}, - "Serial3/0": {}, - "Serial3/1": {}, - "Serial3/2": {}, - "Serial3/3": {} - } - } - } -} diff --git a/test/ios/mocked_data/test_get_network_instances/no_vrf/show_ip_interface_brief.txt b/test/ios/mocked_data/test_get_network_instances/no_vrf/show_ip_interface_brief.txt deleted file mode 100644 index a10a23944..000000000 --- a/test/ios/mocked_data/test_get_network_instances/no_vrf/show_ip_interface_brief.txt +++ /dev/null @@ -1,17 +0,0 @@ -Interface IP-Address OK? Method Status Protocol -Ethernet0/0 172.29.29.201 YES manual up up -Ethernet0/1 100.100.100.100 YES manual up up -Ethernet0/2 unassigned YES NVRAM administratively down down -Ethernet0/3 unassigned YES NVRAM administratively down down -Ethernet1/0 unassigned YES NVRAM administratively down down -Ethernet1/1 unassigned YES NVRAM administratively down down -Ethernet1/2 unassigned YES NVRAM administratively down down -Ethernet1/3 unassigned YES NVRAM up up -Serial2/0 unassigned YES NVRAM administratively down down -Serial2/1 unassigned YES NVRAM administratively down down -Serial2/2 unassigned YES NVRAM administratively down down -Serial2/3 unassigned YES NVRAM administratively down down -Serial3/0 unassigned YES NVRAM administratively down down -Serial3/1 unassigned YES NVRAM administratively down down -Serial3/2 unassigned YES NVRAM administratively down down -Serial3/3 unassigned YES NVRAM administratively down down diff --git a/test/ios/mocked_data/test_get_network_instances/no_vrf/show_vrf_detail.txt b/test/ios/mocked_data/test_get_network_instances/no_vrf/show_vrf_detail.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/test/ios/mocked_data/test_get_network_instances/normal/expected_result.json b/test/ios/mocked_data/test_get_network_instances/normal/expected_result.json index 3fa72cc63..d362f99c4 100644 --- a/test/ios/mocked_data/test_get_network_instances/normal/expected_result.json +++ b/test/ios/mocked_data/test_get_network_instances/normal/expected_result.json @@ -1,51 +1,63 @@ { - "default": { - "name": "default", - "type": "DEFAULT_INSTANCE", - "state": { - "route_distinguisher": "" + "Mgmt-intf":{ + "name":"Mgmt-intf", + "type":"L3VRF", + "state":{ + "route_distinguisher":"" }, - "interfaces": { - "interface": { - "Ethernet0/0": {}, - "Ethernet0/2": {}, - "Ethernet0/3": {}, - "Ethernet1/0": {}, - "Ethernet1/1": {}, - "Ethernet1/2": {}, - "Serial2/0": {}, - "Serial2/1": {}, - "Serial2/2": {}, - "Serial2/3": {}, - "Serial3/0": {}, - "Serial3/1": {}, - "Serial3/2": {}, - "Serial3/3": {} - } + "interfaces":{ + "Gi0":{ + + } } - }, - "CustA": { - "name": "CustA", - "type": "L3VRF", - "state": { - "route_distinguisher": "2:2" + }, + "Aut622":{ + "name":"Aut622", + "type":"L3VRF", + "state":{ + "route_distinguisher":"65421:224" }, - "interfaces": { - "interface": { - "Ethernet0/1": {} - } + "interfaces":{ + "Te2/0/0.622":{ + + }, + "Lo622":{ + + } } - }, - "mgmt": { - "name": "mgmt", - "type": "L3VRF", - "state": { - "route_distinguisher": "100:100" + }, + "mipepa33":{ + "name":"mipepa33", + "type":"L3VRF", + "state":{ + "route_distinguisher":"65421:942133" }, - "interfaces": { - "interface": { - "Ethernet1/3": {} - } + "interfaces":{ + "Lo199":{ + + }, + "Te2/0/0.1919":{ + + }, + "Tu0":{ + + }, + "Tu4":{ + + }, + "Tu6":{ + + } } - } -} + }, + "vrf101":{ + "name":"vrf101", + "type":"L3VRF", + "state":{ + "route_distinguisher":"65421:55101" + }, + "interfaces":{ + + } + } + } diff --git a/test/ios/mocked_data/test_get_network_instances/normal/show_ip_interface_brief.txt b/test/ios/mocked_data/test_get_network_instances/normal/show_ip_interface_brief.txt index f2c3e361a..84162f9a8 100644 --- a/test/ios/mocked_data/test_get_network_instances/normal/show_ip_interface_brief.txt +++ b/test/ios/mocked_data/test_get_network_instances/normal/show_ip_interface_brief.txt @@ -1,17 +1,17 @@ -Interface IP-Address OK? Method Status Protocol -Ethernet0/0 172.29.29.200 YES NVRAM up up -Ethernet0/1 10.50.50.1 YES NVRAM up up -Ethernet0/2 unassigned YES NVRAM administratively down down -Ethernet0/3 unassigned YES NVRAM administratively down down -Ethernet1/0 unassigned YES NVRAM administratively down down -Ethernet1/1 unassigned YES NVRAM administratively down down -Ethernet1/2 unassigned YES NVRAM administratively down down -Ethernet1/3 172.20.20.20 YES NVRAM up up -Serial2/0 unassigned YES NVRAM administratively down down -Serial2/1 unassigned YES NVRAM administratively down down -Serial2/2 unassigned YES NVRAM administratively down down -Serial2/3 unassigned YES NVRAM administratively down down -Serial3/0 unassigned YES NVRAM administratively down down -Serial3/1 unassigned YES NVRAM administratively down down -Serial3/2 unassigned YES NVRAM administratively down down -Serial3/3 unassigned YES NVRAM administratively down down +Load for five secs: 0%/0%; one minute: 1%; five minutes: 1% +Time source is NTP, 09:30:03.851 DST Wed Nov 8 2017 + +Interface IP-Address OK? Method Status Protocol +GigabitEthernet0/0/0 unassigned YES NVRAM up up +Gi0/0/0.152 192.168.241.21 YES NVRAM up up +Gi0/0/0.154 192.168.241.30 YES NVRAM up up +Gi0/0/0.600 192.168.241.141 YES NVRAM up up +Gi0/0/0.1772 120.177.177.1 YES NVRAM up up +Gi0/0/0.1774 101.177.177.1 YES NVRAM up up +Gi0/0/0.1776 100.177.177.1 YES NVRAM up up +GigabitEthernet0/0/1 unassigned YES NVRAM administratively down down +GigabitEthernet0/0/2 unassigned YES NVRAM administratively down down +GigabitEthernet0/0/3 unassigned YES NVRAM administratively down down +GigabitEthernet0/0/4 unassigned YES NVRAM administratively down down +GigabitEthernet0 192.168.243.80 YES NVRAM up up +Loopback2 192.168.242.152 YES NVRAM up up diff --git a/test/ios/mocked_data/test_get_network_instances/normal/show_vrf_detail.txt b/test/ios/mocked_data/test_get_network_instances/normal/show_vrf_detail.txt index 02a913358..84162f9a8 100644 --- a/test/ios/mocked_data/test_get_network_instances/normal/show_vrf_detail.txt +++ b/test/ios/mocked_data/test_get_network_instances/normal/show_vrf_detail.txt @@ -1,33 +1,17 @@ -VRF CustA (VRF Id = 1); default RD 2:2; default VPNID - New CLI format, supports multiple address-families - Flags: 0x180C - Interfaces: - Et0/1 -Address family ipv4 unicast (Table ID = 0x1): - Flags: 0x0 - No Export VPN route-target communities - No Import VPN route-target communities - No import route-map - No global export route-map - No export route-map - VRF label distribution protocol: not configured - VRF label allocation mode: per-prefix -Address family ipv6 unicast not active -Address family ipv4 multicast not active +Load for five secs: 0%/0%; one minute: 1%; five minutes: 1% +Time source is NTP, 09:30:03.851 DST Wed Nov 8 2017 -VRF mgmt (VRF Id = 2); default RD 100:100; default VPNID - New CLI format, supports multiple address-families - Flags: 0x180C - Interfaces: - Et1/3 -Address family ipv4 unicast (Table ID = 0x2): - Flags: 0x0 - No Export VPN route-target communities - No Import VPN route-target communities - No import route-map - No global export route-map - No export route-map - VRF label distribution protocol: not configured - VRF label allocation mode: per-prefix -Address family ipv6 unicast not active -Address family ipv4 multicast not active +Interface IP-Address OK? Method Status Protocol +GigabitEthernet0/0/0 unassigned YES NVRAM up up +Gi0/0/0.152 192.168.241.21 YES NVRAM up up +Gi0/0/0.154 192.168.241.30 YES NVRAM up up +Gi0/0/0.600 192.168.241.141 YES NVRAM up up +Gi0/0/0.1772 120.177.177.1 YES NVRAM up up +Gi0/0/0.1774 101.177.177.1 YES NVRAM up up +Gi0/0/0.1776 100.177.177.1 YES NVRAM up up +GigabitEthernet0/0/1 unassigned YES NVRAM administratively down down +GigabitEthernet0/0/2 unassigned YES NVRAM administratively down down +GigabitEthernet0/0/3 unassigned YES NVRAM administratively down down +GigabitEthernet0/0/4 unassigned YES NVRAM administratively down down +GigabitEthernet0 192.168.243.80 YES NVRAM up up +Loopback2 192.168.242.152 YES NVRAM up up From fa32c39a7c07adc06ac391c6b334f2d2b84ce036 Mon Sep 17 00:00:00 2001 From: chonty Date: Thu, 6 Aug 2020 00:30:50 +1000 Subject: [PATCH 28/30] undo a54ceba --- napalm/ios/ios.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/napalm/ios/ios.py b/napalm/ios/ios.py index 75f0646d3..435901581 100644 --- a/napalm/ios/ios.py +++ b/napalm/ios/ios.py @@ -3395,9 +3395,6 @@ def get_network_instances(self, name=""): first_part = vrf.split("Address family")[0] - if not first_part: - return instances - # retrieve the name of the VRF and the Route Distinguisher vrf_name, RD = re.match(r"^VRF (\S+).*RD (.*);", first_part).groups() if RD == "": From b53673b91d6c7cf94887ad72958139e7b7ee64b7 Mon Sep 17 00:00:00 2001 From: chonty Date: Thu, 6 Aug 2020 00:56:00 +1000 Subject: [PATCH 29/30] reverted original test case changes properly --- .../normal/expected_result.json | 105 ++++++++++-------- .../normal/show_vrf_detail.txt | 60 +++++++--- 2 files changed, 104 insertions(+), 61 deletions(-) diff --git a/test/ios/mocked_data/test_get_network_instances/normal/expected_result.json b/test/ios/mocked_data/test_get_network_instances/normal/expected_result.json index d362f99c4..7207f5158 100644 --- a/test/ios/mocked_data/test_get_network_instances/normal/expected_result.json +++ b/test/ios/mocked_data/test_get_network_instances/normal/expected_result.json @@ -1,63 +1,78 @@ { - "Mgmt-intf":{ - "name":"Mgmt-intf", - "type":"L3VRF", - "state":{ - "route_distinguisher":"" - }, + "default":{ "interfaces":{ - "Gi0":{ + "interface":{ + "GigabitEthernet0/0/0":{ - } - } - }, - "Aut622":{ - "name":"Aut622", - "type":"L3VRF", - "state":{ - "route_distinguisher":"65421:224" - }, - "interfaces":{ - "Te2/0/0.622":{ + }, + "Gi0/0/0.152":{ - }, - "Lo622":{ + }, + "GigabitEthernet0/0/2":{ - } - } - }, - "mipepa33":{ - "name":"mipepa33", - "type":"L3VRF", - "state":{ - "route_distinguisher":"65421:942133" - }, - "interfaces":{ - "Lo199":{ + }, + "Gi0/0/0.1774":{ + + }, + "GigabitEthernet0/0/4":{ + + }, + "Gi0/0/0.1772":{ + + }, + "GigabitEthernet0/0/3":{ - }, - "Te2/0/0.1919":{ + }, + "Gi0/0/0.154":{ - }, - "Tu0":{ + }, + "GigabitEthernet0/0/1":{ - }, - "Tu4":{ + }, + "GigabitEthernet0":{ - }, - "Tu6":{ + }, + "Gi0/0/0.1776":{ + }, + "Gi0/0/0.600":{ + + }, + "Loopback2":{ + + } } - } + }, + "state":{ + "route_distinguisher":"" + }, + "type":"DEFAULT_INSTANCE", + "name":"default" }, - "vrf101":{ - "name":"vrf101", - "type":"L3VRF", + "Mgmt-intf":{ + "interfaces":{ + "interface":{ + "Gi0":{ + + } + } + }, "state":{ - "route_distinguisher":"65421:55101" + "route_distinguisher":"" }, + "type":"L3VRF", + "name":"Mgmt-intf" + }, + "opsnet":{ "interfaces":{ + "interface":{ - } + } + }, + "state":{ + "route_distinguisher":"10283:1021312690" + }, + "type":"L3VRF", + "name":"opsnet" } } diff --git a/test/ios/mocked_data/test_get_network_instances/normal/show_vrf_detail.txt b/test/ios/mocked_data/test_get_network_instances/normal/show_vrf_detail.txt index 84162f9a8..3405acdf9 100644 --- a/test/ios/mocked_data/test_get_network_instances/normal/show_vrf_detail.txt +++ b/test/ios/mocked_data/test_get_network_instances/normal/show_vrf_detail.txt @@ -1,17 +1,45 @@ -Load for five secs: 0%/0%; one minute: 1%; five minutes: 1% -Time source is NTP, 09:30:03.851 DST Wed Nov 8 2017 +Load for five secs: 0%/0%; one minute: 0%; five minutes: 1% +Time source is NTP, 09:28:50.737 DST Wed Nov 8 2017 -Interface IP-Address OK? Method Status Protocol -GigabitEthernet0/0/0 unassigned YES NVRAM up up -Gi0/0/0.152 192.168.241.21 YES NVRAM up up -Gi0/0/0.154 192.168.241.30 YES NVRAM up up -Gi0/0/0.600 192.168.241.141 YES NVRAM up up -Gi0/0/0.1772 120.177.177.1 YES NVRAM up up -Gi0/0/0.1774 101.177.177.1 YES NVRAM up up -Gi0/0/0.1776 100.177.177.1 YES NVRAM up up -GigabitEthernet0/0/1 unassigned YES NVRAM administratively down down -GigabitEthernet0/0/2 unassigned YES NVRAM administratively down down -GigabitEthernet0/0/3 unassigned YES NVRAM administratively down down -GigabitEthernet0/0/4 unassigned YES NVRAM administratively down down -GigabitEthernet0 192.168.243.80 YES NVRAM up up -Loopback2 192.168.242.152 YES NVRAM up up +VRF Mgmt-intf (VRF Id = 1); default RD ; default VPNID + New CLI format, supports multiple address-families + Flags: 0x1808 + Interfaces: + Gi0 +Address family ipv4 unicast (Table ID = 0x1): + Flags: 0x0 + No Export VPN route-target communities + No Import VPN route-target communities + No import route-map + No global export route-map + No export route-map + VRF label distribution protocol: not configured + VRF label allocation mode: per-prefix +Address family ipv6 unicast (Table ID = 0x1E000001): + Flags: 0x0 + No Export VPN route-target communities + No Import VPN route-target communities + No import route-map + No global export route-map + No export route-map + VRF label distribution protocol: not configured + VRF label allocation mode: per-prefix +Address family ipv4 multicast not active + +VRF opsnet (VRF Id = 2); default RD 10283:1021312690; default VPNID + New CLI format, supports multiple address-families + Flags: 0x180C + No interfaces +Address family ipv4 unicast (Table ID = 0x2): + Flags: 0x0 + Export VPN route-target communities + RT:10283:50000 + Import VPN route-target communities + RT:10283:50000 + No import route-map + No global export route-map + No export route-map + VRF label distribution protocol: not configured + VRF label allocation mode: per-prefix +Address family ipv6 unicast not active +Address family ipv4 multicast not active From cb09cbf3ec9ac71faf04612302d3ec58b8255379 Mon Sep 17 00:00:00 2001 From: chonty Date: Thu, 6 Aug 2020 08:43:07 +1000 Subject: [PATCH 30/30] update 'normal' test case --- .../normal/expected_result.json | 142 ++++++++---------- .../normal/show_ip_interface_brief.txt | 36 +++-- .../normal/show_vrf_detail.txt | 35 +++-- .../normal_svis/expected_result.json | 66 -------- .../normal_svis/show_ip_interface_brief.txt | 21 --- .../normal_svis/show_vrf_detail.txt | 48 ------ 6 files changed, 104 insertions(+), 244 deletions(-) delete mode 100644 test/ios/mocked_data/test_get_network_instances/normal_svis/expected_result.json delete mode 100644 test/ios/mocked_data/test_get_network_instances/normal_svis/show_ip_interface_brief.txt delete mode 100644 test/ios/mocked_data/test_get_network_instances/normal_svis/show_vrf_detail.txt diff --git a/test/ios/mocked_data/test_get_network_instances/normal/expected_result.json b/test/ios/mocked_data/test_get_network_instances/normal/expected_result.json index 7207f5158..3a0e182dd 100644 --- a/test/ios/mocked_data/test_get_network_instances/normal/expected_result.json +++ b/test/ios/mocked_data/test_get_network_instances/normal/expected_result.json @@ -1,78 +1,66 @@ { - "default":{ - "interfaces":{ - "interface":{ - "GigabitEthernet0/0/0":{ - - }, - "Gi0/0/0.152":{ - - }, - "GigabitEthernet0/0/2":{ - - }, - "Gi0/0/0.1774":{ - - }, - "GigabitEthernet0/0/4":{ - - }, - "Gi0/0/0.1772":{ - - }, - "GigabitEthernet0/0/3":{ - - }, - "Gi0/0/0.154":{ - - }, - "GigabitEthernet0/0/1":{ - - }, - "GigabitEthernet0":{ - - }, - "Gi0/0/0.1776":{ - - }, - "Gi0/0/0.600":{ - - }, - "Loopback2":{ - - } - } - }, - "state":{ - "route_distinguisher":"" - }, - "type":"DEFAULT_INSTANCE", - "name":"default" - }, - "Mgmt-intf":{ - "interfaces":{ - "interface":{ - "Gi0":{ - - } - } - }, - "state":{ - "route_distinguisher":"" - }, - "type":"L3VRF", - "name":"Mgmt-intf" - }, - "opsnet":{ - "interfaces":{ - "interface":{ - - } - }, - "state":{ - "route_distinguisher":"10283:1021312690" - }, - "type":"L3VRF", - "name":"opsnet" - } - } + "default": { + "name": "default", + "type": "DEFAULT_INSTANCE", + "state": { + "route_distinguisher": "" + }, + "interfaces": { + "interface": { + "Ethernet0/0": {}, + "Ethernet0/1": {}, + "Ethernet0/2": {}, + "Ethernet0/3": {}, + "Ethernet1/0": {}, + "Ethernet1/1": {}, + "Ethernet1/2": {}, + "Ethernet1/3": {}, + "Ethernet2/0": {}, + "Ethernet2/1": {}, + "Ethernet2/2": {}, + "Ethernet2/3": {}, + "Ethernet3/0": {}, + "Ethernet3/1": {}, + "Ethernet3/2": {}, + "Ethernet3/3": {}, + "Vlan1": {} + } + } + }, + "CustA": { + "name": "CustA", + "type": "L3VRF", + "state": { + "route_distinguisher": "1:1" + }, + "interfaces": { + "interface": { + "Vlan2": {} + } + } + }, + "CustB": { + "name": "CustB", + "type": "L3VRF", + "state": { + "route_distinguisher": "2:2" + }, + "interfaces": { + "interface": { + "Vlan3": {} + } + } + }, + "CustC": { + "name": "CustC", + "type": "L3VRF", + "state": { + "route_distinguisher": "3:3" + }, + "interfaces": { + "interface": { + "Vlan4": {} + } + } + } +} diff --git a/test/ios/mocked_data/test_get_network_instances/normal/show_ip_interface_brief.txt b/test/ios/mocked_data/test_get_network_instances/normal/show_ip_interface_brief.txt index 84162f9a8..fcee66929 100644 --- a/test/ios/mocked_data/test_get_network_instances/normal/show_ip_interface_brief.txt +++ b/test/ios/mocked_data/test_get_network_instances/normal/show_ip_interface_brief.txt @@ -1,17 +1,21 @@ -Load for five secs: 0%/0%; one minute: 1%; five minutes: 1% -Time source is NTP, 09:30:03.851 DST Wed Nov 8 2017 - Interface IP-Address OK? Method Status Protocol -GigabitEthernet0/0/0 unassigned YES NVRAM up up -Gi0/0/0.152 192.168.241.21 YES NVRAM up up -Gi0/0/0.154 192.168.241.30 YES NVRAM up up -Gi0/0/0.600 192.168.241.141 YES NVRAM up up -Gi0/0/0.1772 120.177.177.1 YES NVRAM up up -Gi0/0/0.1774 101.177.177.1 YES NVRAM up up -Gi0/0/0.1776 100.177.177.1 YES NVRAM up up -GigabitEthernet0/0/1 unassigned YES NVRAM administratively down down -GigabitEthernet0/0/2 unassigned YES NVRAM administratively down down -GigabitEthernet0/0/3 unassigned YES NVRAM administratively down down -GigabitEthernet0/0/4 unassigned YES NVRAM administratively down down -GigabitEthernet0 192.168.243.80 YES NVRAM up up -Loopback2 192.168.242.152 YES NVRAM up up +Ethernet0/0 172.29.29.220 YES manual up up +Ethernet0/1 unassigned YES unset up up +Ethernet0/2 unassigned YES unset up up +Ethernet0/3 unassigned YES unset up up +Ethernet1/0 unassigned YES unset up up +Ethernet1/1 unassigned YES unset up up +Ethernet1/2 unassigned YES unset up up +Ethernet1/3 unassigned YES unset up up +Ethernet2/0 unassigned YES unset up up +Ethernet2/1 unassigned YES unset up up +Ethernet2/2 unassigned YES unset up up +Ethernet2/3 unassigned YES unset up up +Ethernet3/0 unassigned YES unset up up +Ethernet3/1 unassigned YES unset up up +Ethernet3/2 unassigned YES unset up up +Ethernet3/3 unassigned YES unset up up +Vlan1 unassigned YES unset administratively down down +Vlan2 2.2.2.2 YES manual up up +Vlan3 3.3.3.3 YES manual up up +Vlan4 4.4.4.4 YES manual up up diff --git a/test/ios/mocked_data/test_get_network_instances/normal/show_vrf_detail.txt b/test/ios/mocked_data/test_get_network_instances/normal/show_vrf_detail.txt index 3405acdf9..e7875737b 100644 --- a/test/ios/mocked_data/test_get_network_instances/normal/show_vrf_detail.txt +++ b/test/ios/mocked_data/test_get_network_instances/normal/show_vrf_detail.txt @@ -1,11 +1,8 @@ -Load for five secs: 0%/0%; one minute: 0%; five minutes: 1% -Time source is NTP, 09:28:50.737 DST Wed Nov 8 2017 - -VRF Mgmt-intf (VRF Id = 1); default RD ; default VPNID +VRF CustA (VRF Id = 1); default RD 1:1; default VPNID New CLI format, supports multiple address-families - Flags: 0x1808 + Flags: 0x180C Interfaces: - Gi0 + Vl2 Address family ipv4 unicast (Table ID = 0x1): Flags: 0x0 No Export VPN route-target communities @@ -15,7 +12,14 @@ Address family ipv4 unicast (Table ID = 0x1): No export route-map VRF label distribution protocol: not configured VRF label allocation mode: per-prefix -Address family ipv6 unicast (Table ID = 0x1E000001): +Address family ipv6 unicast not active + +VRF CustB (VRF Id = 2); default RD 2:2; default VPNID + New CLI format, supports multiple address-families + Flags: 0x180C + Interfaces: + Vl3 +Address family ipv4 unicast (Table ID = 0x2): Flags: 0x0 No Export VPN route-target communities No Import VPN route-target communities @@ -24,22 +28,21 @@ Address family ipv6 unicast (Table ID = 0x1E000001): No export route-map VRF label distribution protocol: not configured VRF label allocation mode: per-prefix -Address family ipv4 multicast not active +Address family ipv6 unicast not active -VRF opsnet (VRF Id = 2); default RD 10283:1021312690; default VPNID +VRF CustC (VRF Id = 3); default RD 3:3; default VPNID New CLI format, supports multiple address-families Flags: 0x180C - No interfaces -Address family ipv4 unicast (Table ID = 0x2): + Interfaces: + Vl4 +Address family ipv4 unicast (Table ID = 0x3): Flags: 0x0 - Export VPN route-target communities - RT:10283:50000 - Import VPN route-target communities - RT:10283:50000 + No Export VPN route-target communities + No Import VPN route-target communities No import route-map No global export route-map No export route-map VRF label distribution protocol: not configured VRF label allocation mode: per-prefix Address family ipv6 unicast not active -Address family ipv4 multicast not active + diff --git a/test/ios/mocked_data/test_get_network_instances/normal_svis/expected_result.json b/test/ios/mocked_data/test_get_network_instances/normal_svis/expected_result.json deleted file mode 100644 index 3a0e182dd..000000000 --- a/test/ios/mocked_data/test_get_network_instances/normal_svis/expected_result.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "default": { - "name": "default", - "type": "DEFAULT_INSTANCE", - "state": { - "route_distinguisher": "" - }, - "interfaces": { - "interface": { - "Ethernet0/0": {}, - "Ethernet0/1": {}, - "Ethernet0/2": {}, - "Ethernet0/3": {}, - "Ethernet1/0": {}, - "Ethernet1/1": {}, - "Ethernet1/2": {}, - "Ethernet1/3": {}, - "Ethernet2/0": {}, - "Ethernet2/1": {}, - "Ethernet2/2": {}, - "Ethernet2/3": {}, - "Ethernet3/0": {}, - "Ethernet3/1": {}, - "Ethernet3/2": {}, - "Ethernet3/3": {}, - "Vlan1": {} - } - } - }, - "CustA": { - "name": "CustA", - "type": "L3VRF", - "state": { - "route_distinguisher": "1:1" - }, - "interfaces": { - "interface": { - "Vlan2": {} - } - } - }, - "CustB": { - "name": "CustB", - "type": "L3VRF", - "state": { - "route_distinguisher": "2:2" - }, - "interfaces": { - "interface": { - "Vlan3": {} - } - } - }, - "CustC": { - "name": "CustC", - "type": "L3VRF", - "state": { - "route_distinguisher": "3:3" - }, - "interfaces": { - "interface": { - "Vlan4": {} - } - } - } -} diff --git a/test/ios/mocked_data/test_get_network_instances/normal_svis/show_ip_interface_brief.txt b/test/ios/mocked_data/test_get_network_instances/normal_svis/show_ip_interface_brief.txt deleted file mode 100644 index fcee66929..000000000 --- a/test/ios/mocked_data/test_get_network_instances/normal_svis/show_ip_interface_brief.txt +++ /dev/null @@ -1,21 +0,0 @@ -Interface IP-Address OK? Method Status Protocol -Ethernet0/0 172.29.29.220 YES manual up up -Ethernet0/1 unassigned YES unset up up -Ethernet0/2 unassigned YES unset up up -Ethernet0/3 unassigned YES unset up up -Ethernet1/0 unassigned YES unset up up -Ethernet1/1 unassigned YES unset up up -Ethernet1/2 unassigned YES unset up up -Ethernet1/3 unassigned YES unset up up -Ethernet2/0 unassigned YES unset up up -Ethernet2/1 unassigned YES unset up up -Ethernet2/2 unassigned YES unset up up -Ethernet2/3 unassigned YES unset up up -Ethernet3/0 unassigned YES unset up up -Ethernet3/1 unassigned YES unset up up -Ethernet3/2 unassigned YES unset up up -Ethernet3/3 unassigned YES unset up up -Vlan1 unassigned YES unset administratively down down -Vlan2 2.2.2.2 YES manual up up -Vlan3 3.3.3.3 YES manual up up -Vlan4 4.4.4.4 YES manual up up diff --git a/test/ios/mocked_data/test_get_network_instances/normal_svis/show_vrf_detail.txt b/test/ios/mocked_data/test_get_network_instances/normal_svis/show_vrf_detail.txt deleted file mode 100644 index e7875737b..000000000 --- a/test/ios/mocked_data/test_get_network_instances/normal_svis/show_vrf_detail.txt +++ /dev/null @@ -1,48 +0,0 @@ -VRF CustA (VRF Id = 1); default RD 1:1; default VPNID - New CLI format, supports multiple address-families - Flags: 0x180C - Interfaces: - Vl2 -Address family ipv4 unicast (Table ID = 0x1): - Flags: 0x0 - No Export VPN route-target communities - No Import VPN route-target communities - No import route-map - No global export route-map - No export route-map - VRF label distribution protocol: not configured - VRF label allocation mode: per-prefix -Address family ipv6 unicast not active - -VRF CustB (VRF Id = 2); default RD 2:2; default VPNID - New CLI format, supports multiple address-families - Flags: 0x180C - Interfaces: - Vl3 -Address family ipv4 unicast (Table ID = 0x2): - Flags: 0x0 - No Export VPN route-target communities - No Import VPN route-target communities - No import route-map - No global export route-map - No export route-map - VRF label distribution protocol: not configured - VRF label allocation mode: per-prefix -Address family ipv6 unicast not active - -VRF CustC (VRF Id = 3); default RD 3:3; default VPNID - New CLI format, supports multiple address-families - Flags: 0x180C - Interfaces: - Vl4 -Address family ipv4 unicast (Table ID = 0x3): - Flags: 0x0 - No Export VPN route-target communities - No Import VPN route-target communities - No import route-map - No global export route-map - No export route-map - VRF label distribution protocol: not configured - VRF label allocation mode: per-prefix -Address family ipv6 unicast not active -