Repository: napalm-automation/napalm

Issue:
JunOS: Add Support for Logical Interfaces Counters
### Description of Issue/Question

I noticed that when calling `get_interfaces_counters` for JunOS, only the physical interface counters are returned and not the logical interfaces. Since logical interfaces are returned in a call to `get_interfaces`, I was wondering if it makes sense to also include logical interfaces when calling `get_interfaces_counters`. 

I did some testing and it's definitely possible to do, however at least in my environment, only the `rx_octets` and `tx_octets` have values. Still, they're values nonetheless and it would be nice to access them.

### Did you follow the steps from https://github.com/napalm-automation/napalm#faq
(Place an ``x`` between the square brackets where applicable)

- [x] Yes
- [ ] No


### Setup

### napalm version
(Paste verbatim output from `pip freeze | grep napalm` between quotes below)

```
napalm==3.2.0
```

### Network operating system version
(Paste verbatim output from `show version` - or equivalent - between quotes below)

```
JunOS 17.3
```


Discussion:
Hi @jtopjian. I think it would make sense; historically, `get_interfaces` didn't return logical interfaces either, so I think it would be best to have them aligned. For anything else besides `rx_octets` and `tx_octets` you can default the other fields to -1.
Thanks!

> For anything else besides rx_octets and tx_octets you can default the other fields to -1.

Agreed. Using the logic already in [`get_interfaces_counters`](https://github.com/napalm-automation/napalm/blob/develop/napalm/junos/junos.py#L389-L398), it's easy to make a second view for the logical interfaces, call it, and combine the results. This is what I'm currently doing internally, however, I don't know enough about Juniper equipment to be confident enough to submit a PR myself.

Resolving patch:
diff --git a/napalm/junos/junos.py b/napalm/junos/junos.py
--- a/napalm/junos/junos.py
+++ b/napalm/junos/junos.py
@@ -405,9 +405,17 @@ def get_interfaces_counters(self):
         query.get()
         interface_counters = {}
         for interface, counters in query.items():
-            interface_counters[interface] = {
-                k: v if v is not None else -1 for k, v in counters
-            }
+            _interface_counters = {}
+            for k, v in counters:
+                if k == "logical_interfaces":
+                    for _interface, _counters in v.items():
+                        interface_counters[_interface] = {
+                            k: v if v is not None else -1 for k, v in _counters
+                        }
+                else:
+                    _interface_counters[k] = v if v is not None else -1
+
+            interface_counters[interface] = _interface_counters
         return interface_counters
 
     def get_environment(self):


Test patch:
diff --git a/test/junos/mocked_data/test_get_interfaces_counters/normal/expected_result.json b/test/junos/mocked_data/test_get_interfaces_counters/normal/expected_result.json
--- a/test/junos/mocked_data/test_get_interfaces_counters/normal/expected_result.json
+++ b/test/junos/mocked_data/test_get_interfaces_counters/normal/expected_result.json
@@ -1 +1,1318 @@
-{"ge-0/0/7": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/6": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/5": {"tx_multicast_packets": 28, "tx_discards": 0, "tx_octets": 31303, "tx_errors": 0, "rx_octets": 24001, "tx_unicast_packets": 1, "rx_errors": 0, "tx_broadcast_packets": 68, "rx_multicast_packets": 87, "rx_broadcast_packets": 32, "rx_discards": 0, "rx_unicast_packets": 6}, "ge-0/0/4": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/3": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/2": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/1": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/0": {"tx_multicast_packets": 9665746, "tx_discards": 0, "tx_octets": 1435582779, "tx_errors": 0, "rx_octets": 271705947, "tx_unicast_packets": 1492852, "rx_errors": 0, "tx_broadcast_packets": 23451, "rx_multicast_packets": 862303, "rx_broadcast_packets": 12017, "rx_discards": 0, "rx_unicast_packets": 1363176}, "ipip": {"tx_multicast_packets": -1, "tx_discards": -1, "tx_octets": 0, "tx_errors": -1, "rx_octets": 0, "tx_unicast_packets": -1, "rx_errors": -1, "tx_broadcast_packets": -1, "rx_multicast_packets": -1, "rx_broadcast_packets": -1, "rx_discards": -1, "rx_unicast_packets": -1}, "vme": {"tx_multicast_packets": -1, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": -1, "rx_errors": 0, "tx_broadcast_packets": -1, "rx_multicast_packets": -1, "rx_broadcast_packets": -1, "rx_discards": 0, "rx_unicast_packets": -1}, "ge-0/0/9": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "lsi": {"tx_multicast_packets": -1, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": -1, "rx_errors": 0, "tx_broadcast_packets": -1, "rx_multicast_packets": -1, "rx_broadcast_packets": -1, "rx_discards": 0, "rx_unicast_packets": -1}, "ge-0/0/13": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/12": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/11": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/10": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/17": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/16": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/15": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/14": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/35": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/34": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/19": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/18": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/31": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/30": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/33": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/32": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/43": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/26": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/22": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "lo0": {"tx_multicast_packets": -1, "tx_discards": 0, "tx_octets": 610476, "tx_errors": 0, "rx_octets": 610476, "tx_unicast_packets": -1, "rx_errors": 0, "tx_broadcast_packets": -1, "rx_multicast_packets": -1, "rx_broadcast_packets": -1, "rx_discards": 0, "rx_unicast_packets": -1}, "mtun": {"tx_multicast_packets": -1, "tx_discards": -1, "tx_octets": 0, "tx_errors": -1, "rx_octets": 0, "tx_unicast_packets": -1, "rx_errors": -1, "tx_broadcast_packets": -1, "rx_multicast_packets": -1, "rx_broadcast_packets": -1, "rx_discards": -1, "rx_unicast_packets": -1}, "ge-0/0/23": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "gre": {"tx_multicast_packets": -1, "tx_discards": -1, "tx_octets": 0, "tx_errors": -1, "rx_octets": 0, "tx_unicast_packets": -1, "rx_errors": -1, "tx_broadcast_packets": -1, "rx_multicast_packets": -1, "rx_broadcast_packets": -1, "rx_discards": -1, "rx_unicast_packets": -1}, "ge-0/0/20": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/38": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/21": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "dsc": {"tx_multicast_packets": -1, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": -1, "rx_errors": 0, "tx_broadcast_packets": -1, "rx_multicast_packets": -1, "rx_broadcast_packets": -1, "rx_discards": 0, "rx_unicast_packets": -1}, "tap": {"tx_multicast_packets": -1, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": -1, "rx_errors": 0, "tx_broadcast_packets": -1, "rx_multicast_packets": -1, "rx_broadcast_packets": -1, "rx_discards": 0, "rx_unicast_packets": -1}, "vlan": {"tx_multicast_packets": -1, "tx_discards": 0, "tx_octets": 292202823, "tx_errors": 0, "rx_octets": 293359278, "tx_unicast_packets": -1, "rx_errors": 0, "tx_broadcast_packets": -1, "rx_multicast_packets": -1, "rx_broadcast_packets": -1, "rx_discards": 0, "rx_unicast_packets": -1}, "jsrv": {"tx_multicast_packets": -1, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": -1, "rx_errors": 0, "tx_broadcast_packets": -1, "rx_multicast_packets": -1, "rx_broadcast_packets": -1, "rx_discards": 0, "rx_unicast_packets": -1}, "ge-0/0/37": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, ".local.": {"tx_multicast_packets": -1, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": -1, "rx_errors": 0, "tx_broadcast_packets": -1, "rx_multicast_packets": -1, "rx_broadcast_packets": -1, "rx_discards": 0, "rx_unicast_packets": -1}, "ge-0/0/28": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/29": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/40": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/27": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/42": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/8": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/44": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/45": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/46": {"tx_multicast_packets": 10037827, "tx_discards": 0, "tx_octets": 1496970147, "tx_errors": 0, "rx_octets": 114584908, "tx_unicast_packets": 1410736, "rx_errors": 0, "tx_broadcast_packets": 23008, "rx_multicast_packets": 37, "rx_broadcast_packets": 190, "rx_discards": 0, "rx_unicast_packets": 1390604}, "ge-0/0/47": {"tx_multicast_packets": 9860066, "tx_discards": 0, "tx_octets": 1463153580, "tx_errors": 0, "rx_octets": 113437874, "tx_unicast_packets": 1427754, "rx_errors": 0, "tx_broadcast_packets": 8976, "rx_multicast_packets": 55, "rx_broadcast_packets": 130, "rx_discards": 0, "rx_unicast_packets": 1433255}, "ge-0/0/24": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "xe-0/1/2": {"tx_multicast_packets": 632800, "tx_discards": 0, "tx_octets": 321048601, "tx_errors": 0, "rx_octets": 352273601, "tx_unicast_packets": 778949, "rx_errors": 0, "tx_broadcast_packets": 339188, "rx_multicast_packets": 1770946, "rx_broadcast_packets": 9775, "rx_discards": 0, "rx_unicast_packets": 839944}, "xe-0/1/0": {"tx_multicast_packets": 682594, "tx_discards": 0, "tx_octets": 466070265, "tx_errors": 0, "rx_octets": 431446168, "tx_unicast_packets": 2639438, "rx_errors": 0, "tx_broadcast_packets": 16378, "rx_multicast_packets": 605353, "rx_broadcast_packets": 16013, "rx_discards": 0, "rx_unicast_packets": 2781511}, "vcp-1": {"tx_multicast_packets": -1, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": -1, "rx_errors": 0, "tx_broadcast_packets": -1, "rx_multicast_packets": -1, "rx_broadcast_packets": -1, "rx_discards": 0, "rx_unicast_packets": -1}, "vcp-0": {"tx_multicast_packets": -1, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": -1, "rx_errors": 0, "tx_broadcast_packets": -1, "rx_multicast_packets": -1, "rx_broadcast_packets": -1, "rx_discards": 0, "rx_unicast_packets": -1}, "ge-0/0/36": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "pimd": {"tx_multicast_packets": -1, "tx_discards": -1, "tx_octets": 0, "tx_errors": -1, "rx_octets": 0, "tx_unicast_packets": -1, "rx_errors": -1, "tx_broadcast_packets": -1, "rx_multicast_packets": -1, "rx_broadcast_packets": -1, "rx_discards": -1, "rx_unicast_packets": -1}, "pime": {"tx_multicast_packets": -1, "tx_discards": -1, "tx_octets": 0, "tx_errors": -1, "rx_octets": 0, "tx_unicast_packets": -1, "rx_errors": -1, "tx_broadcast_packets": -1, "rx_multicast_packets": -1, "rx_broadcast_packets": -1, "rx_discards": -1, "rx_unicast_packets": -1}, "ge-0/0/41": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "bme0": {"tx_multicast_packets": -1, "tx_discards": 0, "tx_octets": 456938, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": -1, "rx_errors": 0, "tx_broadcast_packets": -1, "rx_multicast_packets": -1, "rx_broadcast_packets": -1, "rx_discards": 0, "rx_unicast_packets": -1}, "ge-0/0/39": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "ge-0/0/25": {"tx_multicast_packets": 0, "tx_discards": 0, "tx_octets": 0, "tx_errors": 0, "rx_octets": 0, "tx_unicast_packets": 0, "rx_errors": 0, "tx_broadcast_packets": 0, "rx_multicast_packets": 0, "rx_broadcast_packets": 0, "rx_discards": 0, "rx_unicast_packets": 0}, "me0": {"tx_multicast_packets": -1, "tx_discards": 0, "tx_octets": 443639407, "tx_errors": 0, "rx_octets": 1899695215, "tx_unicast_packets": -1, "rx_errors": 1206, "tx_broadcast_packets": -1, "rx_multicast_packets": -1, "rx_broadcast_packets": -1, "rx_discards": 0, "rx_unicast_packets": -1}}
+{
+  ".local.": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": -1,
+    "rx_octets": 0,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": -1,
+    "tx_octets": 0,
+    "tx_unicast_packets": -1
+  },
+  ".local..0": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": -1,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": -1,
+    "tx_unicast_packets": -1
+  },
+  ".local..1": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": -1,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": -1,
+    "tx_unicast_packets": -1
+  },
+  ".local..2": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": -1,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": -1,
+    "tx_unicast_packets": -1
+  },
+  ".local..3": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": -1,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": -1,
+    "tx_unicast_packets": -1
+  },
+  ".local..4": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": -1,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": -1,
+    "tx_unicast_packets": -1
+  },
+  ".local..5": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": -1,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": -1,
+    "tx_unicast_packets": -1
+  },
+  ".local..6": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": -1,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": -1,
+    "tx_unicast_packets": -1
+  },
+  ".local..7": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": -1,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": -1,
+    "tx_unicast_packets": -1
+  },
+  "bme0": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": -1,
+    "rx_octets": 0,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": -1,
+    "tx_octets": 456938,
+    "tx_unicast_packets": -1
+  },
+  "bme0.32768": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 1694068087,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 126,
+    "tx_unicast_packets": -1
+  },
+  "dsc": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": -1,
+    "rx_octets": 0,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": -1,
+    "tx_octets": 0,
+    "tx_unicast_packets": -1
+  },
+  "ge-0/0/0": {
+    "rx_broadcast_packets": 12017,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 862303,
+    "rx_octets": 271705947,
+    "rx_unicast_packets": 1363176,
+    "tx_broadcast_packets": 23451,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 9665746,
+    "tx_octets": 1435582779,
+    "tx_unicast_packets": 1492852
+  },
+  "ge-0/0/0.0": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 147664036,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 1370865391,
+    "tx_unicast_packets": -1
+  },
+  "ge-0/0/1": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/10": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/11": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/12": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/13": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/14": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/15": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/16": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/17": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/18": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/19": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/2": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/20": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/21": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/22": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/23": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/24": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/25": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/26": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/27": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/28": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/29": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/3": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/30": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/31": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/32": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/33": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/34": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/35": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/36": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/37": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/38": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/39": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/4": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/40": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/41": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/42": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/43": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/44": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/45": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/46": {
+    "rx_broadcast_packets": 190,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 37,
+    "rx_octets": 114584908,
+    "rx_unicast_packets": 1390604,
+    "tx_broadcast_packets": 23008,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 10037827,
+    "tx_octets": 1496970147,
+    "tx_unicast_packets": 1410736
+  },
+  "ge-0/0/46.0": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 73783776,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 1377493364,
+    "tx_unicast_packets": -1
+  },
+  "ge-0/0/47": {
+    "rx_broadcast_packets": 130,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 55,
+    "rx_octets": 113437874,
+    "rx_unicast_packets": 1433255,
+    "tx_broadcast_packets": 8976,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 9860066,
+    "tx_octets": 1463153580,
+    "tx_unicast_packets": 1427754
+  },
+  "ge-0/0/47.0": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 73864056,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 1377393544,
+    "tx_unicast_packets": -1
+  },
+  "ge-0/0/5": {
+    "rx_broadcast_packets": 32,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 87,
+    "rx_octets": 24001,
+    "rx_unicast_packets": 6,
+    "tx_broadcast_packets": 68,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 28,
+    "tx_octets": 31303,
+    "tx_unicast_packets": 1
+  },
+  "ge-0/0/6": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/7": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/8": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "ge-0/0/9": {
+    "rx_broadcast_packets": 0,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 0,
+    "rx_octets": 0,
+    "rx_unicast_packets": 0,
+    "tx_broadcast_packets": 0,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 0,
+    "tx_octets": 0,
+    "tx_unicast_packets": 0
+  },
+  "gre": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 0,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 0,
+    "tx_unicast_packets": -1
+  },
+  "ipip": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 0,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 0,
+    "tx_unicast_packets": -1
+  },
+  "jsrv": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": -1,
+    "rx_octets": 0,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": -1,
+    "tx_octets": 0,
+    "tx_unicast_packets": -1
+  },
+  "jsrv.1": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 0,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 42,
+    "tx_unicast_packets": -1
+  },
+  "lo0": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": -1,
+    "rx_octets": 610476,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": -1,
+    "tx_octets": 610476,
+    "tx_unicast_packets": -1
+  },
+  "lo0.2": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 336,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 336,
+    "tx_unicast_packets": -1
+  },
+  "lo0.3": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 0,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 0,
+    "tx_unicast_packets": -1
+  },
+  "lo0.16384": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 0,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 0,
+    "tx_unicast_packets": -1
+  },
+  "lsi": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": -1,
+    "rx_octets": 0,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": -1,
+    "tx_octets": 0,
+    "tx_unicast_packets": -1
+  },
+  "me0": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": 0,
+    "rx_errors": 1206,
+    "rx_multicast_packets": -1,
+    "rx_octets": 1899695215,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": -1,
+    "tx_octets": 443639407,
+    "tx_unicast_packets": -1
+  },
+  "me0.0": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 1899695215,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 443639407,
+    "tx_unicast_packets": -1
+  },
+  "mtun": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 0,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 0,
+    "tx_unicast_packets": -1
+  },
+  "pimd": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 0,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 0,
+    "tx_unicast_packets": -1
+  },
+  "pime": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 0,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 0,
+    "tx_unicast_packets": -1
+  },
+  "tap": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": -1,
+    "rx_octets": 0,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": -1,
+    "tx_octets": 0,
+    "tx_unicast_packets": -1
+  },
+  "vcp-0": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": -1,
+    "rx_octets": 0,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": -1,
+    "tx_octets": 0,
+    "tx_unicast_packets": -1
+  },
+  "vcp-0.32768": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 0,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 0,
+    "tx_unicast_packets": -1
+  },
+  "vcp-1": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": -1,
+    "rx_octets": 0,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": -1,
+    "tx_octets": 0,
+    "tx_unicast_packets": -1
+  },
+  "vcp-1.32768": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 0,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 0,
+    "tx_unicast_packets": -1
+  },
+  "vlan": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": -1,
+    "rx_octets": 293359278,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": -1,
+    "tx_octets": 292202823,
+    "tx_unicast_packets": -1
+  },
+  "vlan.2": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 408694411,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 105920709,
+    "tx_unicast_packets": -1
+  },
+  "vlan.3": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 151937946,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 61215610,
+    "tx_unicast_packets": -1
+  },
+  "vme": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": -1,
+    "rx_octets": 0,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": -1,
+    "tx_octets": 0,
+    "tx_unicast_packets": -1
+  },
+  "xe-0/1/0": {
+    "rx_broadcast_packets": 16013,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 605353,
+    "rx_octets": 431446168,
+    "rx_unicast_packets": 2781511,
+    "tx_broadcast_packets": 16378,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 682594,
+    "tx_octets": 466070265,
+    "tx_unicast_packets": 2639438
+  },
+  "xe-0/1/0.0": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 148573750,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 169817826,
+    "tx_unicast_packets": -1
+  },
+  "xe-0/1/0.2": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 163654151,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 154503192,
+    "tx_unicast_packets": -1
+  },
+  "xe-0/1/0.3": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 152698428,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 153470250,
+    "tx_unicast_packets": -1
+  },
+  "xe-0/1/2": {
+    "rx_broadcast_packets": 9775,
+    "rx_discards": 0,
+    "rx_errors": 0,
+    "rx_multicast_packets": 1770946,
+    "rx_octets": 352273601,
+    "rx_unicast_packets": 839944,
+    "tx_broadcast_packets": 339188,
+    "tx_discards": 0,
+    "tx_errors": 0,
+    "tx_multicast_packets": 632800,
+    "tx_octets": 321048601,
+    "tx_unicast_packets": 778949
+  },
+  "xe-0/1/2.0": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 96293886,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 166748144,
+    "tx_unicast_packets": -1
+  },
+  "xe-0/1/2.2": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 32206317,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 33016151,
+    "tx_unicast_packets": -1
+  },
+  "xe-0/1/2.3": {
+    "rx_broadcast_packets": -1,
+    "rx_discards": -1,
+    "rx_errors": -1,
+    "rx_multicast_packets": -1,
+    "rx_octets": 31339630,
+    "rx_unicast_packets": -1,
+    "tx_broadcast_packets": -1,
+    "tx_discards": -1,
+    "tx_errors": -1,
+    "tx_multicast_packets": -1,
+    "tx_octets": 32557099,
+    "tx_unicast_packets": -1
+  }
+}